【ThreadX-GUIX】Azure RTOS GUIX和Azure RTOS GUIX Studio概述

Azure GUIX嵌入式GUI是Microsoft的高级工业级GUI解决方案,专门针对深度嵌入式,实时和IoT应用程序而设计。Microsoft还提供了名为Azure RTOS GUIX Studio的功能齐全的WYSIWYG桌面设计工具,该工具使开发人员可以在桌面上设计其GUI并生成Azure RTOS GUIX嵌入式GUI代码,然后将其导出到目标。Azure RTOS GUIX与Azure RTOS ThreadX RTOS完全集成,可用于Azure RTOS ThreadX支持的许多相同处理器。所有这些都与极小的占地面积,快速的执行和卓越的易用性相结合,使Azure RTOS GUIX成为需要用户界面的要求最苛刻的嵌入式IoT应用程序的理想选择。

Azure RTOS GUIX API

直观一致的API

  • 名词动词命名约定

  • 所有API均具有领先的gx_,可轻松识别为Azure RTOS GUIX

  • 事件驱动的编程模型(API)

  • 必要时完全支持直接画布绘制

  • 易于与Azure RTOS GUIX Studio生成的代码进行交互

  • 线,矩形,多边形等的API

  • 圆形,弧形,饼形,和弦,椭圆形等的API

  • 用于文本绘制和定位的API

  • 抗锯齿,纹理填充和实体填充

  • 用于创建和修改屏幕和小部件的API

Azure RTOS GUIX Studio生成的文件

  • 自动生成的ANSI C源文件

  • 使应用程序软件与布局细节隔离

  • 包括UI设计所需的字体和图像

  • 使用应用程序代码编译的生成文件

  • 屏幕布局可以更新,而不会影响应用程序逻辑

  • 资源ID创建语言和主题独立性

  • 用户提供的自定义绘图和事件处理功能

小部件库

  • 预定义但可自定义的一组通用接口元素

  • 极小,紧凑和高效

  • 库包括按钮,量规,列表,窗口,滚动,滑块,进度条,提示等

  • 完全可定制的图纸和外观

  • 完全可定制的操作和事件处理

  • 仅使用的小部件与应用程序软件链接

数学和实用程序

  • 正弦,余弦,反正弦,反余弦,正切,平方根的函数

  • 操纵屏幕区域的功能

  • 系统配置和启动

  • 内存池定义(可选)

  • 计时器管理

  • 动画管理

  • 脏清单维护

图像处理

  • jpeg和png图像的运行时解码功能

  • 应用抖动和色彩空间转换

  • 影像旋转

  • 图像缩放

  • 图像融合

事件处理

  • 空闲时自动挂起Azure RTOS GUIX线程

  • UI设计中流行的事件驱动编程模型

  • 将输入驱动程序与Azure RTOS GUIX绘图线程隔离

  • 发送和接收事件的功能

  • 所有Azure RTOS GUIX小部件类型的预定义事件类型

  • 支持用户定义的自定义事件

帆布加工

  • 裁剪和Z顺序维护

  • 使小部件库与硬件详细信息隔离

  • 使应用程序与硬件细节隔离

  • 自动后台刷新脏区

  • 支持具有分层和混合功能的多个画布

  • 可以由应用程序软件直接调用

输入设备驱动程序

  • 特定于硬件的支持,Azure RTOS GUIX和与硬件详细信息隔离的应用程序

  • 支持电阻式触摸,大写触摸和键盘

  • 输入事件传递到Azure RTOS GUIX事件队列

显示驱动器

  • 特定于硬件的支持

  • 提供了适用于所有颜色深度和格式的通用驱动程序

  • 定制以利用可用的图形加速器

目标硬件

  • 几乎所有能够进行图形输出的硬件都与GUIX兼容

  • 支持多种物理显示

  • 最小的RAM和闪存要求

创建精美的用户界面

Azure RTOS GUIX和Azure RTOS GUIX Studio提供了创建唯一优雅的用户界面所需的所有功能。标准的Azure RTOS GUIX软件包包括各种示例用户界面,包括医疗设备参考,智能手表参考,家庭自动化参考,工业控制参考,汽车参考以及各种sprite和动画示例。请单击下面显示的参考示例。

