国民技术N32G45X移植LVGL8.3+ILI9488
硬件方面使用的是自制的一块控制板,主控选用的是国民技术的N32G452VEL7芯片,屏幕大小为3.5寸,驱动型号为ILI9488。
1.2 软件方面
从GitHub中获取LVGL码源: GitHub - lvgl/lvgl at release/v8.3
按照下边图示(步骤1-5)选择V8.3版本并进行下载
移植LVGL
2.1 修改LVGL相关文件名
打开下载好的LVGL-V8.3文件夹,移植LVGL主要就是操作下边这四份文件(/文件夹)
在项目工程文件夹中创建一份新文件夹,并命名为LVGL,然后复制LVGL-V8.3里边的这四份文件,其中porting文件夹是在上图的examples文件夹里。
为了看着专业一点的感觉,我们可以将文件名进行修改,
lv_conf_template.h重命名为lv_conf.h、
porting文件夹里的lv_port_disp_template.c重命名为lv_port_disp.c、
lv_port_disp_template.h重命名为lv_port_disp.h。
port_disp (显示相关)
port_fs (文件系统相关)
port_indev(输入设备相关) 加载LVGL头文件
将LVGL的头文件加载进来并设置为C99模式
添加LVGL码源 在项目工程文件栏处创建两份新的文件
LVGL_SRC (用来存放lvgl源码)
LVGL_POR(用来配置lvgl接口文件)
LVGL_POR文件里边加载这三份文件,(仅屏幕显示)
将LVGL/src里边的所有.c文件全都加载进LVGL_SRC文件里,数量有点多,注意别落下。
2.4 修改lv_conf.h文件 将lv_conf.h中if 0改成 if 1
修改内存大小 打开显示CPU使用率和FPS计数
修改lv_port_disp.c文件
将lv_port_disp.c中if 0改成 if 1
将lv_port_disp_template.h改为lv_port_disp.h
修改屏幕分辨率
选择缓存配置
添加屏幕填充函数
LCD_Color_Fill(area->x1,area->y1,area->x2,area->y2,(uint16_t *)color_p);
修改lv_port_disp.h文件
将lv_port_disp.h中if 0改成 if 1
将lvgl/lvgl.h改为lvgl.h
lvgl初步编译 经过编译后,出现一些错误:
按住ctrl+F,按照下图操作来进行批量替换
修改完成后编译通过
屏幕显示测试 3.1修改堆栈大小 Stack栈改为0x1000(4Kb)
Heap堆改为0x800(2Kb)