MicroPython[ESP32-S3]:使用esptool刷入固件

bilibili-视频演示

点击本文字,打开哔哩哔哩APP

NO.1
物品准备

准备好USB+ESP32-S3 R16N8

此图片的alt属性为空;文件名为image-814-1024x765.png

NO.2
安装驱动

本文系统环境win10

先插入USB到电脑,看看ESP32-S3是否被识别

在桌面鼠标右键-个性化

此图片的alt属性为空;文件名为image-815-1024x539.png

输入 设备管理器 关键字查询
点击设备管理器

此图片的alt属性为空;文件名为image-816.png

如果被识别,会看到红框标注的地方

端口(COM和LPT)

如果一个设备都没有被识别,是找不到红框这一行的提示的

此图片的alt属性为空;文件名为image-817.png

点击红框左侧箭头,展开当前端口设备信息

可以看到USB串行设备(COM12)

注意

当有多个设备的时候,这里就会显示多个,可能会分不清哪个串口标识对应哪个设备

这个时候把USB拔插下,看看哪个信息消失或者变动,就对应的是哪个设备

记住这里的COM12后面会用到

此图片的alt属性为空;文件名为image-818.png

已测试win11没有安装任何驱动,就可以识别ESP32-S3

但是win10在使用ESP32-S3之前已经安装了CH340驱动和CP2102驱动

如果你的ESP32-S3插上USB没有被检测到,那么可能要安装驱动

CH343驱动下载

https://www.wch.cn/downloads/CH343SER_EXE.html

此图片的alt属性为空;文件名为image-819-1024x397.png

CH343驱动安装

在下载的EXE文件,点击右键,选择以管理员身份运行

点击安装,等待安装成功提示

此图片的alt属性为空;文件名为image-820.png

然后再重新拔插ESP32-S3连接电脑的USB,看看是否被识别

不行,就重启电脑一次再试试

注意

一般卖家的图文介绍会描述当前开发板支持的驱动

如下图的CH343p

不清楚的可以直接问你的卖家客服,问清楚驱动支持再下单

此图片的alt属性为空;文件名为image-821.png

NO.3
esptool刷固件

注意ESP32-S3的固件无法使用Thoony编辑器的方式来刷入

本文采用的是esptool

github地址

https://github.com/espressif/esptool/tree/master

下载esptool

pip install esptool

此图片的alt属性为空;文件名为image-822-1024x309.png

擦除闪存

注意,插上USB后

  1. 先长按住ESP32-S3上的BOOT键,不要松开

  2. 然后按一下RST键,会看到红灯闪一下,进入刷机模式

  3. 然后再查看设备管理器的端口(对应的串口设备标识)

  4. 执行以下代码进行闪存擦除

esptool --chip esp32s3 --port COM11 erase_flash

刷入固件

这里我们用的固件为lv_micropython_esps3n16r8_color32.bin(色深32)

执行下面的命令

esptool --chip esp32s3 --port COM11 write_flash -z 0x0000 lv_micropython_esps3n16r8_color32.bin

NO.4
检测内存

刷完固件后,把ESP32-S3 USB拔插一次

下载Thonny编辑器并安装

https://thonny.org/

此图片的alt属性为空;文件名为image-823.png

然后打开Thonny编辑器

此图片的alt属性为空;文件名为image-824-1024x552.png

点击菜单栏-运行-配置解释器

然后选择端口(本文的为COM12)

点击好的

可以看到底部shell窗口已经提示了MicroPython的相关信息

此图片的alt属性为空;文件名为image-825-1024x554.png

如果没有shell面板

可以点击菜单栏-运行-停止重启后端进程

然后就可以看到底部shell

此图片的alt属性为空;文件名为image-826-1024x557.png

输入help()

可以看到MicroPython的信息

此图片的alt属性为空;文件名为image-827-1024x398.png

先输入

import micropython

再输入

micropython.mem_info()

可以看到GC总共为8M

此图片的alt属性为空;文件名为image-828-1024x304.png

再输入

import esp

再输入

esp.flash_size()/1024/1024

可以看到计算的闪存为16M

此图片的alt属性为空;文件名为image-829-1024x236.png

至此ESP32-S2 R16N8固件(MicroPython+LVGL)输入成功

LVGL的检验要等到下一面接入屏幕并电量屏幕来测试

NO.5
Tips

本文总结

  1. 先准备硬件(ESP32-S3开发板+USB)

  2. 其次通过设备管理器查看端口号(如果不支持,则需要安装对应的驱动,比如CH343)

  3. 然后通过esptool来进行闪存擦除和固件刷入(需要python环境)

  4. 为了验证固件,我们使用Thonny编辑器在控制条查看了闪存和内存(确实支持R16N8以及MicroPython)

  5. LVGL的验证留到下次连接触控屏来测试

END