【GD32学习】最新LVGL8.2移植教程

文章目录


前言

准备

官网:LVGL - Light and Versatile Embedded Graphics Libraryhttps://lvgl.io/

官方源码:itHub - lvgl/lvgl: Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).https://github.com/lvgl/lvglGitHub - lvgl/lvgl: Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).目前使用最新版本8.2.0


一、硬件要求

要求最低要求建议要求
架构16、32、64位微控制器或微处理器
时钟> 16 MHz> 48 MHz
Flash/ROM> 64 kB> 180 kB
Static RAM> 16 kB> 48 kB
Draw buffer> 1 × hor. res. pixels> 1/10屏幕大小
编译器C99或更新

二、添加源码到工程

1、源码目录

主要一直以上文件或文件夹,将上面的文件和文件夹复制到工程目录

 将examples文件夹下的porting移到外面

 

2、文件改名

lv_conf_template.h改为lv_conf.h

 

 改为

3、给工程添加源文件

1、添加lvgl_src、lvgl_porting两个分组

2、给lvgl_src分组添加源文件src下的所有源文件

a、..\src\core 下所有源码

b、..\src\draw下所有源码,以及sw下所有源码

 

 

c、\src\extra下所有源码和layouts、libs、others、themes、widgets下所有源文件

 d、..\src\font下所有源码

 e、..\src\gpu不用

f、..\src\hal下所有源文件

 g、..\src\misc和..\src\widgets 下所有源文件

 

 3、添加porting下的自己所需的源文件,这里只添加 了lv_port_disp,我还添加了lv_conf.h配置文件,方便编辑配置

 

 4、添加头文件路径

1、添加如下三个路径,

2、编译找不到 lv_conf.h 头文件

修改 "../../lv_conf.h" 改为  "lv_conf.h" 

也可以通过添加宏定义LV_CONF_INCLUDE_SIMPLE来解决这个问题


 

 编译还是有错,.\Objects\Application.axf: Error: L6218E: Undefined symbol __aeabi_assert (referred from qrcodegen.o).

qrcodegen 中使用了 assert这个断言

断言里面用到了 __aeabi_assert,这个没有定义所以报错了

 我们可以在外面定义__aeabi_assert这个函数如下,或者通过添加定义 NDEBUG宏来失效断言

void __aeabi_assert(const char *err, const char *file, int line)
{
    /* 输出内容自己定 */
}

编译通过,

 

总结

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值