当前位置:   article > 正文

LittleVGL(LVGL) V8版本 干货入门教程一之移植到STM32并运行

littlevgl

LittleVGL(LVGL) V8版本 干货入门教程一之移植到STM32并运行

前言:

此文为我以前的教程“LittleVGL (LVGL)干货入门教程一之移植到stm32芯片”的LVGL V8版本入门教程,适用与LVGL的V8版本,因为V7与V8版本相差较大,所以专门出了这篇文章,以供参考。

阅读前,请确保你拥有以下条件:

  • Keil下的项目的基本创建能力。
  • stm32(或其他平台) 的开发经验。(不是这么重要,因为最低要求有画点函数就行)
  • 你已经实现了一个屏幕的驱动(至少要有画点函数,因为要对接接口)。

LVGL有三大种需要对接的API,可以互相独立使用

  1. 显示API(这个必须有,不然上lvgl就没意义了)
  2. 输入设备API(比如触摸屏、按键 等)
  3. 文件系统API(如FatFs等)

这篇文章只讲“显示API”的移植。

重要) 编译LVGL至少需要c99标准,Keil下编译需要选择AC6编译器。



一、LVGL源码下载方法

使用一个项目的前提就是:你必须获取到源码,那么你有两种方法下载到源码:
1、使用Git命令

git clone https://github.com/lvgl/lvgl.git
  • 1

2、直接从我提供的链接下载,版本为v8.0.3 dev版
LVGL v8.0.3 dev 点我下载

提醒:我推荐的使用方法是——不要增删更改任何的文件,获取到源码后保持原样,之所以这么做,是为了方便配合Git的使用,因为你可以通过Git实时获取到最新的源码,你只用添加文件到你的项目中即可。


二、认识项目目录

移植前理所应当的一件事当然是认识它的项目目录,知道每个目录是干什么的,有什么文件。

1)源码目录:
在源码目录下,所有的c文件和h文件都应该添加到你的项目中,这是最核心的东西。在src/extra/libs目录下的文件,作为第三方库使用,你以后可以使用这些第三方库,后面我会出文章讲,现在不用添加这些文件,不在本文赘述。
在这里插入图片描述
2)example目录:
这个目录也很重要,你可以在里面学习和使用里面的例程,但是在本文基础教程中,我们只使用以下红圈的文件:
在这里插入图片描述


三、 开始移植

好,现在我们已经简单的认识了一些移植必要的文件,那么现在可以开始移植了。
1)添加文件到项目

  1. 将所有src目录下的文件,按以上图片添加到你的项目
  2. 其中 lv_conf_template.h 文件名改为 lv_conf.h 并移动到上级目录。(必须)

port文件改名
Q:为什么要改文件名?
A:因为默认名有_tamplate后缀,当然不改也能用,编译器也能编,但代码是人看的,改掉比较好,把后缀_tamplate删除,文件内也要改。
默认名:
在这里插入图片描述
改后名:
在这里插入图片描述
使能port的使用 (重要

Q:如何使能?
A:在port文件中把“#if 0”改为“#if 1”,c文件和h文件都有这个,其实就是预处理。

整理好后的文件结构大概如下, 可以大致参考一下:
在这里插入图片描述

那么现在你可以尝试编译一下项目了,看看是否有报错,如找不到头文件、变量这类错误,请自行检查是否完全正确添加以上文件到项目。文件的添加较为繁琐,请仔细添加,并正确索引头文件目录。

2)显示API移植(重要)
首先,我们进入 “lv_port_disp.h” 文件,在注释块“MACROS”下添加

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/944462
推荐阅读
相关标签