使用arduino生成bin文件,烧录到ESP32(批量烧录固件到模块)

博客介绍了使用Arduino开发ESP32的相关内容,包括参考资料链接,程序编译后生成bin文件的快捷键和路径,乐鑫Flash下载工具的使用方法,如官方烧录工具下载地址、选择ESP32、匹配烧录路径、下载arduino - esp32等,还附上了四个bin文件的下载地址。

一、参考资料

使用Arduino开发ESP32(01):开发环境搭建
https://blog.csdn.net/Naisu_kun/article/details/84958561#_35

二、程序编译后生成bin文件

快捷键:Ctrl+alt+S
路径:项目–>导出已编译的二进制文件
可在工程文件加下发现bin文件
在这里插入图片描述

三、乐鑫 Flash 下载工具使用方法

乐鑫官方烧录工作下载地址:
https://www.espressif.com/zh-hans/support/download/other-tools?keys=&field_type_tid%5B%5D=13
在这里插入图片描述
打开后慢慢等待,直至弹出窗口,然后选择ESP32
在这里插入图片描述

以arduino烧录路径为参考
在这里插入图片描述
这个烧录路径可与乐鑫烧录工作的bin文件烧录地址匹配
在这里插入图片描述

其次下载arduino-esp32
https://github.com/espressif/arduino-esp32

中间四个文件分别对应:
…\arduino-esp32-master\tools\partitions
在这里插入图片描述
…\arduino-esp32-master\tools\sdk
在这里插入图片描述
在这里插入图片描述
最后,选择正确的COM口下载,下载烧录后,重新上点程序才会跑!
在这里插入图片描述

四、附上地址(四个bin文件)

https://download.csdn.net/download/qq_23940143/11159555

