esp32 使用arduino生成bin文件烧录

本文介绍了如何使用bin文件直接对ESP32开发板进行烧录,避免依赖ArduinoIDE,适用于不同版本和模块。首先通过IDE编译获取所需bin文件,记录上传命令中的地址和路径。然后利用flash_download_tool工具,配置相应参数进行下载。此外,还展示了如何将4个bin文件合并为一个,简化生产环境的配置步骤,降低错误风险。
摘要由CSDN通过智能技术生成

准备

为了实现工厂烧写,需要直接使用bin文件进行烧录,不能每次都使用IDE,使用IDE也不利于源码保密。

本文章会基于以下版本讲解,由于版本不同,可能会有略微的差异。本篇文章会讲一个通用的方法,能够让你在不同的版本下都能学会如何下载程序,不需要区分使用的是哪种模块(S2,S3,WROOM或C2等)。

Arduino IDE     2.1.1

下载地址:Software | Arduino

flash_download_tool 3.9.5

下载地址:下载概览 | 乐鑫科技

ESP32开发板库 1.0.6和2.0.11

解析

下面开始,首先应该有一个能编译过的工程,并且可以使用Arduino IDE软件进行下载,这是前提,我们在这个基础上再讨论使用量产工具下载的事。

首先,将首选项将上传的详细输出选上。

 然后,这里我先使用ESP32开发板1.0.6库编译上传一下,因为2.0.11库生成的文件不同,但是方法相同。

上传之后我们需要输出的第一行内容。

"C:\Users\administrator\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\3.0.0/esptool.exe" --chip esp32 --port "COM1" --baud 921600  --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 
0xe000 "C:\Users\administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/partitions/boot_app0.bin" 
0x1000 "C:\Users\administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/bin/bootloader_qio_80m.bin" 
0x10000 "C:\Users\administrator\AppData\Local\Temp\arduino\sketches\DC89E78A08E824CB06B3651A98A0763E/bd_cs.ino.bin" 
0x8000 "C:\Users\administrator\AppData\Local\Temp\arduino\sketches\DC89E78A08E824CB06B3651A98A0763E/bd_cs.ino.partitions.bin"
esptool.py v3.0-dev
Serial port COM1

这里我把需要的给换行了,前面是一会下载用的地址,后面是文件的路径。

其实IDE就是按照这个下载的,我们只需要按照相同的方式使用flash软件进行下载就可以了。

下载

然后我们到对应的路径找到对应的文件,单独保存起来,留着量产工具下载。

然后我们打开flash_download_tool工具,配置一下就可以下载了。

 其中SPI SPEED和SPI MODE根据你选择的开发板参数设置,

好了,下面我发一下完整的设置好的截图

然后我们使用2.0.11开发板库进行一下演示。

上传的输出信息如下:

"C:\Users\administrator\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe" --chip esp32 --port "COM1" --baud 921600  --before default_reset --after hard_reset write_flash  -z --flash_mode dio --flash_freq 80m --flash_size 4MB 
0x1000 "C:\Users\administrator\AppData\Local\Temp\arduino\sketches\DC89E78A08E824CB06B3651A98A0763E/bd_cs.ino.bootloader.bin" 
0x8000 "C:\Users\administrator\AppData\Local\Temp\arduino\sketches\DC89E78A08E824CB06B3651A98A0763E/bd_cs.ino.partitions.bin" 
0xe000 "C:\Users\administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/partitions/boot_app0.bin" 
0x10000 "C:\Users\administrator\AppData\Local\Temp\arduino\sketches\DC89E78A08E824CB06B3651A98A0763E/bd_cs.ino.bin" 
esptool.py v4.5.1
Serial port COM1

 过程如上,把路径下的文件拷贝出来留用。

然后附上完整的截图

合并

这样每次就需要提供4个bin文件,并且需要配置4个对应的地址,对于生产环境来说,如果填错一个就会导致一批产品错误,造成损失,下面来讲一下如何将4个bin合并成一个bin,来降低配置复杂度。

点击CombineBin按钮,会自动合并文件,生成名为target.bin的文件,并且会打开文件夹

 

 

 对于合并文件的烧入地址为0x00

 

ESP32-WROOM-32是一种集成了Wi-Fi和蓝牙功能的高性能片上系统(SoC)。为了实现串口烧录,我们需要编写一些代码并进行一些设置。 首先,我们需要将ESP32-WROOM-32连接到电脑上。我们可以使用USB到串口转换器将ESP32-WROOM-32的串口引脚(TX和RX)连接到电脑的USB端口上。 接下来,我们需要打开一个串口烧录工具,例如ESPlorer或Arduino IDE(通过安装适当的驱动程序)。在烧录工具中,我们需要选择正确的串口端口和波特率。通常来说,ESP32-WROOM-32使用115200的波特率。 然后,我们需要准备好要烧录的固件。这可以是由Arduino IDE生成的二进制文件(.bin),也可以是由ESP-IDF生成的其他格式的固件。我们可以从官方网站上下载ESP-IDF并按照相关的文档进行设置。 接下来,我们需要将ESP32-WROOM-32设置为烧录模式。我们可以在开发板上找到一个称为“BOOT”或“EN”(使能)的按钮或引脚,按下该按钮或将该引脚连接到地(GND)来使ESP32-WROOM-32进入烧录模式。 最后,我们可以点击串口烧录工具中的“烧录”按钮开始烧录。在烧录过程中,烧录工具会向ESP32-WROOM-32发送固件数据并执行烧录操作。烧录成功后,我们可以重启ESP32-WROOM-32并观察它的行为。 总结起来,ESP32-WROOM-32串口烧录需要连接电脑和ESP32-WROOM-32,选择正确的串口端口和波特率,准备好固件,并将ESP32-WROOM-32设置为烧录模式,最后点击烧录工具中的烧录按钮。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值