你是否也曾被ESP32的显示开发折磨到“头秃”?环境配置报错、LVGL移植失败、屏幕死活不亮……无数个小时在调试中白白浪费。
别担心,这篇指南就是你的“速救手册”。我们将跳过所有繁琐的坑,直击核心,让你在最短时间内,亲眼看到LVGL界面在启明智显ESP32-S3 2.8寸屏上流畅运行。无需痛苦的摸索,跟着我们的步骤,从零到一,全程畅通无阻。
搭建ESP-IDF环境
1. 输入以下代码更新软件包:sudo apt-get update

2. 输入以下代码安装esp-idf环境依赖包:
sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake
ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools)

3. 创建存放idf的⽂件夹,路径可以⾃⼰选择(mkdir esp cd esp)
4. 进行换源(此操作只需国内⽤户进⾏,国外⽤户请忽略),拉取gitee⼯具

5. 输入代码cd esp-gitee-tools执⾏gitee⼯具切换镜像脚本

6. 更换pip源,拉取esp-idf源码:
cd .. git clone --recursive https://github.com/espressif/esp-idf.git

7. 切换esp-idf版本分⽀到v5.1
8.安装编译⼯具

9.设置环境变量并将环境变量放到.bashrc中,验证esp-idf环境

下载启明SDK
1. 输入以下代码拉取源码,该拉取流程中已集成 LVGL demo 相关资源:git clone https://gitee.com/qiming-zhixian/qmsd-esp32-bsp.git
2. 进⼊示例目录,输入以下代码选择开发板类型:idf.py load-board,以ZX2D80CE02S这款产品为例,键盘输⼊2,回车等待系统配置完成
3.编译工程 idf.py build4. 打包固件 idf.py generate-firmware 会⽣成⼀个firmware_0x0.bin⽂件,将打包的固件复制到桌面上
烧录
1.输入以下网址进入官网下载烧录工具,点击Download,选择flash Download Tool进行下载:
https://www.espressif.com/zh-hans/support/download/other-tools

2. 打开烧录工具,ZX2D80CE02S选择类型为ESP32-S3 ,点击ok

3. 选择需要烧录的固件,目标地址为0x0.选择目标端口号
4. 点击START开始烧录
一移植LVGL官方例程到qmsd
1. 输入qmsd的示例get-start,我们的修改将基于get-start进行

2. 新建自定义组件目录,输入代码mkdir components获取LVGL8.10.0源代码

3. 解压后进⼊此目录下将其复制到widgets目录下

4. 编写CMakeLists.txt使程序加⼊构建系统
idf_component_register(
SRC_DIRS .
INCLUDE_DIRS .
REQUIRES ui_engine)

5. 修改复制的⽂件,使其适配qmsd
6. 修改mian.c,在app_main(Void)中添加以下代码开启GUI刷新任务

7. 输入以下配置代码将屏幕变为横屏

8. 选择开发板类型(选择开发板时出错可以尝试将启明SD添加进环境变量),开始编译

9. 编译失败,此次失败原因是芯片内部 32KB 内存不足,需修改配置

10.再次编译,再次打包固件并复制到桌面上替换,按照之前的烧录步骤再次烧录
本地代码合成
1. 编写⼀个串口初始化函数
2. 修改main_app(Void)
3. 创建⼀个串口接收线程
4. 修改LVGL界⾯
跟着这份指南一步步操作,相信你已经成功点亮了屏幕,并看到了属于自己的LVGL界面。这不仅是代码的成功运行,更是你攻克嵌入式UI开发难题的坚实一步。
如果在实践中遇到任何问题,或者成功做出了炫酷的效果,欢迎在评论区分享你的成果与经验——你的真实经历,就是帮助其他开发者最宝贵的力量。
全部0条评论
快来发表一下你的评论吧 !