(ps:我这边使用的是ESP32-S2)

一、前景提要

其实网上有内容基本一致的文章,我也是借鉴来的,附上原文链接https://www.cnblogs.com/manastudent/p/18131948

我再写一份的目的一个是略微再添加了一些自己的内容,另一个是防止它那个博客丢了我找不到。。毕竟这相关的资料确实没多少。

二、下载官方flash_download_tool

Flash下载工具用户指南

我这边下载的是3.9.9_R2版本

下载后解压缩,然后双击打开"flash_download_tool/flash_download_tool_x.x.x.exe"

选好芯片型号和烧录模式后点OK

三、通过Vscode PIO的编译log来确定烧录的内容、位置

看上图黑色区域的信息,可以发现总共烧录了4个文件(不同的芯片烧录的文件数量、地址都可能不一样)。

其中的序号1、2、4  这三个文件在   "(工程名)/.pio/build/(esp32板子名字) " 这个目录。然后我这边是这样的:

序号3这个文件是分区表编译出来的内容,在PIO的文件目录里,相对位置是".platformio\packages\framework-arduinoespressif32\tools\partitions"

最好是直接用Everything这种软件全盘搜索一下就有了,我这边是这样的:

总结四个文件分别为:

1、bootloader.bin      0x1000

2、partitions.bin        0x8000

3、boot_app0.bin     0xe000

4、firmware.bin        0x10000

四、通过板子型号确定SPI MODE

PIO新建工程的时候,是需要输入板子型号的,这个板子型号是对应了一个json文件的,可以打开工程里的platformio.ini文件,然后找到板子型号,位置如下:

然后在PIO的文件目录里,相对位置是".platformio\platforms\espressif32\boards",打开同名的json文件,在里面会有写SPI mode:

现在知道我这边是QIO的方式下载了

五、使用flash_download_tool下载文件

把文件一个个添加进去,然后,

如果你用USB转串口工具连接的ESP32,那么直接COM口选择对应的端口。

如果你是让电脑的USB口直连ESP32的D+/D-的(就是USB OTG端口),那么需要按下BOOT按键、按下RST(或者EN)按键、抬起BOOT按键、抬起RST(或者EN)按键,使得ESP32进入烧录模式,这个时候ESP32自己会通过USB口注册成串口的。

其他参数默认,然后点击START按钮,即可开始烧录。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