[应用相关] 国民技术N32G45X移植LVGL8.3+ILI9488

[复制链接]
4497|56
 楼主| g36xcv 发表于 2023-5-26 23:26 | 显示全部楼层 |阅读模式
硬件方面

使用的是自制的一块控制板,主控选用的是国民技术的N32G452VEL7芯片,屏幕大小为3.5寸,驱动型号为ILI9488。
1.2 软件方面

从GitHub中获取LVGL码源: GitHub - lvgl/lvgl at release/v8.3
按照下边图示(步骤1-5)选择V8.3版本并进行下载

QQ截图20230526232615.jpg

评论

———————————————— 版权声明:本文为CSDN博主「旧码头~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/CK_914/article/details/129258392  发表于 2023-5-26 23:53
 楼主| g36xcv 发表于 2023-5-26 23:27 | 显示全部楼层
 楼主| g36xcv 发表于 2023-5-26 23:28 | 显示全部楼层
移植LVGL
2.1 修改LVGL相关文件名

    打开下载好的LVGL-V8.3文件夹,移植LVGL主要就是操作下边这四份文件(/文件夹)

QQ截图20230526232813.jpg
 楼主| g36xcv 发表于 2023-5-26 23:30 | 显示全部楼层
在项目工程文件夹中创建一份新文件夹,并命名为LVGL,然后复制LVGL-V8.3里边的这四份文件,其中porting文件夹是在上图的examples文件夹里。
QQ截图20230526232924.jpg
为了看着专业一点的感觉,我们可以将文件名进行修改,
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。
QQ截图20230526232954.jpg
port_disp (显示相关)
port_fs (文件系统相关)
port_indev(输入设备相关)
 楼主| g36xcv 发表于 2023-5-26 23:30 | 显示全部楼层
加载LVGL头文件

    将LVGL的头文件加载进来并设置为C99模式

QQ截图20230526233036.jpg
 楼主| g36xcv 发表于 2023-5-26 23:31 | 显示全部楼层
添加LVGL码源
  在项目工程文件栏处创建两份新的文件
QQ截图20230526233123.jpg
LVGL_SRC (用来存放lvgl源码)
LVGL_POR(用来配置lvgl接口文件)

 楼主| g36xcv 发表于 2023-5-26 23:32 | 显示全部楼层
LVGL_POR文件里边加载这三份文件,(仅屏幕显示)

QQ截图20230526233205.jpg
 楼主| g36xcv 发表于 2023-5-26 23:33 | 显示全部楼层
将LVGL/src里边的所有.c文件全都加载进LVGL_SRC文件里,数量有点多,注意别落下。

QQ截图20230526233309.jpg
 楼主| g36xcv 发表于 2023-5-26 23:33 | 显示全部楼层
2.4 修改lv_conf.h文件
  将lv_conf.h中if 0改成 if 1

QQ截图20230526233349.jpg

 楼主| g36xcv 发表于 2023-5-26 23:34 | 显示全部楼层
修改内存大小 QQ截图20230526233416.jpg
 楼主| g36xcv 发表于 2023-5-26 23:34 | 显示全部楼层
打开显示CPU使用率和FPS计数

QQ截图20230526233444.jpg
 楼主| g36xcv 发表于 2023-5-26 23:35 | 显示全部楼层
修改lv_port_disp.c文件

    将lv_port_disp.c中if 0改成 if 1
    将lv_port_disp_template.h改为lv_port_disp.h
QQ截图20230526233519.jpg
 楼主| g36xcv 发表于 2023-5-26 23:37 | 显示全部楼层
修改屏幕分辨率
QQ截图20230526233656.jpg

 楼主| g36xcv 发表于 2023-5-26 23:37 | 显示全部楼层
选择缓存配置
QQ截图20230526233724.jpg

 楼主| g36xcv 发表于 2023-5-26 23:38 | 显示全部楼层
添加屏幕填充函数
LCD_Color_Fill(area->x1,area->y1,area->x2,area->y2,(uint16_t *)color_p);


QQ截图20230526233811.jpg

 楼主| g36xcv 发表于 2023-5-26 23:39 | 显示全部楼层
修改lv_port_disp.h文件

    将lv_port_disp.h中if 0改成 if 1
    将lvgl/lvgl.h改为lvgl.h

QQ截图20230526233903.jpg
 楼主| g36xcv 发表于 2023-5-26 23:39 | 显示全部楼层
lvgl初步编译
  经过编译后,出现一些错误:
QQ截图20230526233939.jpg

 楼主| g36xcv 发表于 2023-5-26 23:40 | 显示全部楼层
按住ctrl+F,按照下图操作来进行批量替换
QQ截图20230526234009.jpg

 楼主| g36xcv 发表于 2023-5-26 23:40 | 显示全部楼层
修改完成后编译通过

QQ截图20230526234037.jpg

 楼主| g36xcv 发表于 2023-5-26 23:44 | 显示全部楼层
屏幕显示测试
3.1修改堆栈大小
  Stack栈改为0x1000(4Kb)
Heap堆改为0x800(2Kb)

QQ截图20230526234440.jpg

您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

412

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部