加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

MCU的TOP15圖形GUI庫:選擇最適合你的圖形用戶界面(一)

2023/11/20
4555
閱讀需 16 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

嵌入式系統(tǒng)開發(fā)中,選擇一個合適的圖形用戶界面(GUI)庫是至關(guān)重要的。在屏幕上顯示的時候,使用現(xiàn)成的圖形庫,這樣開發(fā)人員就不需要弄清楚底層任務(wù),例如如何繪制像素、線條、形狀,如果再高級一點(diǎn),則可以繪制某些對象,例如窗口、按鈕等。

下面將介紹15個備受歡迎的嵌入式GUI庫,分析它們的特點(diǎn)、優(yōu)缺點(diǎn)、使用場景以及生態(tài)系統(tǒng),以便開發(fā)人員能夠更好地選擇適合自己項(xiàng)目的GUI庫。

1、LVGL

https://lvgl.io/

LittlevGL(LVGL) 是一款開源的嵌入式圖形用戶界面(GUI)庫,專為嵌入式系統(tǒng)設(shè)計(jì)。LVGL以其輕量級、靈活性和強(qiáng)大的功能而備受開發(fā)者青睞,資源夠的情況下可移植到所有MCU。

LVGL 是完全開源的,可以查看、修改、編譯和調(diào)試底層源代碼附帶 30 多個內(nèi)置小部件,繪制畫面非常的方便,配備強(qiáng)大的軟件渲染引擎,可以使用最少的資源以矢量圖形方式繪制抗鋸齒小部件。

特點(diǎn):

輕量級:LVGL以其卓越的輕量級設(shè)計(jì)而著稱,適用于資源受限的嵌入式系統(tǒng)。即便在內(nèi)存和處理器資源有限的情況下,LVGL也能夠提供流暢的用戶體驗(yàn)。

開源:LVGL是一款開源的GUI庫,基于MIT許可,使其成為開發(fā)者們的理想選擇。用戶可以自由修改、使用和分發(fā)LVGL,促進(jìn)了廣泛的社區(qū)支持。

豐富的圖形元素和主題:LVGL提供了豐富的圖形元素,包括按鈕、標(biāo)簽、文本框等,以及可定制的主題支持。這使得開發(fā)者能夠輕松創(chuàng)建出各種風(fēng)格獨(dú)特的用戶界面。通過 30 多個小部件、抗鋸齒、動畫、多語言、阿拉伯語和波斯語文本、編碼器和鍵盤使用等,使 UI 開發(fā)變得更容易。

跨平臺:LVGL不僅支持多種硬件平臺,還可以在不同操作系統(tǒng)上運(yùn)行,提供了出色的可移植性。

使用場景:

資源受限的嵌入式系統(tǒng):由于其輕量級設(shè)計(jì),LVGL非常適用于那些資源受限的嵌入式系統(tǒng),例如微控制器(MCU)和嵌入式Linux系統(tǒng)。

高度定制的GUI需求:LVGL的靈活性使其能夠滿足對GUI高度定制的需求。開發(fā)者可以輕松地調(diào)整和定制界面元素,以適應(yīng)特定項(xiàng)目的設(shè)計(jì)要求。

學(xué)習(xí)難易程度:

盡管LVGL是一款功能強(qiáng)大的GUI庫,但其學(xué)習(xí)曲線相對較陡峭。初學(xué)者可能需要一些時間來熟悉其API和功能,但一旦掌握,LVGL將成為一個強(qiáng)大而高效的工具。

生態(tài)支持:

LVGL擁有一個活躍的社區(qū),提供廣泛的文檔、教程和示例代碼。這為開發(fā)者提供了豐富的資源,以便更好地利用LVGL的功能和特性。

LVGL是一款出色的嵌入式GUI庫,適用于各種嵌入式系統(tǒng)和應(yīng)用。其輕量級設(shè)計(jì)、開源許可、跨平臺支持以及豐富的圖形元素和主題,使其成為開發(fā)者們構(gòu)建現(xiàn)代、具有吸引力的嵌入式用戶界面的理想選擇。盡管學(xué)習(xí)曲線較陡峭,但通過社區(qū)的支持和文檔的積累,LVGL的使用變得更加便捷。

2、MiniGUI

https://minigui.fmsoft.cn/zh

