1、LVGL简介
LVGL是最受欢迎的免费开源嵌入式图形库,可为任何MCU、MPU和显示器类型创建漂亮的用户界面。使用SquareLine工作室,使用拖放UI编辑器来简化开发。
1.1、LVGL源码下载
lvgl 在github 上的开源代码
下载的源码包里面所有的
1.2、LVGL移植要求
- 16、32或64位微控制器或处理器
- 建议速度大于16 MHz
- 闪存/ROM: > 64 kB(建议180 kB)
- 内存:8 kB(建议24 kB)
- 1个帧缓冲器:在MCU、外部RAM或显示控制器中
- LVGL的图形缓冲:>“水平分辨率”像素(推荐1/10“屏幕尺寸”)
- C99或更新的编译器
- 基本的C(或C++)知识:指针、结构、回调
优化LVL运行效果的方法
- 提高芯片主频
- 增大SRAM容量、提供读写速度
- 增大图像缓冲区、使用双缓冲
- 减少需要刷新的总像素
- 提高图像数据的传输速度
关键点:缩短图像刷新所需要的时间
1.3、LVGL的移植裁剪
最开始下载下来的源码如下所示,我们需要将不需要的文件进行删除
将图中选择的文件进行删除
在删除demos中除porting(接口)文件的其他文件
下图就是一个精简的移植包
1.3.1、 LVGL移植的所需知
显示(屏幕) 输入设备 操作系统 内存(SRAM、Flash)
第一个是必要的,后三者是选择性使用(使用到才配做)
1.3.2、LVGL移植流程
- 确定输入、输出设备(输入:触摸屏、鼠标、键盘以及编码器 输出:显示器)
- 确定所需的可选功能(屏幕数据传输方式、系统、SRAM内存管理算法)
- 坐标LVGL库、例程(准备所需版本的LVGL文件)
- 添加LVGL库到工程(按需裁剪LVGL文件,并添加到工程当中)
- 配置输入、输出设备(适配自己的输入和输出设备,添加所需功能)
- 提高心跳、测试(为LVGL提高时基,写测试代码检测移植是否成功)
1.4、LVGL移植(正点原子的LVGL)
移植步骤1
步骤2
步骤3
步骤4
步骤5
步骤6
步骤7:提高时基(心跳)
步骤8:main函数部分
到这里基本上就完成了一个基础的LVGL移植了,从中基本上了解了如何移植LVGL,下面则是关于RTOS、外部SRAM、内存管理的移植。
1.5、LVGL关于FreRTOS的移植
步骤1
步骤2:
步骤3:
步骤4:
拓展知识点