家庭自动化

医疗类

消费者

白色商品

汽车行业

产业

每个Azure RTOS GUIX引用都有一个对应的Azure RTOS GUIX Studio项目,该项目定义了参考设计的所有图形元素。更改参考设计很容易。只需打开相应的Azure RTOS GUIX项目,进行所需的更改,保存项目,然后选择Project

生成所有输出文件以生成Azure RTOS GUIX的C代码。然后,只需重建目标应用程序并运行即可观察修改后的参考设计。

小足迹

Azure RTOS GUIX的最小占用空间非常小,只有13.2KB的FLASH和4KB的RAM用于基本支持,不包括画布所需的内存。

对于具有内部GRAM和自刷新技术的显示器,不需要画布内存。但是,为了提高绘图性能,或者对于不使用显示器本地GRAM的显示器配置,应用程序定义了画布存储区域。

画布内存需求是画布大小以及颜色深度的函数,并由以下公式定义:

画布RAM(字节)=(x * y *(bpp / 8))

其中“ x”和“ y”是画布(显示)的尺寸。

大多数应用程序还利用图形资源,这些资源不包含在核心Azure RTOS GUIX库存储要求中。这些资源包括字体,图形图标(像素图)和静态字符串。该数据可以存储在const存储区(即FLASH)中。

该存储区的大小取决于许多因素,包括使用的唯一字体的数量和大小,使用的图形图标的数量和大小,输出颜色格式以及每个资源是否使用压缩数据,因为Azure RTOS GUIX支持字体和像素图数据的RLE压缩。在Azure RTOS GUIX Studio应用程序中显示每种资源的存储要求,从而允许用户跟踪和监视应用程序资源将消耗的闪存量。

与Azure RTOS ThreadX一样,Azure RTOS GUIX的大小会根据应用程序实际使用的服务自动缩放。这实际上消除了对复杂配置和构建参数的需求,使开发人员更轻松。

快速执行

Azure RTOS GUIX是专门用C编写的,旨在提高速度。Azure RTOS GUIX具有最小的内部函数调用分层。

此外,Azure RTOS GUIX还提供了优化的剪辑,绘制和事件处理。所有这些以及通用的面向性能的设计理念可帮助Azure RTOS GUIX实现最快的性能。

通过TUV预先认证,符合许多安全标准

根据IEC-61508 SIL 4,IEC-62304 SW安全等级C,ISO 26262 ASIL D和EN 50128,Azure RTOS GUIX已通过SGS-TUV Saar认证,可用于安全关键型系统。该认证确认Azure RTOS GUIX可以用于安全相关软件的开发,以达到IEC-61508,IEC-62304,ISO 26262和EN 50128的最高安全完整性等级,以用于“电气,电子和可编程电子安全相关系统的功能安全”。SGS-TUV萨尔公司由德国SGS-Group和TUV萨尔州的合资企业组成,现已成为领先的经认证的独立公司,致力于测试,审核,验证和认证全球安全相关系统的嵌入式软件。工业安全标准IEC 61508及其衍生的所有标准,包括IEC-62304,ISO 26262和EN 50128,

SGS-TUV萨尔

简单易用

Azure RTOS GUIX的使用非常简单,Azure RTOS GUIX Studio允许开发人员在桌面上直观地设计并生成在实际目标上运行的C代码,从而使其变得更加容易。然后,应用程序可以添加自己的自定义事件处理和绘图功能,以完成其GUI。

使用Azure RTOS GUIX API很简单。Azure RTOS GUIX API既直观又功能强大。API名称是用真实的词而不是其他文件系统产品中常见的“字母汤”和/或高度缩写的名称组成的。所有Azure RTOS GUIX API都有前导gx_并遵循名词-动词命名约定。此外,整个API都具有功能一致性。例如,所有初始化窗口小部件控制块的API均命名为<widget_type> _create,并且每种窗口小部件类型的create function参数始终以相同的顺序定义。

