本次移植的是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