MiniGUI 是一款輕量級的開源圖形用戶界面(GUI)庫,專為嵌入式系統(tǒng)設(shè)計(jì)。MiniGUI以其高度可定制適應(yīng)性強(qiáng)的特點(diǎn)而備受開發(fā)者推崇。資源夠的情況下可移植到所有MCU。免費(fèi)用于非商業(yè)用途,使用部分指定的SOC可免費(fèi)使用。

MiniGUI項(xiàng)目于1998年啟動,既可以運(yùn)行在30MHz主頻的低端設(shè)備上,也可用于帶GPU的高端設(shè)備上,廣泛應(yīng)用于消費(fèi)電子于工業(yè)儀器儀表領(lǐng)域。

特點(diǎn)

輕量級設(shè)計(jì):MiniGUI是一款輕量級的GUI庫,專為嵌入式系統(tǒng)而設(shè)計(jì)。其小巧的體積使其適用于資源受限的環(huán)境,例如單片機(jī)和嵌入式Linux系統(tǒng),最低

高度可定制:MiniGUI提供了高度可定制的皮膚和界面元素,使開發(fā)者能夠輕松地適應(yīng)項(xiàng)目的外觀和感覺需求。

多平臺支持:MiniGUI不僅支持嵌入式Linux系統(tǒng),還可以運(yùn)行在其他嵌入式平臺上。eCos 和其他傳統(tǒng) RTOS (RT-Thread、RTEMS、FreeRTOS、VxWorks、ThreadX、Nucleus、pSOS、uC/OS-II、OSE 等),特別是 MiniGUI 作為 HybridOS 的窗口系統(tǒng)運(yùn)行,這使得MiniGUI成為一個具有廣泛可移植性的選擇。

使用場景:

嵌入式系統(tǒng):MiniGUI主要面向嵌入式系統(tǒng),特別是那些資源有限、需要輕量級GUI的項(xiàng)目。它適用于多種硬件平臺,包括一些較為簡單的單片機(jī)。

定制UI需求:MiniGUI的高度可定制性使其非常適合需要特定外觀和交互風(fēng)格的項(xiàng)目。開發(fā)者可以根據(jù)項(xiàng)目需求自由調(diào)整皮膚和界面元素。

學(xué)習(xí)難易程度:

MiniGUI的學(xué)習(xí)曲線相對較平緩,這使得初學(xué)者能夠較為迅速地上手使用。盡管文檔可能相對較少,但其簡潔的設(shè)計(jì)有助于用戶快速理解和使用。

生態(tài)支持:

MiniGUI擁有一個積極的社區(qū),提供了一些基礎(chǔ)的文檔和示例代碼。雖然社區(qū)規(guī)模不如一些大型的GUI庫,但對于MiniGUI的問題,仍然能夠得到一定的支持。

MiniGUI作為一款輕量級開源嵌入式GUI庫,注重于適應(yīng)資源受限的環(huán)境,特別適合嵌入式系統(tǒng)和一些簡單的項(xiàng)目。其高度可定制的特性使其在定制UI方面表現(xiàn)出色。雖然文檔相對較少,但其簡單直接的設(shè)計(jì)有助于開發(fā)者迅速上手。對于那些需要輕量級GUI的項(xiàng)目,MiniGUI是一個值得考慮的選擇。

3、uGUI

http://embeddedlightning.com/ugui/

uGUI 是一款輕量級的開源圖形用戶界面(GUI)庫,專為資源受限的嵌入式系統(tǒng)設(shè)計(jì)。其注重簡潔性和易用性,使其成為開發(fā)者在嵌入式環(huán)境下構(gòu)建用戶友好界面的理想選擇。資源夠的情況下可移植到所有MCU。

只要顯示器能夠顯示圖形,μGUI就不受特定顯示技術(shù)的限制。因此,支持 LCD、TFT、E-Paper、LED 或 OLED 等顯示技術(shù)。整個模塊由兩個文件組成:ugui.c和ugui.h,所以移植起來非常的方便。

特點(diǎn)

輕量級設(shè)計(jì):uGUI的設(shè)計(jì)目標(biāo)是在資源有限的環(huán)境中運(yùn)行,因此具有小巧的體積和較低的內(nèi)存占用。這使其適用于單片機(jī)等資源受限的嵌入式系統(tǒng)。

