记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。

LiSun

记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、简介

LVGL(Light and Versatile Graphics Library)是一个轻量级的嵌入式图形库。LVGL的项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi 。

二、准备工程(请提前安装idf)

(1) 工程准备:

  1. 在工程目录,打开cmd输入:如下,然后回车,开始下载LVGL
  2. github: git clone --recurse-submodules https://github.com/lvgl/lv_port_esp32.git
  3. gitee(国内下载快):git clone --recurse-submodules https://gitee.com/wangtake/lv_port_esp32.git

在这里插入图片描述

[ESP32] 快速搭建vscode开发环境(便捷式)

(2) 下载完毕后,如图所示:

在这里插入图片描述

(3) 直接用esp32s3编译就会报错,如下图:

在这里插入图片描述
由于s3只有两组spi,与工程不适配,需要我们手动修改代码。
修改内容如下:

  1. x\Espressif\components\hal\include\hal\spi_types.h
    在这里插入图片描述

  2. x\Espressif\components\lvgl_esp32_drivers\lvgl_helpers.c
    在这里插入图片描述

(4) 修改完毕后,编译ok

在这里插入图片描述

其他

(1)帧数最高的组合是 :

采用LTDC+配置LVGL的显存方式为第二种(两个屏幕尺寸的八分之一的在内部SRAM里的显存)+打开DMA2D加速宏。

(2)配置要求

  1. 基本上,每个能够驱动显示器的现代控制器都适合运行 LVGL。最低要求是:

  2. 16、32 或 64 位微控制器或处理器

  3. 建议使用 16 MHz 时钟速度

  4. 闪存/ROM:> 64 kB 用于非常重要的组件 (> 建议使用 180 kB)

  5. RAM:
    静态 RAM 使用量:0~2 kB,取决于使用的功能和对象类型
    堆: > 2kB (> 建议使用 8 kB)

  6. 动态数据(堆): > 2 KB (> 如果使用多个对象,建议使用 16 kB). 在 lv_conf.h 文件中配置 LV_MEM_SIZE 生效。

  7. 显示缓冲区:> “水平分辨率”像素(推荐> 10 × 10ד水平分辨率”)
    MCU 或外部显示控制器中的一个帧缓冲器

  8. C99 或更新的编译器

  9. 具备基本的 C(或 C++)知识

一块能驱动显示屏且Flash大于64KB,RAM大于20KB的单片机都可以支持运行LVGL。这样也就说明只需要是我们经常用于开发的单片机几乎都可以支持(16bit及以上)LVGL,LVGL能够同时被这么多平台支持的主要原因是LVGL对硬件的要求并不算太高。

posted on 2022-07-22 14:36  嵌入式单片机实验室  阅读(355)  评论(0)    收藏  举报  来源
记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。