全面的内置小部件集

  • Azure RTOS GUIX提供了一组丰富的内置小部件,包括:

  • 手风琴菜单

  • 纽扣

  • 复选框

  • 圆规

  • 下拉列表

  • 水平清单

  • 水平滚动条窗口

  • 图标

  • 图标按钮

  • 折线图

  • 菜单

  • 多行文字按钮

  • 多行文字输入

  • 多行文字检视

  • 数字像素图提示

  • 数字提示

  • 数字滚轮

  • 像素图按钮

  • 像素图提示

  • 像素图滑块

  • 像素图精灵

  • 进度条

  • 提示

  • 径向进度栏

  • 单选按钮

  • 滚轮

  • 单行文字输入

  • 滑杆

  • 弦滚轮

  • 文字按钮

  • 树视图

  • 垂直清单

  • 垂直滚动条

应用程序也很容易创建自己的客户小部件。

完整的底层绘图API

Azure RTOS GUIX提供了强大的画布绘图API,允许应用程序呈现复杂的图形形状。

所有功能都支持高色深目标上的抗锯齿,并且所有形状都可以填充我们的轮廓,包括实心和像素图图案填充。当以16 bpp和更高的色深运行时,所有绘图图元均支持笔刷alpha。绘图功能包括:

  • 圆弧抽奖

  • 画圆

  • 画线

  • 派画

  • 像素图混合

  • 像素贴图

  • 多边形绘制

  • 文字画

  • 和弦抽奖

  • 椭圆抽奖

  • 像素画

  • 像素图绘制

  • 像素图旋转

  • 矩形画

  • 文字融合

默认免费字体,易于添加更多

Azure RTOS GUIX提供了一组免费的TrueType字体。开发人员可以根据需要添加其他TrueType字体。

Azure RTOS GUIX字体格式支持8bpp抗锯齿,4bpp抗锯齿和1bpp单色字体。对于大多数资源受限的应用程序,Azure RTOS GUIX使用我们的GUIX Studio桌面工具将TrueType字体预先渲染为压缩的位图格式。

自定义JPG和PNG解码器实现

定制JPG和PNG解码器实现JPG和PNG文件解码器实现。此实现支持与Azure RTOS GUIX兼容的像素图格式图像的色彩空间转换,抖动和运行时创建。

广泛的显示和触摸屏支持

Azure RTOS GUIX提供几乎所有颜色格式的通用显示驱动程序,包括1bpp单色,8 bpp调色板,8 bpp 3:3:2格式,

16 bpp 565 rgb格式,16 bpp 4:4:4:4格式,32 bpp x:r:g:b格式和32 bpp a:r:g:b格式。此外,Azure RTOS GUIX与许多最流行的LCD控制器和硬件加速器(ST ChromeArt,Renesas Synergy等)集成在一起。

Azure RTOS GUIX完全支持触摸屏(包括手势支持),笔和虚拟键盘输入设备。

Azure RTOS GUIX Studio桌面所见即所得工具

Azure RTOS GUIX Studio提供了完整的WYSIWYG屏幕设计环境,允许用户拖放用于构建GUI屏幕的图形元素。Azure RTOS GUIX Studio自动生成与Azure RTOS GUIX库兼容的C代码,可以在目标上编译并运行。开发人员可以使用集成的Azure RTOS GUIX Studio字体生成工具来生成预渲染的字体,以供在应用程序中使用。字体可以单色或抗锯齿格式生成,并经过优化以节省目标空间。字体可以包含任何字符集,包括用于多语言应用程序的Unicode字符。

Azure RTOS GUIX Studio可以从PNG或JPG文件导入图形,并转换为压缩的Azure RTOS GUIX Pixelmap,以在目标系统上使用。许多Azure RTOS GUIX窗口小部件类型旨在合并用户图形以实现自定义外观。此外,Azure RTOS GUIX Studio允许自定义Azure RTOS GUIX小部件使用的默认颜色和绘图样式,从而使开发人员可以非常轻松地调整Azure RTOS GUIX的外观。应用程序字符串的生成和维护是Azure RTOS GUIX Studio的另一个内置功能。这使开发人员可以使用一种语言来设计应用程序进行开发,并在产品发布后快速轻松地添加对其他语言的支持。完整的Azure RTOS GUIX应用程序可以在Azure RTOS GUIX Studio环境中的PC桌面上执行,从而可以快速轻松地生成和演示GUI概念,测试屏幕流以及观察屏幕过渡和动画。完成后,可以将设计导出为目标就绪的C数据结构,准备进行编译并与Azure RTOS GUIX和Azure RTOS ThreadX库链接。

