准备工作需安装VScode、platformio插件

创建文件

LVGL移植要求

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

2、主控频率:>16Mhz

3、Flash/ROM:>64kb,建议180kb以上

4、RAM:>8kb,建议24kb以上

5、图形缓冲区:>水平分辨率像素,建议大于1/10屏幕总像(针对8)

6、C99或更新的版本的编译器

只需在platformio.ini中配置即可

[env:my-esp32]
platform = espressif32 @ 6.6.0
board = esp32-s3-devkitc-1   ; 指定开发板型号为 ESP32-S3-DevKitC-1
framework = arduino			  ; 使用 Arduino 开发框架
board_build.arduino.partitions = default_16MB.csv	  ; 使用 16MB 闪存的分区表
board_build.arduino.memory_type = qio_opi	; 设置 PSRAM 为 QIO OPI 模式(高性能 Octal SPI)
build_flags = -D BOARD_HAS_PSRAM	 ; 定义编译宏,启用 PSRAM 支持
board_upload.flash_size = 16MB	 ; 指定芯片闪存大小为 16MB(需匹配分区表)
upload_speed = 500000			 ; 设置串口烧录波特率为 500000 bps(高速烧录)

lib_deps = 
	lvgl/lvgl@^8.3.9
	bodmer/TFT_eSPI@2.5.0

为什么使用espressif32 @ 6.6.0请参考文档:

ESPS3不断重启问题-CSDN博客

修改lvgl相关文件

将lv_conf_temp.h改为lv_conf.h

修改lv_conf.h

设置为if 1,使能LV_MEM_CUSTOM和LV_TICK_CUSTOM

修改TFT+eSPI相关文件

根据你使用的屏幕类型修改,这里以ST7789为例

1、找到你需要的驱动程序

2、定义显示屏颜色顺序(一般ILI9341和ST7789都是BGR)

3、定义像素高度高度

4、纠正颜色反转

5、定义背光引脚配置

6、找到你对应开发板的屏幕引脚配置代码进行修改(这里是ESP32S3)

7、根据需要定义SPI时钟频率

根据实例代码运行检查移植是否成功

1、将示例代码复制到main文件中

2、注释掉触摸相关代码后运行

更多推荐