隨著嵌入式設備對圖形用戶界面(GUI)的需求不斷提升,選擇一款高效、輕量且易于移植的GUI框架已成為項目開發中的關鍵環節。LVGL與Qt作為嵌入式領域廣泛使用的兩種GUI解決方案,在架構設計、資源占用及適用場景等方面存在明顯區別:
LVGL是一款專為嵌入式及資源受限設備設計的輕量級開源圖形庫。其具備高度模塊化特性,內存占用極低,支持多種顯示與輸入設備驅動,并可在無操作系統環境下運行,尤其適合對性能、功耗和成本有嚴格要求的嵌入式應用場景。
Qt是一套功能豐富的跨平臺應用開發框架,除GUI組件外,還提供網絡、數據庫、多媒體等完整功能模塊。盡管Qt for Embedded Linux功能全面,但其通常需要更多的系統資源,更適合硬件資源較為充裕的嵌入式平臺,例如工業人機界面(HMI)、車載信息娛樂系統等。
本文將以LVGL8.2版本的移植為例,旨在為開發者提供一套清晰實用的輕量化圖形界面移植指南,幫助用戶快速構建流暢、美觀的嵌入式圖形應用。
一、源碼獲取來源
git clone -b release/v8.2 https://github.com/lvgl/lv_port_linux_frame_buffer.git git clone -b release/v8.2 https://github.com/lvgl/lvgl.git git clone -b release/v8.2 https://github.com/lvgl/lv_drivers.git
將lvgl和lv_drivers文件夾拷貝到lv_port_linux_frame_buffer文件夾下。
二、相關文件修改
注意:分辨率設置以板卡默認適配的MIPI屏幕規格為準進行修改。
2.1修改lv_port_linux_frame_buffer/lv_conf.h文件
elf@ubuntu:~/work/lvgl8.2$vi lv_port_linux_frame_buffer/lv_conf.h
修改第15行, 使能該文件;

修改第27行,修改顯示顏色位深;

修改第49行,使能顯存分配;

修改第672行,使能編譯demo;

2.2 修改lv_port_linux_frame_buffer/lv_drv_conf.h文件
elf@ubuntu:~/work/lvgl8.2$vi lv_port_linux_frame_buffer/lv_drv_conf.h
修改第11行,使能該文件;

修改第319行,使能fb顯示;

修改第442行,使能觸摸板觸摸;

修改第450行,綁定觸摸事件,可以通過evtest命令查看屏幕對應的觸摸節點,輸入evtest,輸入指定編號,觸摸屏幕會有坐標點顯示到調試串口;

修改第453行,使能屏幕分辨率配置;

修改第457行、459行,指定屏幕水平像素和垂直像素;

2.3 修改lv_port_linux_frame_buffer/main.c文件
elf@ubuntu:~/work/lvgl8.2$vi lv_port_linux_frame_buffer/main.c
修改第10行,指定顯存大小;

修改第32行、33行,指定屏幕分辨率;

2.4 修改lv_port_linux_frame_buffer/Makefile文件
elf@ubuntu:~/work/lvgl8.2$vi lv_port_linux_frame_buffer/Makefile
修改第4行,指定交叉編譯器;

修改第7行,用#號注釋掉后面內容;

三、源碼編譯
在lv_port_linux_frame_buffer目錄下執行make -j4編譯源碼;
elf@ubuntu:~/work/lvgl8.2$ cd lv_port_linux_frame_buffer/ elf@ubuntu:~/work/lvgl8.2/lv_port_linux_frame_buffer$ make -j4
最后會在lv_port_linux_frame_buffer目錄下生成demo可執行文件;
elf@ubuntu:~/work/lvgl8.2/lv_port_linux_frame_buffer$ls demo demo
四、測試
使用u盤拷貝demo到開發板中;
關閉掉Weston桌面;
root@elf2-buildroot:~#/etc/init.d/S49westonstop
運行demo應用;
root@elf2-buildroot:~# ./demo
顯示效果如下:
-
單片機
+關注
關注
6077文章
45513瀏覽量
671440 -
嵌入式
+關注
關注
5200文章
20511瀏覽量
334945 -
Linux
+關注
關注
88文章
11778瀏覽量
219185 -
開發板
+關注
關注
26文章
6319瀏覽量
118796 -
RK3588
+關注
關注
8文章
564瀏覽量
7406
發布評論請先 登錄
ElfBoard技術貼|如何在【RK3588】ELF 2開發板上進行根系統的定制
ElfBoard技術貼|如何在【RK3588】ELF 2開發板上進行UART引腳復用配置
ElfBoard技術貼|如何在【RK3588】ELF 2開發板實現I2C功能復用
瑞芯微旗艦芯RK3588開發板開售 比亞迪為應達利頒獎
【首發開箱】揭開RK3588開發板的神秘面紗!
rk3588有哪些開發板?
ElfBoard技術貼|【RK3588】ELF 2開發板開機自啟動詳解
ElfBoard技術貼|如何在【RK3588】ELF 2開發板用戶空間更換開機Logo
ElfBoard技術貼|如何在【RK3588】ELF 2開發板實現GPIO功能復用
ElfBoard技術貼|如何在【RK3588】ELF 2開發板移植LVGL8.2
評論