【LVGL】-- STM32移植(最简便的方式)
LVGL是一个开源的图形库,关于在stm32上移植lvgl的例程很多,但大部分都是从lvgl仓库下载源码,然后在keil工程中添加lvgl相关源文件来实现。但这一个过程中有一个非常繁琐的步骤,就是在添加lvgl源码根目录下的src文件夹里的.c文件时,由于.c文件非常多,且里面还有很多子文件夹,这样一个一个的打开子文件夹去添加.c文件是非常繁琐的,且容易遗漏。本文就针对这一操作步骤提供另一种更简便
·
【LVGL】-- STM32移植(最简便的方式)
1、背景
LVGL是一个开源的图形库,关于在stm32上移植lvgl的例程很多,但大部分都是从lvgl仓库下载源码,然后在keil工程中添加lvgl相关源文件来实现。但这一个过程中有一个非常繁琐的步骤,就是在添加lvgl源码根目录下的src文件夹里的.c文件时,由于.c文件非常多,且里面还有很多子文件夹,这样一个一个的打开子文件夹去添加.c文件是非常繁琐的,且容易遗漏。本文就针对这一操作步骤提供另一种更简便的移植方式。
2、移植
Arm官方已经做好了lvgl相关的包,我们直接从Arm官网下载想要的lvgl版本,添加到keil中,这移植过程就完成了一半。
2.1 下载并安装lvgl包
2.1.1 打开Arm | LVGL官网
2.1.2 选择需要的版本,这里以8.3.10为例

2.1.3 下载好后双击进行安装

2.2 配置包
2.2.1 安装好后在需要移植的keil工程里打开包管理

2.2.2 根据下图在对应选项打上勾


2.2.3 勾选c99 Mode

2.2.4 然后编译,正常是无报错的

2.3 lvgl相关文件修改
2.3.1 打开左边四个文件,把所有的0都改为1

2.3.2在lv_port_disp_template.c文件中注释掉如下图中的代码,作用是只选择第一种缓冲区的方式

2.3.3 然后再次编译,会报头文件找不到的错误

2.3.4 将前面的路径去掉后再次编译,这下应该是无错误的

2.4 LVGL初始化
2.4.1 在main函数里增加对应的头文件和初始化函数

2.4.1 再次编译,无报错,请确保空间足够

3、参考文章:
【快速入门 LVGL】-- 1、STM32 工程移植 LVGL
STM32轻松移植LVGL官方PACK包,一键导入!再也不用担心移植失败啦!!!
至此,以Arm pack包的移植方式已完成,剩下的‘画点函数’适配和‘lvgl心跳’适配请根据参考文章中第一篇。
更多推荐



所有评论(0)