网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

ElfBoard技术贴|如何在【RK3588】ELF 2开发板移植LV

时间:2025-10-15 08:52

人气:

作者:admin

标签:

导读:随着嵌入式设备对图形用户界面(GUI)的需求不断提升,选择一款高效、轻量且易于移植的GUI框架已成为项目开发中的关键环节。LVGL与Qt作为嵌入式领域广泛使用的两种GUI解决方案,在...

随着嵌入式设备对图形用户界面(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行, 使能该文件;

wKgZO2ju7jOAa3VzAAEfJmMRsTk996.png

修改第27行,修改显示颜色位深;

wKgZPGju7kKAB5ewAAHcK7PYYtk015.png

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

wKgZO2ju7laARX6uAAHqnBcjx7U995.png

修改第672行,使能编译demo;

wKgZPGju7mKANZeFAAF4yVIykRk527.png

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行,使能该文件;

wKgZPGju7n6AH59PAAED6tILmc0419.png

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

wKgZO2ju7neASXUeAAFhZTutgBM243.png

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

wKgZPGju7w6Aesi-AAG4nUrENGE477.png

修改第450行,绑定触摸事件,可以通过evtest命令查看屏幕对应的触摸节点,输入evtest,输入指定编号,触摸屏幕会有坐标点显示到调试串口;

wKgZO2ju7xmAc5suAAGS7XCT6Ls737.png

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

wKgZPGju7yWALGQSAAGJq1b4bfA573.png

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

wKgZPGju7z2Aet5nAAG2C8rNjY4637.png

2.3 修改lv_port_linux_frame_buffer/main.c文件

elf@ubuntu:~/work/lvgl8.2$vi lv_port_linux_frame_buffer/main.c

修改第10行,指定显存大小;

wKgZO2ju71eAH1oyAAFgOhJ9EkI878.png

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

wKgZPGju73eAVEeOAAGbbPObCV4114.png

2.4 修改lv_port_linux_frame_buffer/Makefile文件

elf@ubuntu:~/work/lvgl8.2$vi lv_port_linux_frame_buffer/Makefile

修改第4行,指定交叉编译器;

wKgZO2ju74mAFeBCAAB8ueKgX74490.png

修改第7行,用#号注释掉后面内容;

wKgZPGju75WADU6LAAKEysy-2cI435.png

三、源码编译

在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

显示效果如下:

wKgZPGju7_SASNeBABDS36iPzXs690.png
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信