0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于framebuffer的lvgl的移植使用

Linux大陆 来源:Linux大陆 2023-06-12 11:50 次阅读

准备工作

一种方式是像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





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3569

    浏览量

    129246
  • Linux系统
    +关注

    关注

    4

    文章

    591

    浏览量

    27357
  • GUI
    GUI
    +关注

    关注

    3

    文章

    649

    浏览量

    39551
  • LVGL
    +关注

    关注

    1

    文章

    81

    浏览量

    2912

原文标题:LittlevGL + Framebuffer的适配例子分享!

文章出处:【微信号:Linux大陆,微信公众号:Linux大陆】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LVGL工具使用

    文章所有资料以及代码下载途径LVGL工具使用:主要介绍下模拟器的使用/电脑组态软件(我通常把电脑拖控件软件叫做组态软件)LVGL概念概述:主要对LVGL的对象/事件/风格/输入设备/显示等概念做介绍
    发表于 12-15 07:17

    在嵌入式linux上如何去运行LVGL

    GitHub - lvgl/lv_port_linux_frame_buffer: LVGL configured to work with a standard Linux framebuffer
    发表于 12-15 07:58

    lvgl移植的相关资料下载

    lvgl移植下载链接[lvglgithub官方](lvgl/lvgl: Powerful and easy-to-use embedded GUI library with many
    发表于 01-11 06:45

    LVGL移植教程相关资料分享

    的开发版用分辨率240*320屏幕移植LVGL,如果只有Gauge这种界面局部刷新的控件效果差强人意,但只要全
    发表于 03-02 07:09

    【赛昉科技昉·星光RISC-V单板计算机试用体验】测评视频第一篇之基于framebuffer的HDMI显示输出测试

    本文介绍使用framebuffer进行hdmi的显示输出测试。为后续的图形界面的移植(比如LVGL)做好准备。前提是已经了解应用程序的开发流程,见https://bbs.elecfans.com/jishu_2286643_1_
    发表于 06-14 22:26

    N32G457快速移植LVGL图形库的方法

    1、N32G457快速移植LVGL图形库  由于 lvgl 软件包过大,超过压缩后整个工程超过 20M,所以没有上传,需要自行 pkgs —update 一下,下载 lvgl 软件包,
    发表于 11-04 15:52

    LVGL系列(二)之二 LVGL常见问题解答 整理自官方文档

    为什么要学习LVGLLVGL系列(二)之二 LVGL常见问题解答 整理自官方文档二、LVGL系列(二)LVGL仿真环境的搭建(WIN下) 2.1如何在仿真环境下运行自己的代码三、LVG
    发表于 11-24 13:36 12次下载
    <b class='flag-5'>LVGL</b>系列(二)之二 <b class='flag-5'>LVGL</b>常见问题解答 整理自官方文档

    STM32F4芯片移植_LVGL7.11_UCOS移植代码工程

    STM32F4芯片移植_LVGL7.11_UCOS移植代码工程
    发表于 12-09 17:45 24次下载

    W806单片机移植LVGL库例程源码下载

    W806单片机移植LVGL库例程源码下载。
    发表于 05-11 15:11 15次下载

    【开鸿智谷NiobeU4开发板免费试用体验】lvgl移植及实现ADC按键状态显示

    智谷NiobeU4开发板免费试用体验】移植LVGL  本文参考成功移植,实现按键按下sw4显示SW4 Pressed松开显示SW4 Release,整理踩坑经验分享如下。 1.移植准备
    的头像 发表于 10-14 11:27 1261次阅读
    【开鸿智谷NiobeU4开发板免费试用体验】<b class='flag-5'>lvgl</b><b class='flag-5'>移植</b>及实现ADC按键状态显示

    【开鸿智谷NiobeU4开发板免费试用体验】移植LVGL

    ,使用的控制器是ST7735,SPI接口,16位。前两篇已经进行了屏幕的显示测试,具备了移植GUI的条件,本篇我们移植LVGL。 参考 https://lvgl.io/ 准备代码 cd
    的头像 发表于 10-14 15:23 1120次阅读
    【开鸿智谷NiobeU4开发板免费试用体验】<b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>

    【赛昉科技昉·星光RISC-V单板计算机试用体验】测评视频第一篇之基于framebuffer的HDMI显示输出测试

    hdmi 的显示输出测试。为后续的图形界面的移植 ( 比如 LVGL) 做好准备。   前提是已经了解应用程序的开发流程 , 见 https://bbs.elecfans.com/jishu_2286643_1_1.html  
    的头像 发表于 11-15 11:26 495次阅读
    【赛昉科技昉·星光RISC-V单板计算机试用体验】测评视频第一篇之基于<b class='flag-5'>framebuffer</b>的HDMI显示输出测试

    AN042基于GD32F450I的LVGL移植

    AN042 基于GD32F450I的LVGL移植
    发表于 02-27 18:28 4次下载
    AN042基于GD32F450I的<b class='flag-5'>LVGL</b><b class='flag-5'>移植</b>

    Hi3861移植LVGL教程

    给 Hi3861 适配了硬件 spi ,master 模式下最高 spi 速率可以达到 40M,用来驱动 oled 屏幕。适配过程遇到了一个芯片bug,困扰了很久,clk 管脚驱动能力差,需要外接一个上拉电阻才能正常运行。适配完成移植 lvgl 8,分享适配的过程。
    的头像 发表于 05-18 09:23 2162次阅读
    Hi3861<b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>教程

    SWM32SRET6——LVGL移植

    SWM32SRET6——LVGL移植
    的头像 发表于 10-26 17:33 1163次阅读
    SWM32SRET6——<b class='flag-5'>LVGL</b><b class='flag-5'>移植</b>