<think> 首先,用户的问题是关于ESP32烧录Arduino生成bin文件时地址显示为红色的解决方案。我需要基于提供的引用内容来回答。 回顾引用内容: - 引用[1]:讨论了ESP32批量烧录Arduino生成的.bin文件的过程,包括下载工具、Arduino配置和烧录步骤。提到使用flash_download_tool_3.9.2.exe,配置SPI速度和模式,以及如何解决default.bin不能正常运行的问题。 - 引用[2]:描述了如何使用Arduino生成bin文件,包括编译和导出步骤,以及引导烧录的注意事项,如设置开发板信息和partition scheme。 用户的问题具体是:在烧录过程中,地址显示为红色。这可能表示烧录地址错误或配置问题。 关键点:地址显示红色 – 这很可能发生在使用烧录工具(如flash_download_tool)时,当指定的地址不正确或不匹配时,工具会用红色高亮显示错误的地址。 从引用[1]中:"打开flash_download_tool_3.9.2.exe,根据实际芯片进行选择。" 和 "根据上面字段配置 工具中的SPI速度和模式根据arduino工具里的显示进行配置"。此外,提到default.bin不能正常运行,所以需要从Arduino导出正确的二进制文件。 解决地址显示红色的可能原因: 1. **错误的烧录地址**:在烧录工具中,每个二进制文件都需要指定起始地址。ESP32固件通常有多个分区,如bootloader、分区表、app等,每个都有特定的地址。 2. **分区方案不匹配**:引用[2]中提到设置partition scheme很重要,因为它定义了应用程序的大小和位置。 3. **SPI速度和模式配置错误**:引用[1]强调SPI速度和模式必须匹配Arduino的设置。 4. **使用错误的bin文件**:引用[1]提到下载default.bin可能不正常,需要从Arduino导出正确的bin文件。 用户的问题:"烧录Arduino生成bin文件时地址显示为红色的解决方案"。所以,重点在地址配置。 在ESP32烧录中,使用flash_download_tool时,当你添加bin文件,你需要指定正确的偏移地址(offset address)。如果地址错误或不正确,它会显示为红色。 如何找到正确的地址? - 从引用[2]:Arduino导出二进制文件时,会生成多个文件,包括bootloader.bin、partitions.bin固件.bin,每个都有标准地址。 - bootloader.bin 通常起始于 0x1000 - partitions.bin 起始于 0x8000 - 应用程序bin文件起始于 0x10000 但这些可能因分区方案而变化。 Arduino IDE在编译时会显示这些地址。在引用[1]中:"设置-显示详细输出 把上传勾上",这样在上传或编译时可以看到详细输出。 在Arduino IDE中,启用详细输出后,编译或上传时会打印出烧录地址。 解决方案步骤: 1. **生成正确的bin文件**:使用Arduino IDE编译并导出二进制文件,确保partition scheme设置正确(引用[2])。 2. **获取烧录地址**:从Arduino IDE的详细输出中查找地址信息。当启用详细输出时,编译日志会显示每个文件的分区地址。 3. **在烧录工具中配置地址**:打开flash_download_tool,添加生成bin文件,并设置正确的偏移地址。地址应该从日志中获取。 4. **配置SPI设置**:确保SPI速度和模式与Arduino IDE中的设置一致(引用[1])。 结构清晰的回答: - 解释问题:地址显示红色可能是因为地址错误或不匹配。 - 提供步骤解决方案。 - 引用相关部分来支持。 生成相关问题:作为系统指令的一部分,我需要生成相关问题。 回答结构: 1. 简述问题和原因。 2. 详细步骤解决。 3. 添加引用标识。 4. 生成相关问题。 相关问题基于主题:如ESP32烧录的其他问题,Arduino生成bin文件的常见问题等。 最终输出需遵循指令:使用$...$和$$...$$格式,中文回答。 </think> ### ESP32烧录Arduino生成bin文件时地址显示红色的解决方案 当您在使用烧录工具(如flash_download_tool)烧录ESP32时,地址显示为红色,这通常表示烧录地址配置错误或不匹配。常见原因包括:偏移地址(offset address)设置不正确、分区方案(partition scheme)不匹配、或SPI速度和模式配置错误。这个问题源于ESP32固件的分区结构(如bootloader、partitions和app文件各有特定地址),如果地址错误,烧录工具会以红色高亮提示风险[^1][^2]。以下我将一步步指导您解决这个问题,确保烧录过程顺利。 #### 解决步骤(基于Arduino IDE和flash_download_tool) 1. **生成正确的bin文件并从Arduino IDE获取烧录地址**: - 在Arduino IDE中,确保正确设置开发板信息: - 打开Arduino IDE,选择菜单栏的“工具” > “开发板”,设置为您的ESP32型号(如“ESP32 Dev Module”)。 - 设置分区方案(partition scheme):选择“工具” > “Partition Scheme”,根据您的开发板需求选择选项(例如,“Default 4MB with spiffs”)。**错误的分区方案会导致地址偏移错误**[^2]。 - 启用详细输出:选择“文件” > “首选项” > “设置”,勾选“显示详细输出”下的“上传”(或“编译”)。这会在编译时打印地址信息[^1]。 - 编译并导出bin文件: - 点击“项目” > “导出已编译的二进制文件”。这将生成多个文件(如`bootloader.bin`、`partitions.bin`和应用固件`.bin`),保存在工程目录或临时路径(例如`C:\Users\<用户名>\AppData\Local\Temp\arduino_build_<数字>`)[^2]。 - **关键步骤:从详细输出日志中复制偏移地址**: - 编译后,查看Arduino IDE底部的输出窗口(Console)。日志会显示类似以下内容: ``` Executable segment sizes: IROM: 0x40000 bytes, IRAM: 0x10000 bytes ... bootloader.bin at 0x1000, partitions.bin at 0x8000, firmware.bin at 0x10000 ``` - 记录每个文件的偏移地址(例如,bootloader的地址是$0x1000$,partitions是$0x8000$,应用程序是$0x10000$)。这些地址是烧录时必须匹配的核心参数[^1][^2]。 2. **在flash_download_tool中配置烧录地址和参数**: - 下载并打开烧录工具:从[官方地址](https://www.espressif.com/en/support/download/other-tools)下载`flash_download_tool_3.9.2.exe`(或更新版本),运行后根据ESP32芯片类型选择选项(如“ESP32”)[^1]。 - 添加bin文件并设置正确地址: - 在工具界面,点击“...”按钮添加导出的bin文件。 - 针对每个文件,在“Offset”列输Arduino日志中复制的地址: - `bootloader.bin` 设置为 $0x1000$ - `partitions.bin` 设置为 $0x8000$ - 应用程序固件(如`firmware.bin`)设置为 $0x10000$ - **地址错误会导致红色高亮**:如果Offset列显示红色,表示地址无效或不匹配。双击Offset字段手动输正确值(确保格式为十六进制,如$0x1000$)。 - 配置SPI速度和模式: - 在工具界面的“SPI SPEED”和“SPI MODE”下拉菜单中,选择与Arduino IDE一致的设置。查看Arduino的详细输出日志(例如,“SPI Mode: DIO, SPI Speed: 40MHz”)并进行匹配[^1]。 - 其他设置:保持“FLASH SIZE”与开发板匹配(如“4MB”),并确保“COM Port”选择正确的串口。 - 开始烧录:点击“START”按钮。如果地址正确配置,红色提示应消失,烧录过程将正常完成。 3. **验证和常见陷阱**: - **测试烧录结果**:烧录后重启ESP32,检查功能是否正常。如果仍失败,重复步骤1获取最新地址(地址可能因Arduino版本或分区方案变化)。 - **避免使用default.bin**:如引用所述,直接下载default.bin可能无法运行,务必使用Arduino导出的自定义bin文件[^1]。 - **检查硬件连接**:确保USB线稳定连接,避免烧录中断。 - **分区方案的重要性**:如果partition scheme设置错误(如app大小不匹配),地址偏移会变化,导致红色错误。始终在Arduino IDE中确认分区方案[^2]。 如果以上步骤仍无法解决,建议尝试Arduino IDE的直接上传(“上传”按钮),其自动处理地址配置——这能验证您的硬件和代码是否正确[^2]。通常,地址红色问题通过精确匹配Arduino日志中的地址即可解决。 ###
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_翩翩少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值