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
【來源】