全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

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

基于framebuffer的lvgl的移植使用

时间:2023-06-12 11:50

人气:

作者:admin

标签: GUI  Linux系统  LVGL  嵌入式系 

导读:LittlevGL是一个免费的开源图形库,提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素、漂亮的视觉效果和低内存占用。...

准备工作

一种方式是像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内容为:

22e25610-08d3-11ee-962d-dac502259ad0.png

此时,lvgl、lv_examples、lv_drivers这三个文件夹内的内容是空的,我们需要下载相关资源放进去。比如:

230556c4-08d3-11ee-962d-dac502259ad0.png

接下来可以修改工程了,需要修改的地方也很简单,但前提是我们的设备已经有显示驱动与触摸屏驱动。

1、修改编译器

首先需要修改Makefile,因为我们需要在板子上跑,所以需要使用交叉编译器:

2323ad68-08d3-11ee-962d-dac502259ad0.png

2、修改分辨率

修改lv_conf.h文件里的LV_HOR_RES_MAX、LV_VER_RES_MAX宏为实际屏幕大小,如:

23441f58-08d3-11ee-962d-dac502259ad0.png

3、使能fb设备

修改lv_drv_conf.h文件里的USE_FBDEV宏来使能Linux frame buffer device (/dev/fbx),如:

23589a46-08d3-11ee-962d-dac502259ad0.png

4、使能输入设备

修改lv_drv_conf.h文件里的USE_EVDEV宏来使能输入事件设备,如:

237b70e8-08d3-11ee-962d-dac502259ad0.png

其中,你的板子的输入事件可能不是event1,根据实际进行修改。可以使用cat命令来测试一下你板子的触摸屏输入对应的是哪一个event,如:

2399ceee-08d3-11ee-962d-dac502259ad0.png

此时,触摸一下屏幕,则终端会有信息(乱码信息)输出,则说明当前板子的触摸输入对应的就是这个event。

5、添加输入初始化

在main.c初始化并注册一个输入设备,如:

23bc8e0c-08d3-11ee-962d-dac502259ad0.png

23e34970-08d3-11ee-962d-dac502259ad0.png

6、添加lvgl心跳

在main.c添加lv_tick_inc函数的调用,如:

240510d2-08d3-11ee-962d-dac502259ad0.png

然后就可以跑跑一些实例demo了,有些demo需要使能lv_conf.h文件里的一些配置,否则编译会报错,根据编译报错信息修改相关配置项即可。

编译成功之后,会在lv_port_linux_frame_buffer工程主目录生成一个名为demo的可执行文件。

传到板子里运行:

24189a9e-08d3-11ee-962d-dac502259ad0.png





审核编辑:刘清

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

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

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

关注微信