[已解决]请问一下,如何烧录ESP32离线烧录程序
[已解决]请问一下,如何烧录ESP32离线烧录程序
因为初始接触ESP32C3,因为在开发板烧录,可以利用idf.py flash 进行下载,那么正式是如何烧录的,利用什么工具?还是利用flash_download_toos_v3.6.6.exe 这个版本的烧录吗?因为我见到里面只提供了ESP8266,ESP8285,ESP32 和 ESP32D2WD,没有见到ESP32C3.因为我手头只有一块开发板,不敢随意试,怕弄坏了。
Last edited by ming191 on Wed Jul 07, 2021 2:17 am, edited 1 time in total.
Re: 请问一下,如何烧录ESP32离线烧录程序
谢谢乐鑫的回答,flash 安装工具已经下载好了。但是我在尝试的过程中,产生了几个疑问,希望得到回答,谢谢。
1.利用工具烧录程序,需要三个文件, bootloader.bin ,partition-table.bin 和 gatt_server_demos.bin(假设是这个BIN文件),那么每个bin文件有对应的地址,那么地址是什么,尤其不太确认bootloader.bin的地址,是0还是 0x1000(Document 里面写0x1000)?
在VS code ,利用idf.py build ,最后会得出如下信息:
flash_freq 80m 0x0 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\gatt_server_demos.bin
我不太理解是什么意思,flash_freq 80m ,80m 代表什么意思?
2.烧录地址如果填写错误,例如partition-table.bin,填写地址错误,在start 过程才发现错误,烧录完成后,点击earse按键,是否是将芯片全部程序擦除?还是只是擦除某部分。是否会擦坏芯片。这点不太确认。
3.最后关于CombinBin 功能按钮的作用,Document介绍是将这个三个BIN文件合并成一个BIN文件。我也尝试合并,合并也成功了,那么以后烧录是否只烧录这个BIN文件就可以了,而且关键是在软件选择选择这个BIN时,地址应该填写什么?
1.利用工具烧录程序,需要三个文件, bootloader.bin ,partition-table.bin 和 gatt_server_demos.bin(假设是这个BIN文件),那么每个bin文件有对应的地址,那么地址是什么,尤其不太确认bootloader.bin的地址,是0还是 0x1000(Document 里面写0x1000)?
在VS code ,利用idf.py build ,最后会得出如下信息:
flash_freq 80m 0x0 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\gatt_server_demos.bin
我不太理解是什么意思,flash_freq 80m ,80m 代表什么意思?
2.烧录地址如果填写错误,例如partition-table.bin,填写地址错误,在start 过程才发现错误,烧录完成后,点击earse按键,是否是将芯片全部程序擦除?还是只是擦除某部分。是否会擦坏芯片。这点不太确认。
3.最后关于CombinBin 功能按钮的作用,Document介绍是将这个三个BIN文件合并成一个BIN文件。我也尝试合并,合并也成功了,那么以后烧录是否只烧录这个BIN文件就可以了,而且关键是在软件选择选择这个BIN时,地址应该填写什么?
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: 请问一下,如何烧录ESP32离线烧录程序
1. 其实这句 log 已经告诉你具体的烧录地址了:
0 bootloader.bin
0x8000 partition-table.bin
0x10000 gatt_server_demos.bin
flash_freq 80m 这里的 80m 代表 SPI Flash 的频率,你可以在工具上选择
2. erase 是整片擦除,不会擦坏
3. 你所有的设置都对了之后,包括地址,SPI Flash 频率等,combine 出的 bin 就可以直接烧录到地址 0,但注意,如果是 combine 的 bin,烧录时请也勾选上 Don't change bin 的那个选项。
Code: Select all
0x0 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\gatt_server_demos.bin
0x8000 partition-table.bin
0x10000 gatt_server_demos.bin
flash_freq 80m 这里的 80m 代表 SPI Flash 的频率,你可以在工具上选择
2. erase 是整片擦除,不会擦坏
3. 你所有的设置都对了之后,包括地址,SPI Flash 频率等,combine 出的 bin 就可以直接烧录到地址 0,但注意,如果是 combine 的 bin,烧录时请也勾选上 Don't change bin 的那个选项。
-
- Posts: 22
- Joined: Tue Aug 31, 2021 8:28 am
Re: [已解决]请问一下,如何烧录ESP32离线烧录程序
请教下,我使用ESP32c3 download tools V3.8.8工具,地址配置是按照您上面地址配置的,文件是例程helloworld例程三个文件,SPI SPEED为40MHz SPI mode:QIO FLASH SIZE:8M 这样配置下载程序完成之后串口打印的不是helloworld的例程啊。
一直打印:
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40047ed2
Invalid chip id. Expected 5 read 0. Bootloader for wrong chip?
ets_main.c 333
一直打印:
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40047ed2
Invalid chip id. Expected 5 read 0. Bootloader for wrong chip?
ets_main.c 333
-
- Posts: 22
- Joined: Tue Aug 31, 2021 8:28 am
Re: 请问一下,如何烧录ESP32离线烧录程序
请教以上的log在哪里可以看到?ESP_Gargamel wrote: ↑Wed Jul 07, 2021 2:08 am1. 其实这句 log 已经告诉你具体的烧录地址了:0 bootloader.binCode: Select all
0x0 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\gatt_server_demos.bin
0x8000 partition-table.bin
0x10000 gatt_server_demos.bin
flash_freq 80m 这里的 80m 代表 SPI Flash 的频率,你可以在工具上选择
2. erase 是整片擦除,不会擦坏
3. 你所有的设置都对了之后,包括地址,SPI Flash 频率等,combine 出的 bin 就可以直接烧录到地址 0,但注意,如果是 combine 的 bin,烧录时请也勾选上 Don't change bin 的那个选项。
Who is online
Users browsing this forum: No registered users and 5 guests