LVGL v7移植到ARM平台
本次移植的是LVGL v7.110
硬件平台:野火IMX6ULL
参考博客:
实践分享 | 基于framebuffer的lvgl的移植使用_嵌入式大杂烩-CSDN博客
⭐建立一个lvgl项目 — 百问网LVGL系列教程 1.0 文档 (gitee.io)
1 下载所需要的仓库
git clone git://github.com/lvgl/lvgl.git -b v7.11.0 #官方图形库
git clone git://github.com/lvgl/lv_drivers.git -b v7.11.0 #输入输出设备驱动官方示例配置
git clone git://github.com/lvgl/lv_demos.git -b v7.11.0 #官方demo,可选
-
lvgl:官方图形库
-
lv_drivers:输入输出设备驱动官方示例配置
-
lv_demos:官方demo,可选
2 设置相关文件
将lv_demos文件夹改名为lv_examples。
当前处于工程根目录
cp lvgl/lv_conf_template.h ./lv_conf.h
cp lv_examples/lv_ex_conf_template.h ./lv_ex_conf.h
cp lv_drivers/lv_drv_conf_template.h ./lv_drv_conf.h
lv_conf.h
#if 0 改为#if 1
#define LV_HOR_RES_MAX (800)#设置屏幕分辨率
#define LV_VER_RES_MAX (480)
#define LV_COLOR_DEPTH 16#设置颜色深度
lv_drv_conf.h
#if 0 改为#if 1
# define USE_FBDEV 1 #改为1 使用framebuffer为/dev/fb0
# define USE_EVDEV 1 #改为1 打开输入,使用/dev/input/event2
你的板子的输入事件可能不是event1,根据实际进行修改。可以使用cat命令来测试一下你板子的触摸屏输入对应的是哪一个event,如:
此时,触摸一下屏幕,则终端会有信息(乱码信息)输出,则说明当前板子的触摸输入对应的就是这个event。
lv_ex_conf.h
#if 0 改为#if 1
主函数调用哪个demo,就把哪个demo的宏定义设置为1,例如
/*Printer demo, optimized for 800x480*/
#define LV_USE_DEMO_PRINTER 1
3 编译
出现如下错误
将lv_conf.h对应的宏定义设置为1
#define LV_FONT_MONTSERRAT_22 1
#define LV_FONT_MONTSERRAT_28 1
#define LV_FONT_MONTSERRAT_32 1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了