在嵌入式系統(tǒng)開發(fā)中,選擇一個合適的圖形用戶界面(GUI)庫
是至關(guān)重要的。在屏幕上顯示的時候,使用現(xiàn)成的圖形庫
,這樣開發(fā)人員就不需要弄清楚底層任務(wù),例如如何繪制像素、線條、形狀,如果再高級一點,則可以繪制某些對象,例如窗口、按鈕等。
第一期我們介紹了5個,今天繼續(xù)介紹5個。
MCU 的 TOP 15 圖形GUI庫:選擇最適合你的圖形用戶界面(一)
下面將介紹5個
備受歡迎的嵌入式GUI庫,分析它們的特點、優(yōu)缺點、使用場景以及生態(tài)系統(tǒng)
,以便開發(fā)人員能夠更好地選擇適合自己項目的GUI庫。
6、Qt for MCU
https://www.qt.io/product/develop-software-microcontrollers-mcu
Qt for MCU 是Qt框架
的一個版本,是一個完整的圖形框架和工具包
,專為嵌入式系統(tǒng)設(shè)計。Qt本身是一款強大、跨平臺
的C++圖形用戶界面開發(fā)框架,而Qt for MCU則專注于在資源受限的嵌入式環(huán)境中
提供高性能的圖形用戶界面。
特點
圖形設(shè)計工具:Qt for MCU提供了可視化的圖形設(shè)計工具
,使開發(fā)者能夠輕松設(shè)計和布局用戶界面。這為快速原型設(shè)計和開發(fā)提供了便利。
跨平臺支持:Qt for MCU繼承了Qt框架的跨平臺特性
,可以在多種嵌入式系統(tǒng)和操作系統(tǒng)上運行,包括嵌入式Linux、FreeRTOS等。針對嵌入式、桌面和移動平臺,所有平臺都具有相同的代碼庫
。
硬件加速:Qt for MCU充分利用硬件加速技術(shù),以提高圖形渲染性能,適應(yīng)對性能有高要求的嵌入式應(yīng)用。
大型生態(tài)系統(tǒng):Qt擁有龐大的生態(tài)系統(tǒng)和社區(qū)支持
,提供了豐富的文檔、示例和支持。這使得開發(fā)者能夠更好地利用Qt for MCU的功能和特性。
使用場景:
復(fù)雜嵌入式系統(tǒng):Qt for MCU適用于需要復(fù)雜圖形用戶界面的嵌入式系統(tǒng),如工控系統(tǒng)、醫(yī)療設(shè)備等。
對GUI性能有高要求的項目:由于Qt for MCU的硬件加速特性,它適用于對圖形性能有高要求的項目,如汽車儀表盤、航空航天設(shè)備等。
學(xué)習(xí)難易程度:
Qt for MCU相對于一些輕量級GUI庫來說,學(xué)習(xí)曲線較為陡峭。這主要因為Qt框架本身非常強大,但也為開發(fā)者提供了廣泛的文檔和教程。但是如果本身做過桌面端的開發(fā),MCU使用起來上手會非???/code>。
生態(tài)支持:
Qt for MCU作為Qt框架的一部分,繼承了龐大的Qt生態(tài)系統(tǒng)和積極的社區(qū)支持。用戶可以在社區(qū)中獲得廣泛的支持和資源,使其更好地利用Qt for MCU的功能。
Qt for MCU是一款適用于嵌入式系統(tǒng)的強大圖形用戶界面框架。它的圖形設(shè)計工具、跨平臺支持和硬件加速特性使其成為復(fù)雜嵌入式系統(tǒng)中的優(yōu)秀選擇。然而,對于一些資源受限的嵌入式系統(tǒng),可能需要權(quán)衡使用Qt for MCU的硬件資源占用和功能豐富性。
7、Embedded Wizard
https://www.embedded-wizard.de/
Embedded Wizard 是一款專為嵌入式系統(tǒng)設(shè)計的圖形用戶界面(GUI)開發(fā)工具,旨在簡化和加速嵌入式GUI的開發(fā)過程
。它提供了圖形設(shè)計工具、嵌入式向?qū)?/code>,代碼生成器和
運行時引擎
,使開發(fā)者能夠快速創(chuàng)建精美且高性能的嵌入式用戶界面。
特點
圖形設(shè)計工具:Embedded Wizard提供了現(xiàn)代且友好的可視化圖形設(shè)計工具,Embedded Wizard Studio,允許開發(fā)者以直觀的方式設(shè)計和布局用戶界面
。這種設(shè)計方式降低了學(xué)習(xí)曲線,使得開發(fā)過程更加高效。
跨平臺支持:Embedded Wizard支持多種硬件平臺和嵌入式操作系統(tǒng),包括ARM、MIPS、x86等,以及FreeRTOS、RTOS等。這使其成為一個具有廣泛可移植性
的工具。
代碼生成器:Embedded Wizard能夠自動生成優(yōu)化的、可嵌入的GUI代碼
。這消除了手動編寫大量底層代碼的繁瑣工作,提高了開發(fā)效率。
運行時引擎:嵌入式Wizard的運行時引擎被優(yōu)化,以提供高性能的圖形渲染
,適應(yīng)對圖形性能有高要求的嵌入式應(yīng)用。
圖形用戶界面元素:非常豐富的界面元素
可以選擇,支持多幀和動畫圖像,非常適合動畫圖標(biāo),豐富的 GUI 組件模板,支持的幀緩沖區(qū)顏色格式。
使用場景:
復(fù)雜嵌入式系統(tǒng):Embedded Wizard適用于需要復(fù)雜圖形用戶界面的嵌入式系統(tǒng),例如汽車信息娛樂系統(tǒng)、醫(yī)療儀器等。
跨平臺嵌入式項目:由于其可移植性,Embedded Wizard適用于跨多種硬件平臺
和操作系統(tǒng)的嵌入式項目。
學(xué)習(xí)難易程度:
學(xué)習(xí)Embedded Wizard相對較為平緩,尤其是對于有圖形設(shè)計經(jīng)驗的開發(fā)者。其可視化工具使得開發(fā)者能夠更容易上手,并快速掌握工具的使用方法。
生態(tài)支持:
Embedded Wizard擁有活躍的社區(qū)和強大的生態(tài)系統(tǒng)。用戶可以在社區(qū)中獲得支持、交流經(jīng)驗,并獲取額外的文檔和教程。這有助于開發(fā)者更好地利用Embedded Wizard的功能和特性。
Embedded Wizard是一款強大且高度可定制的嵌入式GUI開發(fā)工具。其圖形設(shè)計工具、代碼生成器和跨平臺支持使其成為復(fù)雜嵌入式系統(tǒng)中的理想選擇。尤其適用于需要高性能、精美界面的嵌入式應(yīng)用
。
8、emWin
https://www.segger.com/products/user-interface/emwin/
emWin 是一款專為嵌入式系統(tǒng)設(shè)計的圖形用戶界面(GUI)解決方案,由SEGGER公司開發(fā)。作為一款商業(yè)解決方案
,emWin提供了豐富的功能和靈活的定制選項,以滿足各種嵌入式應(yīng)用的需求。
emWin 是一種嵌入式 GUI 解決方案,與具有專有操作系統(tǒng)的單任務(wù)和多任務(wù)環(huán)境或任何商業(yè) RTOS(例如embOS)兼容。GUI 以“C”源代碼形式提供
。emWin 可以適應(yīng)任何尺寸,無論是物理顯示器還是虛擬顯示器,獨立于顯示控制器和目標(biāo) CPU。
ST 用戶可以免費使用名為“emWin for STM32”的 emWin 特定版本,以庫的形式免費使用。
特點
靈活性和可定制性:emWin具有高度可定制的特性,令人驚嘆的圖形庫
,開發(fā)者可以根據(jù)項目的需求調(diào)整和優(yōu)化界面元素,包括按鈕、文本、圖形等。
跨平臺支持:emWin支持多種硬件平臺和嵌入式操作系統(tǒng),包括ARM、MIPS等架構(gòu),以及RTOS(實時操作系統(tǒng))如FreeRTOS、Micrium等。
效率:emWin 是一個高性能圖形軟件包。它已針對 RAM 和 ROM 中的內(nèi)存消耗最小化以及高速和多功能性進(jìn)行了優(yōu)化
。這使其成為尖端的 GUI 解決方案。
全面的圖形元素:emWin提供了豐富的圖形元素,包括按鈕、滑塊、文本框等,以及支持觸摸屏和非觸摸屏設(shè)備。
使用場景:
復(fù)雜嵌入式系統(tǒng):emWin適用于需要復(fù)雜且高度定制的圖形用戶界面
的嵌入式系統(tǒng),如工業(yè)控制系統(tǒng)、醫(yī)療儀器等。
對圖形性能有高要求的項目:由于其硬件加速技術(shù),emWin適用于對圖形性能有高要求的項目,如高分辨率顯示和流暢的動畫效果。
學(xué)習(xí)難易程度:
emWin的學(xué)習(xí)曲線較為陡峭,尤其對于初學(xué)者而言。由于其提供了豐富的功能和靈活的定制選項,可能需要花費一些時間來熟悉其API和工作流程。
生態(tài)支持:
作為一款商業(yè)解決方案
,emWin擁有強大的生態(tài)系統(tǒng)和技術(shù)支持。SEGGER公司提供了詳細(xì)的文檔、示例代碼和技術(shù)支持,為開發(fā)者提供了全面的幫助。
emWin是一款強大、靈活且高性能的嵌入式GUI解決方案。它適用于復(fù)雜嵌入式系統(tǒng)和對圖形性能有高要求的項目。由于其商業(yè)性質(zhì),開發(fā)者需要考慮商業(yè)授權(quán)費用。然而,對于需要強大圖形功能的嵌入式應(yīng)用,emWin是一個強有力的選擇。
9、TouchGFX
https://support.touchgfx.com/zh-CN/docs/introduction/welcome
TouchGFX 是一款專為嵌入式系統(tǒng)設(shè)計的高性能圖形用戶界面(GUI)框架,以其引人注目的圖形性能和豐富的功能而脫穎而出,適用于對用戶界面有高要求的嵌入式應(yīng)用。
TouchGFX 是一款針對 STM32 微控制器優(yōu)化的先進(jìn)免費圖形軟件框架。TouchGFX 利用 STM32 圖形功能和架構(gòu),通過創(chuàng)建令人驚嘆的、類似智能手機的圖形用戶界面
,加速了物聯(lián)網(wǎng) HMI 革命。
特點
硬件加速圖形渲染: TouchGFX通過硬件加速技術(shù)
實現(xiàn)高性能的圖形渲染,為用戶提供流暢的界面體驗,適用于對圖形性能有高要求的項目。
圖形設(shè)計工具:TouchGFX提供了強大的圖形設(shè)計工具,允許開發(fā)者以直觀的方式設(shè)計和布局用戶界面。可作為獨立的軟件工具使用,可輕松快速地進(jìn)行圖形評估和概念驗證
。這降低了學(xué)習(xí)曲線,使得開發(fā)過程更加高效。
可擴展和可定制:TouchGFX框架具有高度可擴展性和定制性,支持多種字體、顏色和圖形效果,開發(fā)者可以根據(jù)項目需求進(jìn)行定制,并輕松擴展新的圖形元素和功能。
支持觸摸屏和非觸摸屏:TouchGFX支持觸摸屏和非觸摸屏設(shè)備,為開發(fā)者提供更多的輸入選項。
跨平臺支持:TouchGFX不僅支持多種嵌入式平臺,還可以在不同操作系統(tǒng)上運行,具有出色的可移植性。
使用場景:
高要求圖形性能的項目:TouchGFX適用于對圖形性能有高要求的項目,如汽車儀表盤、醫(yī)療設(shè)備、家用電器等。
復(fù)雜嵌入式系統(tǒng):TouchGFX適用于需要復(fù)雜且高度定制的用戶界面的嵌入式系統(tǒng)
。
學(xué)習(xí)難易程度:
TouchGFX的學(xué)習(xí)曲線相對較平緩,尤其是對于有圖形設(shè)計經(jīng)驗的開發(fā)者。其圖形設(shè)計工具和文檔使得開發(fā)者能夠更容易上手,并快速掌握工具的使用方法。
生態(tài)支持:
TouchGFX擁有強大的生態(tài)系統(tǒng)和技術(shù)支持。STMicroelectronics公司提供了詳細(xì)的文檔、示例代碼和技術(shù)支持,同時社區(qū)也活躍,為開發(fā)者提供了全面的支持
。
TouchGFX是一款強大、高性能且可定制的嵌入式GUI框架。其硬件加速技術(shù)、圖形設(shè)計工具和跨平臺支持使其成為對圖形性能有高要求的嵌入式應(yīng)用的理想選擇。雖然可能涉及商業(yè)授權(quán)費用,但對于需要強大圖形性能的項目而言,TouchGFX是一個值得考慮的解決方案。
10、CrankSoftware
https://www.cranksoftware.com/storyboard/capabilities/ui-scalability-mcu
Crank Software 是一家專注于嵌入式用戶界面(UI)
開發(fā)的軟件公司,提供名為Storyboard的工具套件。Storyboard是一款用于創(chuàng)建豐富、現(xiàn)代化嵌入式用戶界面的工具,旨在簡化開發(fā)流程并提供高度可定制性。
Storyboard 的獨特架構(gòu)與 MCU、交叉處理器和 MPU 兼容,讓您可以自由地創(chuàng)建可擴展市場和硬件平臺的嵌入式應(yīng)用程序。通過引入可在開發(fā)周期的任何時刻輕松支持硬件更改的 UI 開發(fā)工具,幫助降低嵌入式項目的風(fēng)險。
特點
專注于嵌入式UI:Crank Software致力于提供嵌入式系統(tǒng)的用戶界面解決方案,關(guān)注于嵌入式設(shè)備的圖形用戶界面開發(fā)。開發(fā)人員可以從頭開始創(chuàng)建令人驚嘆的 UI,或直接從您最喜歡的設(shè)計工具(例如 Photoshop、Illustrator 或 Sketch)導(dǎo)入文件。
全面的工具套件:公司的主要產(chǎn)品Storyboard提供了全面的工具套件
,包括圖形設(shè)計工具、交互式原型設(shè)計、代碼生成等功能,為開發(fā)者提供了一體化的開發(fā)體驗。Storyboard 包含旨在開發(fā)占用空間更少的應(yīng)用程序的功能。通過簡化運行時以節(jié)省資源以及在 C 回調(diào)和 Lua API 之間進(jìn)行選擇,Storyboard 可讓您嚴(yán)格控制內(nèi)存使用情況。
Storyboard 允許從 Photoshop、Sketch 和 Illustrator 等設(shè)計工具導(dǎo)入 GUI 圖形內(nèi)容,直接在目標(biāo)硬件設(shè)備(微控制器、交叉設(shè)備或 MPU)上使用模擬器測試和驗證功能
。
多平臺支持:Crank Software的解決方案支持多種嵌入式平臺
,包括ARM、MIPS等處理器架構(gòu),同時可以運行于不同的嵌入式操作系統(tǒng),如FreeRTOS、Linux等。
使用場景:
復(fù)雜嵌入式系統(tǒng):Crank Software的解決方案適用于需要復(fù)雜且高度定制的嵌入式系統(tǒng),如汽車儀表盤、醫(yī)療設(shè)備等。
多人協(xié)作開發(fā):Storyboard的支持遠(yuǎn)程協(xié)作功能使其適用于需要多個團隊成員協(xié)同開發(fā)
用戶界面的項目。
學(xué)習(xí)難易程度:
學(xué)習(xí)曲線相對較平緩,特別是對于有圖形設(shè)計和嵌入式開發(fā)經(jīng)驗的開發(fā)者而言。Storybard提供了詳細(xì)的文檔和示例,以幫助用戶迅速上手。
生態(tài)支持:
Crank Software擁有積極的社區(qū)和技術(shù)支持。用戶可以在社區(qū)中獲得支持、交流經(jīng)驗,并獲取額外的文檔和教程。技術(shù)支持方面,Crank Software也提供了專業(yè)的支持服務(wù)。
Crank Software以其專注于嵌入式UI開發(fā)
的定位和Storyboard的全面工具套件
而著稱。Storyboard 與許多微控制器 (MCU)、跨界處理器和 MPU 兼容
。其專有技術(shù)將 UI 與后端分離,直到使用特定于硬件的運行時引擎從其庫中導(dǎo)出。適用于需要高度定制和復(fù)雜用戶界面的嵌入式系統(tǒng)項目。其支持多平臺、高度可定制性和團隊協(xié)作功能使其成為開發(fā)者在嵌入式UI領(lǐng)域的重要工具。
篇幅問題,本期介紹5個,下一期繼續(xù)介紹。