爱游戏-BPO行业整合方案提供者
专业化、科技化、国际化;高标准、广覆盖、全流程
了解更多LittlevGL + Framebuffer的适配例子分享! 时候:2024-12-27 17:54:52 手机看文章
扫描二维码随时随地手机看文章
媒介LittlevGL是一个免费的开源图形库,供给了建立嵌入式GUI所需的一切,具有易在利用的图形元素、标致的视觉结果和低内存占用。
关在LVGL的文章之前有写过几篇:
LVGL | lvgl最新版本在STM32上的移植利用
LVGL | 基在vs2019的lvgl摹拟器利用
LVGL | GUI-Guider的利用分享
本篇笔记分享基在framebuffer的lvgl的移植利用。
预备工作一种体例是像LVGL | lvgl最新版本在STM32上的移植利用这篇文章的体例一样,从头一步一步来搭建基在framebuffer的工程,本身编写Makefile文件。需要下载:
lvgl lv_drivers lv_examples这些可以在lvgl官方GitHub找到。
然后成立一个工程,把需要用到的文件复制到工程里,编写Makefile文件便可。具体教程可参考这一篇文章:
https://www.icode9.com/content-4-2420.html
除此以外,lvgl官方仓库也有供给基在Linux frame buffer的移植工程:lv_port_linux_frame_buffer,我们直接下载下来点窜一些代码适配我们的板子便可以。
lvgl快速实践文章篇幅有限,我们就纷歧步一步演示移植步调了。我们直接下载lv_port_linux_frame_buffer拿过来进行点窜便可,便可以快速跑起来。
我们可使用git clone --recurse-submodules号令下载,也能够直接下载。关在git clone --recurse-submodules号令的介绍可查阅:LVGL | 基在vs2019的lvgl摹拟器利用这篇文章。我们选择直接下载,下载获得的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),如:
关在frame buffer的介绍可看以下推文:
Linux系统开辟之Framebuffer利用编程
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的可履行文件。
传到板子里运行:
欲知详情,请下载word文档 下载文档