• 【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

    来源

  • 相关阅读:
    Vue过滤器使用
    vue基础
    lesson
    lesson
    lesson
    lesson
    rm 命令详解
    alias 命令详解
    cd 命令详解
    cut 命令详解
  • 原文地址:https://www.cnblogs.com/skullboyer/p/13022646.html
Copyright © 2020-2023  润新知