初步了解LVGL及其在STM32上的移植方法

1、LVGL简介

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

1.1、LVGL源码下载

lvgl 在github 上的开源代码

https://github.com/lvgl/lvgl

下载的源码包里面所有的        

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移植流程

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

    拓展知识点

    物联沃分享整理
    物联沃-IOTWORD物联网 » 初步了解LVGL及其在STM32上的移植方法

    发表评论