易于集成和使用:uGUI的API設(shè)計(jì)簡單直觀,易于學(xué)習(xí)和使用。開發(fā)者可以迅速集成uGUI到他們的項(xiàng)目中,并通過簡單的API調(diào)用實(shí)現(xiàn)基本的GUI功能。

可擴(kuò)展性:雖然uGUI的核心設(shè)計(jì)簡單,但它仍提供了一些可擴(kuò)展的特性,如支持多種字體和顏色配置。這使得開發(fā)者可以通過簡單的配置滿足一些基本的定制需求。

使用場景:

簡單嵌入式系統(tǒng):uGUI適用于資源有限的簡單嵌入式系統(tǒng),特別是那些對內(nèi)存和處理器資源有嚴(yán)格要求的項(xiàng)目。

快速原型設(shè)計(jì):由于其易于集成和使用的特性,uGUI也可以用于快速原型設(shè)計(jì),幫助開發(fā)者迅速搭建界面并驗(yàn)證概念。

學(xué)習(xí)難易程度:

uGUI的學(xué)習(xí)曲線相對較平緩,尤其適合初學(xué)者。其簡單的API設(shè)計(jì)和清晰的文檔使得開發(fā)者能夠快速上手并開始構(gòu)建GUI界面。

生態(tài)支持:

uGUI雖然規(guī)模相對小,但仍有一定的社區(qū)支持。用戶可以在社區(qū)中獲取一些基礎(chǔ)的文檔和示例代碼,盡管相較于一些大型GUI庫,支持和社區(qū)參與度相對較低。

uGUI是一款適用于資源受限嵌入式系統(tǒng)的輕量級GUI庫。其簡潔的設(shè)計(jì)和易用的API使其在簡單項(xiàng)目或需要快速原型設(shè)計(jì)的情況下表現(xiàn)出色。然而,對于一些復(fù)雜的GUI需求,可能需要考慮更為功能豐富的GUI庫。對于初學(xué)者或?qū)Y源有嚴(yán)格要求的項(xiàng)目,uGUI是一個簡單而可靠的選擇。

4、GUISlice

https://github.com/ImpulseAdventure/GUIslice

GUISlice 是一款輕量級的開源嵌入式圖形用戶界面(GUI)庫,專為資源受限的系統(tǒng)設(shè)計(jì)。它注重簡潔性和易用性,旨在幫助開發(fā)者快速實(shí)現(xiàn)基本的嵌入式用戶界面。資源夠的情況下可移植到所有MCU。

特點(diǎn)

輕量級設(shè)計(jì):GUISlice以小巧的體積低內(nèi)存占用著稱,純C庫,無動態(tài)內(nèi)存分配,有一個用于生成布局的跨平臺GUIslice Builder應(yīng)用程序。

易于使用:GUISlice的API設(shè)計(jì)簡單直觀,易于學(xué)習(xí)和使用。它提供了一些基本的圖形元素,如按鈕、文本框等,使得開發(fā)者能夠迅速構(gòu)建簡單的用戶界面。

支持觸摸屏和非觸摸屏:GUISlice支持觸摸屏和非觸摸屏設(shè)備,為開發(fā)者提供了更多的輸入選項(xiàng)。

使用場景:

資源受限嵌入式系統(tǒng):由于其輕量級設(shè)計(jì),GUISlice非常適用于資源受限的嵌入式系統(tǒng),如一些簡單的MCU項(xiàng)目。

簡單嵌入式用戶界面:GUISlice適用于對用戶界面要求相對簡單的嵌入式項(xiàng)目,如溫度計(jì)、遙控器等。

學(xué)習(xí)難易程度:

GUISlice的學(xué)習(xí)曲線相對較平緩。由于其專注于提供基本的圖形元素和易用的API,開發(fā)者可以比較迅速地上手使用,特別是對于有一定嵌入式經(jīng)驗(yàn)的開發(fā)者而言。

生態(tài)支持:

GUISlice的社區(qū)相對較小,但仍然提供了一些基本的文檔和示例代碼。用戶可以在社區(qū)中獲取支持,但相較于一些大型GUI庫,社區(qū)參與度可能相對有限。

GUISlice是一款專注于輕量級和簡單嵌入式GUI的庫,適用于一些對資源有限和用戶界面需求相對簡單的嵌入式項(xiàng)目。其易用性和小巧的體積使其成為一些簡單嵌入式系統(tǒng)中的合適選擇。然而,對于需要更復(fù)雜、功能豐富的用戶界面的項(xiàng)目,可能需要考慮使用其他更全面的GUI庫。

