0
点赞
收藏
分享

微信扫一扫

[ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9


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

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

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

下载完毕后,如图所示:

[ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9_单片机_02


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

[ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9_git_03


由于s3只有两组spi,与工程不适配,需要我们手动修改代码。

修改内容如下:

  1. x\Espressif\components\hal\include\hal\spi_types.h
  2. [ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9_单片机_04

  3. x\Espressif\components\lvgl_esp32_drivers\lvgl_helpers.c
  4. [ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9_单片机_05

修改完毕后,编译ok

[ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9_LVGL_06


帧数最高的组合是 :

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

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

16、32 或 64 位微控制器或处理器
建议使用 16 MHz 时钟速度
闪存/ROM:> 64 kB 用于非常重要的组件 (> 建议使用 180 kB)
RAM:
静态 RAM 使用量:0~2 kB,取决于使用的功能和对象类型
堆: > 2kB (> 建议使用 8 kB)
动态数据(堆): > 2 KB (> 如果使用多个对象,建议使用 16 kB). 在 lv_conf.h 文件中配置 LV_MEM_SIZE 生效。
显示缓冲区:> “水平分辨率”像素(推荐> 10 × 10ד水平分辨率”)
MCU 或外部显示控制器中的一个帧缓冲器
C99 或更新的编译器
具备基本的 C(或 C++)知识
一块能驱动显示屏且Flash大于64KB,RAM大于20KB的单片机都可以支持运行LVGL。这样也就说明只需要是我们经常用于开发的单片机几乎都可以支持(16bit及以上)LVGL,LVGL能够同时被这么多平台支持的主要原因是LVGL对硬件的要求并不算太高。


举报

相关推荐

0 条评论