LVGL的初步了解以及移植到STM32

1、LVGL简介

        LVGL是最受欢迎的免费开源嵌入式图形库,可为任何MCU、MPU和显示器类型创建漂亮的用户界面。使用SquareLine工作室,使用拖放UI编辑器来简化开发。

LVGL的初步了解以及移植到STM32_第1张图片

1.1、LVGL源码下载

lvgl 在github 上的开源代码

https://github.com/lvgl/lvgl

下载的源码包里面所有的        

LVGL的初步了解以及移植到STM32_第2张图片

LVGL的初步了解以及移植到STM32_第3张图片

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的移植裁剪

最开始下载下来的源码如下所示,我们需要将不需要的文件进行删除

LVGL的初步了解以及移植到STM32_第4张图片

 将图中选择的文件进行删除LVGL的初步了解以及移植到STM32_第5张图片

 在删除demos中除porting(接口)文件的其他文件

LVGL的初步了解以及移植到STM32_第6张图片

 下图就是一个精简的移植包

LVGL的初步了解以及移植到STM32_第7张图片

1.3.1、 LVGL移植的所需知

显示(屏幕)                 输入设备                   操作系统                 内存(SRAM、Flash)

第一个是必要的,后三者是选择性使用(使用到才配做)

1.3.2、LVGL移植流程

  1. 确定输入、输出设备(输入:触摸屏、鼠标、键盘以及编码器        输出:显示器)
  2. 确定所需的可选功能(屏幕数据传输方式、系统、SRAM内存管理算法)
  3. 坐标LVGL库、例程(准备所需版本的LVGL文件)
  4. 添加LVGL库到工程(按需裁剪LVGL文件,并添加到工程当中)
  5. 配置输入、输出设备(适配自己的输入和输出设备,添加所需功能)
  6. 提高心跳、测试(为LVGL提高时基,写测试代码检测移植是否成功)

LVGL的初步了解以及移植到STM32_第8张图片

 1.4、LVGL移植(正点原子的LVGL)

移植步骤1

LVGL的初步了解以及移植到STM32_第9张图片

 步骤2

LVGL的初步了解以及移植到STM32_第10张图片

 步骤3

LVGL的初步了解以及移植到STM32_第11张图片

步骤4 

LVGL的初步了解以及移植到STM32_第12张图片

步骤5

LVGL的初步了解以及移植到STM32_第13张图片

步骤6 

LVGL的初步了解以及移植到STM32_第14张图片

 步骤7:提高时基(心跳)

LVGL的初步了解以及移植到STM32_第15张图片

 步骤8:main函数部分

LVGL的初步了解以及移植到STM32_第16张图片

        到这里基本上就完成了一个基础的LVGL移植了,从中基本上了解了如何移植LVGL,下面则是关于RTOS、外部SRAM、内存管理的移植。 

1.5、LVGL关于FreRTOS的移植

步骤1

LVGL的初步了解以及移植到STM32_第17张图片

 步骤2:

LVGL的初步了解以及移植到STM32_第18张图片

 步骤3:

LVGL的初步了解以及移植到STM32_第19张图片

步骤4:

LVGL的初步了解以及移植到STM32_第20张图片

拓展知识点

LVGL的初步了解以及移植到STM32_第21张图片

你可能感兴趣的:(STM32专区,GUI,学习)