准备工作
一种方式是像LVGL | lvgl最新版本在STM32上的移植使用
这篇文章的方式一样,从头一步一步来搭建基于framebuffer的工程,自己编写Makefile文件。需要下载:
lvgl
lv_drivers
lv_examples
这些可以在lvgl官方GitHub找到。
然后建立一个工程,把需要用到的文件复制到工程里,编写Makefile文件即可。
除此之外,lvgl官方仓库也有提供基于Linux frame buffer的移植工程:lv_port_linux_frame_buffer,我们直接下载下来修改一些代码适配我们的板子就可以。
lvgl快速实践
文章篇幅有限,我们就不一步一步演示移植步骤了。我们直接下载lv_port_linux_frame_buffer拿过来进行修改即可,就可以快速跑起来。
我们可以使用git clone --recurse-submodules命令下载,也可以直接下载。
我们选择直接下载,下载得到的lv_port_linux_frame_buffer内容为:
此时,lvgl、lv_examples、lv_drivers这三个文件夹内的内容是空的,我们需要下载相关资源放进去。比如:
接下来可以修改工程了,需要修改的地方也很简单,但前提是我们的设备已经有显示驱动与触摸屏驱动。
1、修改编译器
首先需要修改Makefile,因为我们需要在板子上跑,所以需要使用交叉编译器:
2、修改分辨率
修改lv_conf.h文件里的LV_HOR_RES_MAX、LV_VER_RES_MAX宏为实际屏幕大小,如:
3、使能fb设备
修改lv_drv_conf.h文件里的USE_FBDEV宏来使能Linux frame buffer device (/dev/fbx),如:
4、使能输入设备
修改lv_drv_conf.h文件里的USE_EVDEV宏来使能输入事件设备,如:
其中,你的板子的输入事件可能不是event1,根据实际进行修改。可以使用cat命令来测试一下你板子的触摸屏输入对应的是哪一个event,如:
此时,触摸一下屏幕,则终端会有信息(乱码信息)输出,则说明当前板子的触摸输入对应的就是这个event。
5、添加输入初始化
在main.c初始化并注册一个输入设备,如:
6、添加lvgl心跳
在main.c添加lv_tick_inc函数的调用,如:
然后就可以跑跑一些实例demo了,有些demo需要使能lv_conf.h文件里的一些配置,否则编译会报错,根据编译报错信息修改相关配置项即可。
编译成功之后,会在lv_port_linux_frame_buffer工程主目录生成一个名为demo的可执行文件。
传到板子里运行:
审核编辑:刘清
-
嵌入式系统
+关注
关注
41文章
3593浏览量
129472 -
Linux系统
+关注
关注
4文章
593浏览量
27397 -
GUI
+关注
关注
3文章
660浏览量
39676 -
LVGL
+关注
关注
1文章
83浏览量
2968
原文标题:LittlevGL + Framebuffer的适配例子分享!
文章出处:【微信号:Linux大陆,微信公众号:Linux大陆】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
LVGL工具使用
在嵌入式linux上如何去运行LVGL呢
lvgl移植的相关资料下载
【赛昉科技昉·星光RISC-V单板计算机试用体验】测评视频第一篇之基于framebuffer的HDMI显示输出测试
N32G457快速移植LVGL图形库的方法
LVGL系列(二)之二 LVGL常见问题解答 整理自官方文档
![<b class='flag-5'>LVGL</b>系列(二)之二 <b class='flag-5'>LVGL</b>常见问题解答 整理自官方文档](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【开鸿智谷NiobeU4开发板免费试用体验】lvgl移植及实现ADC按键状态显示
![【开鸿智谷NiobeU4开发板免费试用体验】<b class='flag-5'>lvgl</b><b class='flag-5'>移植</b>及实现ADC按键状态显示](https://file.elecfans.com/web2/M00/6D/F7/poYBAGM8Ty6AFzp6AAE3CIcYbw8508.png)
【开鸿智谷NiobeU4开发板免费试用体验】移植LVGL
![【开鸿智谷NiobeU4开发板免费试用体验】<b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>](https://file.elecfans.com/web2/M00/6C/F1/pYYBAGMwUf6AZ-ZjADgze1tGwbU222.png)
【赛昉科技昉·星光RISC-V单板计算机试用体验】测评视频第一篇之基于framebuffer的HDMI显示输出测试
![【赛昉科技昉·星光RISC-V单板计算机试用体验】测评视频第一篇之基于<b class='flag-5'>framebuffer</b>的HDMI显示输出测试](https://file.elecfans.com/web2/M00/7B/26/pYYBAGNzBzOAT-NsAAER_pNtslw764.png)
Hi3861移植LVGL教程
![Hi3861<b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>教程](https://file1.elecfans.com/web2/M00/82/DE/wKgaomRlfmCACm_OAAAbgpDRobE013.png)
评论