随着嵌入式设备对图形用户界面(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
显示效果如下:
-
单片机
+关注
关注
6074文章
45358浏览量
664241 -
嵌入式
+关注
关注
5188文章
20175浏览量
329263 -
Linux
+关注
关注
88文章
11635浏览量
218107 -
开发板
+关注
关注
25文章
6146浏览量
113856 -
RK3588
+关注
关注
8文章
498浏览量
7084
发布评论请先 登录
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开发板移植LVGL8.2
评论