最新教程下載:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429
第1章 當前主流的小型嵌入式GUI
這幾年Cortex-M系列單片機發展迅猛,功能也越來越強勁,隨之而來的就是小型嵌入式GUI也得到很好的發展。本章節就為大家介紹下當前主流的小型嵌入式GUI。
1.1 當前主流的嵌入式GUI
1.2 TouchGFX介紹
1.3 Embedded Wizard GUI介紹
1.4 emWin(uCGUI)介紹
1.5 Qt for MCU介紹
1.6 Crack Storyboard介紹
1.7 Altia GUI介紹
1.8 μGFX介紹
1.9 ThreadX GUIX介紹
1.10 總結
1.1 當前主流的嵌入式GUI
當前主流的小型嵌入式GUI主要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,uGFX,MicroChip GUI ,Qt for MCU,Crack Storyboard,Altia GUI,ThreadX GUIX等。當然,還有其它的GUI,這里把前面說到的其中幾款GUI給大家進行簡單的介紹。
1.2 TouchGFX介紹
TouchGFX發布已經有5-6個年頭了,以界面華麗,流暢以及強勁的TouchGFX Designer著稱。官方地址:https://www.touchgfx.com/ 。
2018年,正式被ST收購,當前主要用於STM32平台。下面貼幾張TouchGFX實際的顯示效果:
下面是TouchGFX Designer的軟件效果,功能比較強勁,讓界面的創建變得比較容易:
關於TouchGFX的介紹就給大家說這么多,更多相關知識可以到TouchGFX的官網去查看。從上面的幾張圖可以看出,TouchGFX設計的界面效果還是很漂亮的。
TouchGFX在STM32官方探索板或者評估板上面的演示效果:
- TouchGFX在STM32F429上面的超炫演示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=8064
- TouchGFX在STM32F469上面的超炫演示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=15152
- TouchGFX在STM32F769上面的超炫演示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=17901
- TouchGFX在STM32H750上面的超炫演示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=94379
1.3 Embedded Wizard GUI介紹
Embeded Wizard GUI也是發布了5-6年的嵌入式GUI,同樣以華麗,流暢的界面和強勁的GUIBuilder著稱。官方地址:http://www.embedded-wizard.de/ 。
下面貼幾張Embeded Wizard GUI實際的顯示效果:
獨創Chora界面編程語言,讓大家的界面編程極其簡單,GUIBuilder上面含有非常多的控件,皮膚和主題供用戶選擇,且支持調試,實際效果如下:
關於Embeded Wizard GUI的介紹就給大家說這么多,更多相關知識可以到Embeded Wizard GUI的官網去查看。從上面的幾張圖可以看出,Embeded Wizard GUI設計的界面效果還是很漂亮的。美中不足的是Embeded Wizard GUI也是要收費的,具體收費標准看這里:http://www.embedded-wizard.de/pricing.html
Embeded Wizard GUI在STM32官方探索板或者評估板上面的演示效果:
- Embeded Wizard GUI在STM32F746上面的超炫演示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=10850
- Embeded Wizard GUI在STM32F769上面的超炫演示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19548
1.4 emWin(uCGUI)介紹
emWin屬於老牌的嵌入式GUI了,有着20年的歷史了,軟件架構和功能比較成熟了。關於emWin的介紹可以看我們的第1版emWin教程,第2版emWin教程和第3版emWin教程。官方地址:https://www.segger.com/products/user-interface/emwin/
- emWin教程第1版
http://www.armbbs.cn/forum.php?mod=viewthread&tid=2932
- emWin教程第2版
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834
- emWin教程第3版
http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429
- emWin(uCGUI)更新記錄
emWin(uCGUI)的歷史比較悠久了,首版發布於1999年6月,下面是從V1.0開始的部分更新記錄。
Version control for emWin/GSC 000804 V1.32 a) various changes implemented 000403 V1.30f a) LCD.h V1.30 used 000327 V1.30e a) LCD.h V1.06a used 000323 V1.30d a) GUIArcFloat.c included 000323 V1.30c a) LCD.h V1.06 used 000229 V1.30b a) Improved Unicode support in GUIChar.c 000217 V1.30a a) LCD_Color update to V1.16 (grayscale support in 8666 mode) 000211 V1.30 a) 2 new info functions for fonts implemented b) Unicode string support added 991210 V1.28d a) GUIChar.C: GUI_DispStringHCenter added b) Compile Warnings eliminated 991210 V1.28c a) GUI2DGL.C splitted 991204 V1.28b a) GUI_Context.AWin init modified 991203 V1.28a a) GUI2DGL init now initializes GUI_Context.AWin 991203 V1.28 a) LCDColor updated (support for 3bpp) 991129 V1.26d a) GUIChar.C update (1.20c) 991129 V1.26c a) GUI2DGL.C update (reg. LCD_Init) 991110 V1.26b a) GUIChar.h update 991110 V1.26a a) GUI.H: System defines (Keys etc) added 991109 V1.26 a) GUI2DCL.C eliminated 991018 V1.24 a) All value display routines rewritten in order to support writing into a string (which is helpful for other modules, like Progbar etc.) b) Type cast added in GUI_GetCharDistX in order to make sure characters above 128 are properly handled 991018 V1.22b a) LCDChar.c 1.20.02 used 991018 V1.22a a) LCDColor V1.12a used 991018 V1.22 a) Support for 8666 mode (LCDColor V1.12 used) 991015 V1.21.10 a) LCDColor.c update V1.10f 991014 V1.21.09 a) GUI2DGL.C update 1.02.05 991014 V1.21.08 a) GUI.h: Define for GUI_LIGHTBLUE changed 991012 V1.21.07 a) LCDColor.c: Color translation in 8bpp mode with fixed table as default added 991011 V1.21.06 a) LCDCOLOR.C V1.10.04 used 991009 V1.21.05 a) new GUI2DGL.C used 990927 V1.21.04 a) LCDColor.C: LCD_Color2Color15: Blue and red in return value swapped 990926 V1.21.03 a) Clipping on entire region for cursor 990921 V1.21.02 a) Add. locking support for thread safety 990918 V1.21.00 a) New file GUITASK.C added for thread safety 990909 V1.20.05 GUI2DCL.c: clean up 990901 V1.20.04 Config sample changed 990831 V1.20.02 GUIChar V1.10.01 in order to avoid compiler warnings 990821 V1.20.01 GUI: Small changes to avoid compiler warnings 990821 V1.20.00 Files reorganized, GUIX, GUIFONT, GUIFONTX directories created 990821 V1.14.01 WMID.H eliminated 990820 V1.14.00 LCDMEM4.C added LCDChar.C: GUI_DispStringCenterAt added 990810 V1.12.03 GUI.H cleanup, Sample\GUIConf.h cleaned up 990809 V1.12.02 GUIColor changed in order to ensure proper function with 16-bit CPUs 990804 v1.12.01 Some compiler warnings generated by the IAR compiler eliminated, code cleaned up 990802 V1.12.00 Font files now in seperate directory LCDWIN.C --> LCDWIN.CPP, now exports a routine to display the BITMAP under Windows 990725 v1.10.00 Dynamic fonts are supported (Fontkonverter compatible) 990720 v1.04.01 New version LCD135X.C 990713 v1.04.00 LCD135X.C: V1.10 LCDColor.C: V1.10 990712 V1.03.05 LCD15XX.C: V1.31.01 990709 V1.03.04 LCD15XX.C: V1.30.03 990709 V1.03.03 LCD15XX.C: V1.30.01 990708 V1.03.02 LCD15XX.C: V1.21.02 990615 V1.03.01 GL_DrawArc now works with degrees 990615 V1.03 Drawarc implemented 990615 V1.02 New Version LCD15XX.C: 1.21 990614 V1.01 New version of LCD15XX.C with support for Segment COM lookup tables 990610 V1.00 ** Initial version for version control purpose
1.5 Qt for MCU介紹
Qt官方在2018年的Embedded World上做了F429和F769的展示,但非常卡。2019年8月份的時候帶來ST的F7,瑞薩的RH850和NXP的i.MX RT1050視頻展示,比之前流暢了很多。
到了2019 Qt峰會的時候,正式發布Qt for MCU V1.0。
- Qt for MCU視頻展示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=95912 。
- Qt for MCU 收費
https://www.qt.io/buy-product/ 。
1.6 Crack Storyboard介紹
Storyboard也有一款非常優秀的GUI設計器,能夠大大的加速GUI的設計,而且足夠絢麗,各種儀表,工控,醫療,物聯網等都能很好的支持。官方地址:https://www.cranksoftware.com/ 。
當前支持的廠家如下:
Storyboard軟件界面效果:
- Storyboard Suite 5.0視頻展示
視頻效果還是比較炸的。
http://www.armbbs.cn/forum.php?mod=viewthread&tid=53640 。
- Storyboard收費方式
https://www.cranksoftware.com/storyboard-pricing-licensing 。
1.7 Altia GUI介紹
Altia有將近30年的發展史,並且通過了AutomotiveSPICE汽車級HMI的一級認證,這個認證共分為6個級別,0到5級,其中第5級是最高等級。官方地址:https://www.altia.com/ 。
Altia GUI的圖形開發軟件更是極其強勁。有如下三款軟件組成:
(1)人機交互界面集成開發環境 — Altia Design。
(2)自動代碼生成工具 — Altia DeepScreen
(3)在Adobe Photoshop中構建交互式用戶界面資源 — Altia PhotoProto
支持的硬件平台:
效果展示:
- Altia GUI視頻效果展示
http://www.armbbs.cn/forum.php?mod=viewthread&tid=30737 。
- Altia GUI收費方式
Altia GUI也是收費軟件, 具體收費方式要聯系要聯系他們獲取。
1.8 μGFX介紹
μGFX也是這幾年才發布的嵌入式GUI,界面效果不像TouchGFX那么華麗,不過功能也是簡單實用。同樣有一款不錯的GUIBuilder。官方地址:http://www.ugfx.org/ 。支持的硬件平台,RTOS和顯示屏驅動在這里有詳細說明:http://www.ugfx.org/platforms.html ,就不單獨整理出來了。
下面貼幾張μGFX實際的顯示效果:
下面是μGFX軟件效果:
關於μGFX的介紹就給大家說這么多,更多相關知識可以到μGFX的官網去查看。從上面的幾張圖可以看出,雖然μGFX界面不夠華麗,但還算實用。μGFX也是要收費的,具體收費標准看這里:http://www.ugfx.org/pricing.html 。
1.9 ThreadX GUIX介紹
由於ThreadX GUIX是本教程要講解的,專門在第 3 章進行了介紹,這就不再展開講述了
1.10 總結
本章主要為大家講解了幾款主流的嵌入式GUI,讓大家對當前的小型嵌入式GUI有一個整體的了解,更多關於這幾款GUI的知識可以上其官網進行了解和學習。