Azure RTOS GUIX和Azure RTOS GUIX Studio支持多个资源主题,从而可以在运行时轻松调整应用程序的外观。字体,颜色和像素图可以在运行时使用一个简单的API进行更改。

了解有关GUIX Studio的更多信息

完整的Win32模拟

Azure RTOS GUIX使用与目标板上运行的图形库完全相同的图形库在Windows PC上运行。使用Azure RTOS GUIX,可以在PC上构建和运行GUI应用程序,并在目标上使用相同的应用程序代码进行调试,快速原型制作,演示和所见即所得目标操作。

先进的技术

  • Azure RTOS GUIX的先进技术包括:

  • 阿尔法混合

  • 抗锯齿

  • 自动缩放

  • 位图压缩

  • 画布融合

  • 自定义小部件支持

  • 递延图纸支持

  • 抖动支持

  • 字节序中性编程

  • 硬件加速器支持

  • 多语言支持和UTF-8编码

  • 多种显示和画布支持

  • 优化的剪辑,绘图和事件处理

  • 运行时JPEG和PNG解码器

  • 外观和主题

  • 支持具有alpha图形格式的单色到32位真彩色

  • 过渡,精灵和动画支持

  • Win32模拟

  • 窗口管理,包括视口和Z顺序维护

最快的上市时间

Azure RTOS GUIX易于安装,学习,使用,调试,验证,认证和维护。Azure RTOS GUIX Studio还有助于简化嵌入式GUI的设计和实现。因此,Azure RTOS GUIX是嵌入式IoT设备最受欢迎的GUI解决方案之一。我们始终如一的上市时间优势建立在:

  • 质量文档–请查看我们的《Azure RTOS GUIX用户指南》,自己看看!

  • 完整的源代码可用性

  • 易于使用的API

  • 全面和高级功能集

一份简单的许可证

将其部署到预许可的设备上,无需花费任何使用和测试源代码的费用,也无需生产许可证的费用,所有其他设备都需要简单的年度许可证。

完整,最高质量的源代码

多年来,Azure RTOS NetX源代码在质量和易于理解方面树立了标杆。此外,每个文件具有一个功能的约定可简化源导航。

Azure RTOS GUIX在开箱即用,经过全面测试和完全支持的最受欢迎的32/64位微处理器上运行,包括以下各项:

先进的架构:

Analog Devices: SHARC, Blackfin, CM4xx

Andes Core: RISC-V

Ambiqmicro: Apollo MCUs

ARM: ARM7, ARM9, ARM11, Cortex-M0/M3/M4/M7/A15/A5/A7/A8/A9/A5x 64-bi/A7x 64-bit/R4/R5, TrustZone ARMv8-M

Cadence: Xtensa, Diamond

CEVA: PSoC, PSoC 4, PSoC 5, PSoC 6, FM0+, FM3, MF4, WICED WiFi

Cypress: RISC-V

EnSilica: eSi-RISC

Infineon: XMC1000, XMC4000, TriCore

Intel & Intel FPGA: x36/Pentium, XScale, NIOS II, Cyclone, Arria 10

Microchip: AVR32, ARM7, ARM9, Cortex-M3/M4/M7, SAM3/4/7/9/A/C/D/E/G/L/SV, PIC24/PIC32

Microsemi: RISC-V

NXP: LPC, ARM7, ARM9, PowerPC, 68 K, i.MX, ColdFire, Kinetis Cortex-M3/M4

Renesas: SH, HS, V850, RX, RZ, Synergy

Silicon Labs: EFM32

Synopsys: ARC 600, 700, ARC EM, ARC HS

ST: STM32, ARM7, ARM9, Cortex-M3/M4/M7

Tl: C5xxx, C6xxx, Stellaris, Sitara, Tiva-C

Wave Computing: MIPS32 4K, 24 K, 34 K, 1004 K, MIPS64 5K, microAptiv, interAptiv, proAptiv, M-Class

Xilinx: MicroBlaze, PowerPC 405, ZYNQ, ZYNQ UltraSCALE

来源

原文地址:https://www.cnblogs.com/skullboyer/p/13022646.html