LVGL移植关键点
显示:LVGL作为一个GUI,肯定是需要“屏幕”的,LVGL中提供了屏幕的接口文件,我们需要把自己的显示设备和LVGL库接起来的话,就需要在这个接口文件里去配置自己的一些函数。
输入设备:如果你需要使用输入设备的话,例如键盘、鼠标、触控或者是编码器,那么你就需要去LVGL所提供的输入设备的一个接口文件里面,把你的输入设备一些函数配置进去。(我们后续采用触摸屏当作输入设备)
OS系统:如果我们涉及到系统的话,那么使用的就是FreeRTOS。
内存:内存主要涉及两方面的内容,一是SRAM,SRAM在LVGL中可以选择内部或者外部。二是LVGL有一套自研的管理算法,可以配置进去。
LVGL移植整体流程
1、确定输入、输出设备
输入:触摸屏、鼠标、键盘以及编码器;
输出:显示屏。
2、确定所需功能
屏幕数据传输方式(其实就是需不需要用到DMA2D)、系统、SRAM(选择内部还是外部)、内存管理算法(是否需要LVGL的自研内存算法)。
3、准备LVGL库、例程
准备LVGL库文件,还有支持所需功能的例程源码。
4、添加LVGL库到工程
按需裁剪、修改LVGL库文件,并添加到MDK工程中。
5、配置输入、输出设备
适配自己的输入和输出设备,添加所需功能(例如系统)。
6、提供时基、测试
为LVGL提供时基,写测试代码检测移植是否成功。
LVGL移植
LVGL移植分为四个部分,这四个部分,每个部分都是完整的移植,区别在于带不带触摸、选择裸机还是RTOS、使用内部SRAM还是外部SRAM、内存管理使用LVGL自带的还是自己自研的。
移植第一部分
移植:触摸+裸机+内部SRAM+LVGL自带内存管理
- 裁剪LVGL库文件(我们在第一节已经裁剪完了)
- 把 lv_conf_template.h 文件名修改成 lv_conf.h
- 打开 lv_conf.h 文件,修改条件编译指令,把#if 0 修改成#if 1
- 添加定时器文件
- 按照下面的结构新建文件夹:
、