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

简单易用
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
【来源】
【ThreadX-GUIX】Azure RTOS GUIX和Azure RTOS GUIX Studio概述的更多相关文章
- Windows Azure Storage (20) 使用Azure File实现共享文件夹
<Windows Azure Platform 系列文章目录> Update 2016-4-14.在Azure VM配置FTP和IIS,请参考: http://blogs.iis.net/ ...
- Azure PowerShell (5) 使用Azure PowerShell创建简单的Azure虚拟机和Linux虚拟机
<Windows Azure Platform 系列文章目录> 本文介绍的是国外的Azure Global.如果是国内由世纪互联运维的Azure China,请参考这篇文档: Azure ...
- Add Office 365 Azure Directory into Windows Azure
Add Office 365 Azure Directory into Windows Azure Pre-Requisite: 1.Azure Subscription to the Microso ...
- Azure China (10) 使用Azure China SAS Token
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 注意:本文介绍的是Azure China Storage Priva ...
- Azure China (5) 管理Azure China Powershell
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China Cloud Update 2015-09-01 发现一个新的命令,在 ...
- Windows Azure Web Site (13) Azure Web Site备份
<Windows Azure Platform 系列文章目录> 我们在使用Windows Azure Web Site的时候,经常会遇到需要对Web Site进行备份的情况.在这里笔者简单 ...
- Linux上使用Azure CLI来管理Azure
在Windows上我们有强大的Powershell提供各种命令来管理Azure的服务,在Linux上微软提供了基于Node.JS的跨平台的Azure Command Line来帮助Linux用户来管理 ...
- Azure Web连接到Azure MySql Db
这个问题折腾了好一会,简单记录一下. 两种方式: 输入"规则名称"."起始 IP"和"结束 IP",然后单击"保存". ...
- Windows Azure Web Site (18) Azure Web App设置MIME
<Windows Azure Platform 系列文章目录> 在笔者之前的文章中,介绍了我们在使用Azure Web App,可以把静态资源保存到Azure Storage中: Wind ...
- Windows Azure Virtual Machine (35) Azure VM通过Linked DB,执行SQL Job
<Windows Azure Platform 系列文章目录> 今天遇到一个Case,客户在使用Azure Automation,执行Azure SQL Database 存储过程的时候, ...
随机推荐
- python tkinter 使用(二)
python tkinter 使用(二) 本篇文章着重讲下tkinter中messagebox的使用. 1:提示框 def showinfo(event): messagebox.showinfo(& ...
- Python脚本猜解网站登录密码(带token验证)
目录: 关键代码解释 设置请求头 get_token函数获取token值 完整代码: 运行结果: 上一篇文章:一个简单的Python暴力破解网站登录密码脚本 测试靶机为Pikachu漏洞练习平台暴力破 ...
- JavaFx之全局异常捕获(二十)
JavaFx之全局异常捕获(二十) javafx开发时,我们有时候需要捕获未处理的异常.手动抛出的异常,在main方法中添加下面代码: public static void main(String[] ...
- Spring 中循环依赖的处理
Spring 提供了十分强大的依赖注入功能,使得我们不再需要手动去管理对象的依赖项.然而,在实际的使用场景中,可能会遇到类似下面的依赖异常: Exception encountered during ...
- Terraform 的开源替代:OpenTofu 宣布 GA!
OpenTofu 社区于1月10日宣布 OpenTofu 项目 GA,这是 OpenTofu 的首个稳定版本(https://github.com/opentofu/opentofu/releases ...
- Feign源码解析5:loadbalancer
背景 经过前面几篇的理解,我们大致梳理清楚了FeignClient的创建.Feign调用的大体流程,本篇会深入Feign调用中涉及的另一个重要组件:loadbalancer,了解loadbalance ...
- curl使用小记(三)——获取远端数据到内存缓冲区
目录 1. 概述 2. 实现 3. 参考 1. 概述 我在博文<curl使用小记(二)--远程下载一张图片>中介绍了如何通过Curl获取远端的文件.不过在那个例子中,将获取远端数据与写入数 ...
- 三大基础方案和AI出海计划重磅发布!加速盘古大模型生态发展
本文分享自华为云社区<三大基础方案和AI出海计划重磅发布!加速盘古大模型生态发展>,作者: 华为云头条. 近日,以"开放同飞,共赢行业AI新时代"为主题的华为云盘古大模 ...
- 详解NLP和时序预测的相似性【附赠AAAI21最佳论文INFORMER的详细解析】
摘要:本文主要分析自然语言处理和时序预测的相似性,并介绍Informer的创新点. 前言 时序预测模型无外乎RNN(LSTM, GRU)以及现在非常火的Transformer.这些时序神经网络模型的主 ...
- STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁
摘要:设计一款物联网智能电子密码锁,以STM32单片机为主控制器,由触摸矩阵键盘.ESP8266.步进电机等模块组成,具有远程控制.随机密码生成等功能. 本文分享自华为云社区<STM32+华为云 ...