最近项目用了 微雪 ESP32-S3 2.8寸IPS LCD电容触摸显示屏,这个官方不支持micropython,只能自己捣鼓一个了,在此记录下编译过程和参数。
在官方确认了必须的硬件参数:
屏幕:ST7789T3
触控:CST328
IMU:QMI8658C
第一步,配置编译环境
brew install cmake,ninja,python
第二步,下载源代码
源代码放在:/Volumes/Workspaces/esp/
git clone https://github.com/lvgl-micropython/lvgl_micropython.git
第三步,初始化并更新所有子项目
git submodule update --init --recursive
拉取最新变更
git submodule update --remote
要更新的内容非常多,全是从github上更新的,如更新困难可想办法科学更新。
第四步,开始编译固件:
python3 make.py esp32 clean BOARD=ESP32_GENERIC_S3 DISPLAY=st7789 INDEV=cst328 --flash-size=16 --ccache --enable-uart-repl=y --dual-core-threads
参数说明:
python3 make.py {build target} {build options} {{model/variant} {model/variant specific options}} {global options}
build target: 编译目标,这里编译 esp32
build options: 编译参数,这里只有 clean,表示每次编译前都清除掉以前编译的缓存
BOARD: ESP32的具体型号,这里用,ESP32_GENERIC_S3,更多的在在 /Volumes/Workspaces/esp/lvgl_micropython/lib/micropython/ports/esp32/boards 里面找。
DISPLAY: 屏幕驱动,这里用的st7789
INDEV: cst328,触控驱动
--flash-size=16: 闪存大小
--ccache: 加快构建速度
--enable-uart-repl: 开启或关闭基于UART的REPL(交互式解释器)
--dual-core-threads: (实验性)MicroPython上用户只能在ESP32的单个内核上运行代码,此选项允许代码在两个CPU内核上运行。
编译过程要十几分钟,性能关键在电脑CPU!编译过程中还会自动下载一大堆依赖包,慢慢等吧~~
编译完成的样子:
最后就是编译成功后的刷机命令:
/Users/zy/.espressif/python_env/idf5.5_py3.14_env/bin/python -m esptool --chip esp32s3 -p (PORT) -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m --erase-all 0x0 /Volumes/Workspaces/esp/lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-16.bin
将其中的 (PORT) 换成esp32的正常地址,比如:/dev/tty.usbmodem14B201
刷新完成显示:
好了,现在能正常使用带lvgl库的micropython了!



:bi...
文章评论