本篇内容有点多,但是非常重要,请大家仔细阅读! Hi,大家好,欢迎来到STM32之littlevGL课堂,相信经过上一篇文章的介绍你对littlevGL,肯定有了一定的了解,而且现在正在跃跃欲试的准备去移植这个项目到你的作品中,当然大牛级别的肯定一看就会了,但是还有很大一部分人不知道从哪里入手。所以本片文章就给大家介绍如何一步步移植lvgl到STM32项目中,废话不多说,我们开始吧! 准备工作 硬件: 本系列教程所使用的硬件为: 1.STM32F746IGT6 核心板(https://www.waveshare.net/shop/Core746I.htm) 2.STM32F746IGT6 开发板(https://www.waveshare.net/shop/Open746I-C.htm) 为了大家更好的学习,建议大家使用相同的硬件。 软件: 1.Keil-MDK (请大家自行下载并安装) 2.lvgl源码(6.1.2版本) 3.lvgl example源码(主线版本) 开始移植 其实移植还是非常简单的,就是适配几个函数,第一个是LCD屏填充函数,lvgl通过这个接口来将界面显示到我们的显示屏上,第二个是获取触摸坐标,lvgl通过这个接口来获取我们操作的哪一个按钮或者其它控件,这就是本节课程移植的主要思想,当然还有一些细节部分,那些我们在后面的操作中再细说。 那么问题来了,我们要适配这两个函数,那我们还要自己写吗?这里大家就不用担心了,你可以学着自己配置你的工程,也可以在本篇文章的最后下载移植好的源码,这样大家就可以直接编译了,无需再去配置自己的工程,大家如果想要自己从头开始配置自己的工程的,可以参考下面的链接,也是在微雪课堂中有讲: 大家可以根据这两篇文章自己去学习一下,配置好并显示和触摸都没有问题后就可以继续往下进行了,当然没有自己配置也想自己从移植开始体验的可以下载LCD屏的例程开始下一步正式移植: 首先打开我们的工程,按照下面步骤,增加几个组文件夹,如下图: 然后我们再增加lvgl、lvgl/example和lvgl/port三个文件夹,这三个文件夹内的内容分别是lvgl的源码,lvgl一些例程的源码以及我们需要对接的接口程序源码,我们一会再往里面添加文件。 然后我们下载lvgl的源码,这里为了跟大家统一一下,我们使用V6.1.2版本的源码,这是当前release的最新的版本,大家可以戳链接下载: 然后是example的源码,这个没有具体的版本,但是建议大家下载master主线的代码,因为老版本的与lvgl V6.1.2不是很兼容,戳链接下载: OK,下载完成后,我们将下载的lvgl源码解压一下,然后将解压出来的文件夹复制到工程目录中去,然后重命令为lvgl,example的源码也是一样,先解压,然后复制到工程目录中去,重命名为lv_examples,最后工程文件目录如下图: 可以看到还多了两个配置文件,我们还需要复制这两个文件出来,lv_conf.h是在lvgl文件夹下的lv_conf_template.h,我们将其复制出来,然后重命名为lv_conf.h,然后lv_ex_conf.h是在lv_examples文件夹下的lv_ex_conf_templ.h文件,同样的我们复制出来,然后重命名,最后我们需要将两个头文件的内容修改一下,我们需要分别打开两个文件,然后将文件的开头部分的#if 0 修改为 #if 1,切记,这一点非常重要,然后我们还需要修改lv_conf.h的下面的内容: #define LV_HOR_RES_MAX (1024) #define LV_VER_RES_MAX (600) 接下来的内容,我们回到Keil继续,我们先将c文件先添加到工程中,跟着下图步骤依次做即可: 同样的,我们再往添加lv/example目录下添加文件,需要添加的文件是: 然后我们再来添加lv/port目录下的文件: 最后我们的工程树应该跟下图一样:
最新评论 |