5、μGFX

https://ugfx.io/index

μGFX 是一個用于顯示器和觸摸屏的輕量級嵌入式庫,提供構(gòu)建功能齊全的嵌入式 GUI 所需的一切。該庫非常小而且速度很快,因?yàn)槊總€未使用的功能都被禁用并且沒有鏈接到完成的二進(jìn)制文件中。

μGFX設(shè)計(jì)注重性能可移植性,使得開發(fā)者能夠輕松地在各種硬件平臺上實(shí)現(xiàn)優(yōu)秀的圖形用戶界面(GUI)。資源夠的情況下可移植到所有MCU。免費(fèi)版本可用于非商業(yè)用途。

特點(diǎn)

跨平臺支持:μGFX支持多種嵌入式系統(tǒng)和操作系統(tǒng),包括裸機(jī)環(huán)境、FreeRTOS、ChibiOS等。這為開發(fā)者提供了廣泛的硬件和軟件平臺選擇。

硬件加速:μGFX充分利用硬件加速技術(shù),提高了圖形渲染性能,使其適用于一些對性能有高要求的嵌入式應(yīng)用。

顯示類型:單色、灰度、彩色、電阻式、電容式或根本沒有觸摸屏。μGFX 可使用的顯示器類型沒有限制。

開放源代碼:μGFX是一款開源圖形庫,基于MIT許可,開發(fā)者可以自由使用、修改和分發(fā)代碼。這促進(jìn)了社區(qū)的積極參與和貢獻(xiàn)。

多操作系統(tǒng)支持:除了支持多種嵌入式系統(tǒng)外,μGFX還兼容多個主流的操作系統(tǒng),包括Windows、Linux等,方便開發(fā)者在桌面環(huán)境進(jìn)行GUI開發(fā)和調(diào)試。

使用場景:

跨平臺嵌入式項(xiàng)目:μGFX適用于需要在不同硬件平臺和操作系統(tǒng)上運(yùn)行的嵌入式項(xiàng)目,為開發(fā)者提供了靈活的選擇。

高性能要求的應(yīng)用:μGFX的硬件加速特性使其非常適合對圖形性能有高要求的嵌入式應(yīng)用,如醫(yī)療設(shè)備、汽車儀表盤等。

學(xué)習(xí)難易程度:

μGFX的學(xué)習(xí)曲線相對較平緩,尤其是對有一定嵌入式開發(fā)經(jīng)驗(yàn)的開發(fā)者而言。它提供了清晰的文檔和范例,幫助用戶快速上手。

生態(tài)支持:

μGFX擁有活躍的社區(qū)和強(qiáng)大的生態(tài)系統(tǒng)。用戶可以在社區(qū)中獲取支持、交流經(jīng)驗(yàn),并獲得額外的文檔和教程。社區(qū)的積極參與使μGFX得以不斷改進(jìn)和更新。

μGFX是一款強(qiáng)大而靈活的嵌入式圖形庫,適用于跨平臺的嵌入式項(xiàng)目。其硬件加速和跨平臺支持使其在各種應(yīng)用場景中表現(xiàn)出色。對于需要高性能、多平臺支持的嵌入式GUI項(xiàng)目,μGFX是一個強(qiáng)大的選擇。

篇幅問題,本期介紹5個,下一期繼續(xù)介紹。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
KSZ8873MLLI 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP64
$6.1 查看
NX3215SA-32.768K-STD-MUA-8 1 Nihon Dempa Kogyo Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, ROHS COMPLIANT PACKAGE-2
$1.98 查看
ECS-120-20-30B-DU-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal, 12MHz Nom, SMD, 4 PIN
$11.35 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

最全電子漫畫收集達(dá)人,漫畫控必選!用文字和圖片帶你領(lǐng)略電子世界之美。 由曉宇哥哥操刀的芯片之家公眾號,提供45萬個Symbol和3D封裝庫免費(fèi)下載,定期分享軟硬件、物聯(lián)網(wǎng)類技術(shù)知識外,還精心整理大量參考設(shè)計(jì)和文檔資源,電路圖和源代碼資料供下載。 立即打開“芯片之家 ”,感受電子與藝術(shù)的完美結(jié)合。