【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心跳’适配请根据参考文章中第一篇。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