OpenEdv-开源电子网

 找回密码
 立即注册
查看: 4053|回复: 5

一文读懂LVGL移植相关工作

[复制链接]

1117

主题

1128

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4666
金钱
4666
注册时间
2019-5-8
在线时间
1224 小时
发表于 2021-10-25 10:02:16 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2021-11-1 10:28 编辑

以下文章摘自微信公众号——开源电子网《一文读懂LVGL移植相关工作》
更多技术文章,请扫下方二维码关注

开源电子网,扫码2222222.png






1.1移植准备工作

正点原子战舰开发板

战舰例程,已经移植好的触摸驱动和 malloc 驱动的例程

https://github.com/lvgl/lvgl,下载 LVGL V7

1.png


1.2在工程目录下新建 LVGL 文件夹,并在这个文件夹新建 lvgl 的子文件夹,如下图所示:


    打开lvgl 的源码库,复制文件下图文件和文件夹到工程目录下 LVGL/lvgl 文件夹中。

2.png

    打开工程/LVGL/lvgl 文件夹,如下图所示:

3.png

    修改文件lv_conf_template.h 为 lv_conf.h,如以下图所示:

4.png

    打开lv_conf.h文件,#if0 修改#if1,并找到LV_COLOR_DEPTH宏定义,修改成16,如以下源码所示:


5.png


    打开\LVGL\lvgl\examples\porting目录下的

lv_port_disp_template.c和lv_port_indev_template.c和它们各自的.h文件也要把#if0 修改#if1.

    打开工程,添加工程管理项,如下图所示:

6.jpg

Lv_port管理项添加以下文件,这些文件在LVGL\lvgl\examples\porting目录下,如下图所示:

7.jpg

Lv_core管理项添加以下文件,如下图所示:

8.jpg

Lv_draw管理项添加以下文件,如下图所示:

9.jpg

Lv_font管理项添加以下文件,如下图所示:

10.jpg

Lv_gpu管理项添加以下文件,如下图所示:

11.jpg

Lv_hal管理项添加以下文件,如下图所示:

12.jpg

Lv_misc管理项添加以下文件,如下图所示:

13.jpg

Lv_themes管理项添加以下文件,如下图所示:

14.jpg

Lv_widgets管理项添加以下文件,如下图所示:

15.jpg

添加头文件,如下图所示:

16.jpg

注意:请使用C99编译,如下图所示:

17.jpg

修改lv_port_disp_template.c文件和lv_port_indev_template.c文件,如以下所示:

1.lv_port_disp_template.c 文件修改

18.png

19.png

20.png

21.png

2.lv_port_indev_template.c 文件修改

22.png
23.png

3.创建一个定时器,提供 1ms 心跳给 LVGL,如以下所示:

24.png

25.png

然后在main.c 编写代码,如以下源码所示:

26.png

27.png

编译代码 , 如果出现以下问题,可以 在malloc.h文件修改 #define

28.jpg

MEM1_MAX_SIZE 10*1024:

如果你的开发板有外部ram,可以在lv_conf.h文件找到LV_MEM_ADR,这个宏定义默认为0,我们可以定义在外部ram的地址,例如正点原子的战舰开发板的外部ram为0X68000000,所以LV_MEM_ADR0X68000000
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2022-4-18
在线时间
7 小时
发表于 2022-4-19 17:45:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2022-4-9
在线时间
39 小时
发表于 2022-4-23 13:57:31 | 显示全部楼层
直接在配置文件中定义外部地址吗
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2019-12-5
在线时间
33 小时
发表于 2022-4-28 13:23:51 | 显示全部楼层
RAM要求多少?
回复 支持 反对

使用道具 举报

5

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
934
金钱
934
注册时间
2017-4-8
在线时间
111 小时
发表于 2022-10-18 16:24:26 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2016-8-6
在线时间
4 小时
发表于 2022-12-18 13:59:25 | 显示全部楼层
请问一下,标准库能这么移植吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表