爱游戏-LittlevGL + Framebuffer的适配例子分享!

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文档 下载文档

上一篇:爱游戏-台积电美国工厂4nm芯片明年开产,半导体风云再起 下一篇:爱游戏-互联网