在嵌入式系統(tǒng)開發(fā)中,選擇一個合適的圖形用戶界面(GUI)庫
是至關(guān)重要的。在屏幕上顯示的時候,使用現(xiàn)成的圖形庫
,這樣開發(fā)人員就不需要弄清楚底層任務(wù),例如如何繪制像素、線條、形狀,如果再高級一點,則可以繪制某些對象,例如窗口、按鈕等。
前兩期我們介紹了10個,今天繼續(xù)介紹5個。
MCU 的 TOP 15 圖形GUI庫:選擇最適合你的圖形用戶界面(一)
MCU 的 TOP 15 圖形GUI庫:選擇最適合你的圖形用戶界面(二)
下面繼續(xù)介紹5個
備受歡迎的嵌入式GUI庫,分析它們的特點、優(yōu)缺點、使用場景以及生態(tài)系統(tǒng)
,以便開發(fā)人員能夠更好地選擇適合自己項目的GUI庫。
11、PEG Graphics Software
https://www.nxp.com/design/design-center/software/embedded-software/peg-graphics-software:PEG-HOME
PEG Graphics Software 是一款用于嵌入式系統(tǒng)的圖形用戶界面(GUI)庫,由NXP Semiconductors開發(fā)
。PEG(Portable Embedded GUI)旨在簡化和加速嵌入式GUI的開發(fā),提供了豐富的圖形元素和功能,適用于多種嵌入式平臺。
NXP的PEG Pro、PEG Plus和PEG Lite產(chǎn)品包括一個用于嵌入式開發(fā)的GUI庫,可與實時操作系統(tǒng)完美配合。圖形開發(fā)解決方案工具允許開發(fā)人員使用PEG庫和外部資源來部署用戶界面屏幕和控件來生成C++代碼。
特點
跨平臺支持:PEG Graphics Software被設(shè)計為可移植的嵌入式GUI庫,支持多種處理器架構(gòu)和嵌入式操作系統(tǒng)
,包括ARM、MIPS等,以及FreeRTOS、ThreadX等。
輕量級設(shè)計:PEG的設(shè)計注重輕量級,使其適用于資源受限的嵌入式系統(tǒng),如單片機(MCU)等。
高度可定制性:PEG提供了豐富的圖形元素和主題,開發(fā)者可以根據(jù)項目需求自由調(diào)整外觀和交互行為。
硬件加速:PEG支持硬件加速技術(shù)
,提高了圖形渲染性能,適應(yīng)對圖形性能有高要求的嵌入式應(yīng)用。
使用場景:
資源受限嵌入式系統(tǒng):PEG適用于資源有限的嵌入式系統(tǒng),例如一些簡單的MCU項目,提供了輕量級的GUI解決方案。
實時嵌入式應(yīng)用:由于其對硬件加速的支持,PEG適用于需要實時圖形渲染的嵌入式應(yīng)用,如汽車信息娛樂系統(tǒng)、家用電器等。
學(xué)習(xí)難易程度:
PEG Graphics Software的學(xué)習(xí)曲線相對較平緩,特別是對于有嵌入式開發(fā)經(jīng)驗的開發(fā)者。其文檔和示例代碼有助于用戶快速上手。
生態(tài)支持:
PEG Graphics Software相對較小的社區(qū)和生態(tài)系統(tǒng),但NXP Semiconductors提供了相應(yīng)的技術(shù)支持和文檔。用戶可以在NXP的支持渠道中獲取相關(guān)的信息和幫助。
PEG Graphics Software是一款輕量級、跨平臺的嵌入式GUI庫,適用于資源受限的嵌入式系統(tǒng)。其高度可定制性和硬件加速支持使其成為一些簡單嵌入式項目的合適選擇。然而,對于需要更復(fù)雜、功能豐富的用戶界面的項目,可能需要考慮使用其他更全面的GUI庫。
12、EasyGUI
https://www.easygui.com/
EasyGUI 是一款專為嵌入式系統(tǒng)設(shè)計的輕量級圖形用戶界面(GUI)庫,它的目標(biāo)是簡化嵌入式GUI的開發(fā)過程,降低學(xué)習(xí)曲線,并在資源受限的環(huán)境中提供基本的用戶界面功能。
EasyGUI可以快速高效地創(chuàng)建嵌入式系統(tǒng)的圖形用戶界面。幾乎支持所有彩色和單色顯示器、C 編譯器和微控制器。easyGUI 是您完整的視覺開發(fā)系統(tǒng),提供先進的屏幕處理系統(tǒng)、全面的字體系統(tǒng)
、完整的圖形庫和多語言應(yīng)用程序支持
,以及對亞洲和中東語言的完整 UNICODE 支持。
特點
輕量級設(shè)計:EasyGUI以小巧的體積和低內(nèi)存占用為特點,用純C語言編寫
庫,適用于資源受限的嵌入式系統(tǒng),如單片機(MCU)等。
簡單易用:EasyGUI注重提供簡單而直觀的API
,使得開發(fā)者能夠迅速上手,減少開發(fā)時間和成本。擁有許多圖形組件,從簡單的文本和線條到按鈕和圖形,允許構(gòu)建簡單和復(fù)雜的 GUI。
支持多種嵌入式平臺:EasyGUI支持多種嵌入式平臺,包括不同的處理器架構(gòu)和操作系統(tǒng),使其更具靈活性。
基本圖形元素:EasyGUI支持從單色到每像素 24 位真彩色的所有顏色深度
,提供了一些基本的圖形元素,如按鈕、文本框等,以幫助用戶構(gòu)建基本的用戶界面。
使用場景:
資源受限嵌入式系統(tǒng):EasyGUI適用于資源受限的嵌入式系統(tǒng),特別是一些簡單的MCU項目,為這些項目提供了輕量級的GUI解決方案。
基本嵌入式用戶界面:EasyGUI適用于對用戶界面需求相對簡單的嵌入式應(yīng)用,如一些傳感器控制、簡單顯示屏等。
學(xué)習(xí)難易程度:
EasyGUI的學(xué)習(xí)曲線相對較平緩,特別是對于有一定嵌入式開發(fā)經(jīng)驗的開發(fā)者而言。其簡單而直觀的API設(shè)計有助于用戶快速上手。
生態(tài)支持:
EasyGUI相對較小的社區(qū)和生態(tài)系統(tǒng),但可能提供了基本的文檔和示例代碼。由于其輕量級的特點,其社區(qū)支持可能較為有限。
EasyGUI是一款注重輕量級和簡單易用的嵌入式GUI庫,適用于資源受限、對用戶界面要求相對簡單的嵌入式系統(tǒng)。對于一些基本的MCU項目或簡單嵌入式應(yīng)用,EasyGUI提供了一個輕便而有效的選擇。然而,對于需要更復(fù)雜、功能豐富的用戶界面的項目,可能需要考慮使用其他更全面的GUI庫。
13、RamTex
https://www.ramtex.dk/
RamTex是一個用于嵌入式處理器系統(tǒng)的圖形顯示控制器庫,GUI C 源代碼庫為嵌入式應(yīng)用程序提供了強大而靈活的圖形用戶界面。所有 LCD、TFT 和 OLED 驅(qū)動程序庫都實現(xiàn)了基本的高級函數(shù)接口,所有庫均作為獨立于處理器、符合標(biāo)準(zhǔn) C 的源代碼提供。
特點
顯示庫:針對不同的顯示控制器,擁有非常多的庫,包括灰色驅(qū)動顯示庫。
字體庫:字體、符號和文本操作工具IconEdit
生態(tài)支持:
網(wǎng)上資料較少,使用需謹(jǐn)慎。
14、Guiliani
https://www.guiliani.de/mediawiki/index.php?title=The_C%2B%2B_GUI_framework_for_all_embedded_engineers
Guiliani 是一款用于嵌入式系統(tǒng)的圖形用戶界面(GUI)框架,由TES Electronic Solutions GmbH開發(fā)。Guiliani注重提供高度定制
和可擴展
的用戶界面解決方案,適用于多種嵌入式應(yīng)用,包括汽車儀表盤、醫(yī)療設(shè)備、家電等。
特點
高度可定制性:Guiliani提供了豐富的圖形元素和主題,開發(fā)者可以根據(jù)項目需求自由調(diào)整外觀和交互行為。擁有所見即所得 Guiliani 流媒體編輯器
(GSE),可快速完成設(shè)計工作。
跨平臺支持:Guiliani支持多種硬件平臺和操作系統(tǒng),包括ARM、x86等處理器架構(gòu),以及FreeRTOS、Linux等嵌入式操作系統(tǒng)。
硬件加速:Guiliani利用硬件加速技術(shù)
,提供高性能的圖形渲染,適應(yīng)對圖形性能有高要求的嵌入式應(yīng)用。
支持觸摸屏和非觸摸屏設(shè)備:Guiliani支持觸摸屏和非觸摸屏設(shè)備,為開發(fā)者提供更多的輸入選項。
可擴展的架構(gòu):Guiliani的架構(gòu)設(shè)計支持模塊化和可擴展性,使得開發(fā)者能夠輕松地集成和定制新的功能。
使用場景:
汽車儀表盤
:Guiliani適用于汽車儀表盤和車內(nèi)娛樂系統(tǒng),提供了復(fù)雜而現(xiàn)代的用戶界面。
醫(yī)療設(shè)備
:由于其高度可定制的特性,Guiliani適用于醫(yī)療設(shè)備等需要復(fù)雜用戶界面的嵌入式應(yīng)用。
家電和工控系統(tǒng)
:Guiliani在家電和工控系統(tǒng)等領(lǐng)域也有著廣泛的應(yīng)用,滿足對用戶體驗有要求的項目。
使用 Guiliani 構(gòu)建的咖啡機 GUI
學(xué)習(xí)難易程度:
Guiliani的學(xué)習(xí)曲線較為平緩,尤其是對于有圖形設(shè)計和嵌入式開發(fā)經(jīng)驗的開發(fā)者而言。其文檔和示例代碼有助于用戶快速上手。
生態(tài)支持:
Guiliani擁有積極的社區(qū)和技術(shù)支持。用戶可以在社區(qū)中獲得支持、交流經(jīng)驗,并獲取額外的文檔和教程。技術(shù)支持方面,TES Electronic Solutions GmbH也提供了專業(yè)的支持服務(wù)。
Guiliani是一款強大、高度可定制的嵌入式GUI框架,適用于各種復(fù)雜嵌入式應(yīng)用。其跨平臺支持、硬件加速和可擴展的架構(gòu)使其成為對圖形性能和用戶體驗有高要求的項目的理想選擇。
15、MPLAB? Harmony Graphics Suite
https://www.microchip.com/en-us/tools-resources/configure/mplab-harmony/graphics-suite
MPLAB? Harmony Graphics Suite 是Microchip公司推出的一套用于嵌入式系統(tǒng)的圖形用戶界面(GUI)解決方案。作為MPLAB Harmony框架的一部分,該圖形套件旨在簡化嵌入式GUI的設(shè)計和開發(fā),并提供高度可定制性。
MPLAB? Harmony Graphics Suite使用功能強大且免費的 MPLAB Harmony 圖形套件 (MHGS),使用經(jīng)濟高效的 32 位微控制器 (MCU) 創(chuàng)建具有專業(yè)外觀的嵌入式圖形用戶界面 (GUI) 變得前所未有的簡單。MHGS 可在 MPLAB Harmony 嵌入式軟件開發(fā)框架內(nèi)使用,經(jīng)過專門設(shè)計,可充分利用 Microchip 高性能 32 位的功能MPLAB Harmony。
特點
無需專業(yè)圖形設(shè)計技能:MPLAB Harmony Graphics Suite設(shè)計成易于使用,即使是沒有專業(yè)圖形設(shè)計經(jīng)驗的開發(fā)者也能夠創(chuàng)建現(xiàn)代且引人注目的用戶界面。
集成于MPLAB Harmony框架:作為MPLAB Harmony框架的一部分,該圖形套件與Microchip的其他工具和庫實現(xiàn)了緊密集成,為開發(fā)者提供全面的嵌入式開發(fā)解決方案。
跨平臺支持:MPLAB Harmony Graphics Suite支持多種Microchip MCU平臺,包括PIC32、SAM E等系列,使其適用于不同硬件架構(gòu)。
圖形元素和部件:所見即所得 GUI 繪圖屏幕和工具組織器,提供了一系列圖形元素和部件,包括按鈕、文本框、圖表等,以簡化用戶界面的設(shè)計,圖像資源、小部件和文本等對象可以直接在顯示區(qū)域上放置、移動和修改,然后在目標(biāo)系統(tǒng)上精確地重新創(chuàng)建。
可定制主題和樣式:允許開發(fā)者輕松自定義用戶界面的主題和樣式,以適應(yīng)特定項目的設(shè)計需求。
使用場景:
嵌入式系統(tǒng)開發(fā):MPLAB Harmony Graphics Suite適用于各種嵌入式系統(tǒng)開發(fā),包括工控系統(tǒng)、消費電子產(chǎn)品等。
Microchip MCU項目:特別適用于使用Microchip MCU的項目,充分發(fā)揮硬件和軟件集成的優(yōu)勢。
學(xué)習(xí)難易程度:
MPLAB Harmony Graphics Suite的學(xué)習(xí)曲線較為平緩,特別是對于熟悉MPLAB Harmony框架的開發(fā)者而言。提供了詳細(xì)的文檔和示例以幫助用戶快速上手。
生態(tài)支持:
作為Microchip的產(chǎn)品,MPLAB Harmony Graphics Suite享有強大的技術(shù)支持和龐大的用戶社區(qū)。用戶可以在社區(qū)中獲取支持、分享經(jīng)驗,并參與開發(fā)討論。
MPLAB Harmony Graphics Suite是Microchip提供的一套強大的嵌入式GUI解決方案,適用于各種Microchip MCU項目。其與MPLAB Harmony框架的緊密集成、易用性和可定制性,使其成為Microchip用戶在嵌入式系統(tǒng)中設(shè)計用戶界面的理想選擇。
最后我們羅列一下15個GUI的收費情況:
國產(chǎn)嵌入式GUI有哪些還不錯的,歡迎留言區(qū)評論!