Page 1 of 1

ESP32S3 wroom 模组无法烧写大于4MB的文件问题

Posted: Thu Aug 04, 2022 10:45 am
by xinhaojie
如下日志,我买了几个ESP32S3模组的开发板,一个是ESP32-S3-DevKitC-1 v1.1,一个是ESP32-S3-Korvo-2 V3.0。我在烧写带语音识别的代码时,启用有一个4150KB的模组镜像。我发现在烧写的时候,32MB模组的flash大小都读取不到,那么在烧写的时候就烧写失败,日志如下。麻烦确认一下是什么问题,是否可以通过修改配置文件解决。



--------------------------ESP32-S3-Korvo-2 V3.0------的日志-------
PS D:\software\Espressif\frameworks\esp-idf-v4.4.1> esptool.py -p COM22 flash_id
esptool.py v3.3-dev
Serial port COM22
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3
Features: WiFi, BLE
Crystal is 40MHz
MAC: 7c:df:a1:e7:7a:a8
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4018
Detected flash size: 16MB
Hard resetting via RTS pin...
--------------------------------------------ESP32-S3-DevKitC-1 v1.1--------------32MB版本的开发板日志----------------
PS D:\software\Espressif\frameworks\esp-idf-v4.4.1> esptool.py -p COM5 flash_id
esptool.py v3.3-dev
Serial port COM5
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3
Features: WiFi, BLE
Crystal is 40MHz
MAC: 7c:df:a1:e1:10:c4
Uploading stub...
Running stub...
Stub running...
Manufacturer: c2
Device: 8039
Detected flash size: Unknown
Hard resetting via RTS pin...

-------------------------------------烧写失败的日志-----------------------------------
esptool.py v3.3-dev
Serial port COM5
Connecting....
Chip is ESP32-S3
Features: WiFi, BLE
Crystal is 40MHz
MAC: 7c:df:a1:e1:10:c4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0x3980c2, SizeID=0x39), defaulting to 4MB

A fatal error occurred: File model.bin (length 4251648) at offset 2752512 will not fit in 4194304 bytes of flash. Use --flash_size argument, or change flashing address.

Re: ESP32S3 wroom 模组无法烧写大于4MB的文件问题

Posted: Fri Aug 05, 2022 1:48 am
by ESP_Gargamel
先试一下按照错误提示的操作:

Code: Select all

esptool.py -p (PORT) -b 2000000 write_flash --flash_size 32MB 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/wifi_station.bin
主要是指定 flash size。

或者更新一下 esptool,看你使用的是 4.4.1 的 IDF,那你到 esp-idf/components/esptool_py/esptool 下 git pull, 然后 git checkout v4.2,使用 v4.2 版本的 esptool 试试。

Re: ESP32S3 wroom 模组无法烧写大于4MB的文件问题

Posted: Fri Aug 05, 2022 3:47 am
by xinhaojie
指定了flash确实可以烧写了,这个falsh 的default配置那个4MB在哪里可以改,修改esptool.py这个文件吗?我去直接给他改了就不会报这个错误了。还有就是咱们S3现在已经支持最大32MB了,但是配置项里面最大只有16MB,这个是不是会导致无法使用全部的flash。
ESP_Gargamel wrote:
Fri Aug 05, 2022 1:48 am
先试一下按照错误提示的操作:

Code: Select all

esptool.py -p (PORT) -b 2000000 write_flash --flash_size 32MB 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/wifi_station.bin
主要是指定 flash size。

或者更新一下 esptool,看你使用的是 4.4.1 的 IDF,那你到 esp-idf/components/esptool_py/esptool 下 git pull, 然后 git checkout v4.2,使用 v4.2 版本的 esptool 试试。

Re: ESP32S3 wroom 模组无法烧写大于4MB的文件问题

Posted: Fri Aug 05, 2022 3:52 am
by xinhaojie
QQ截图20220805115144.png
QQ截图20220805115144.png (121.47 KiB) Viewed 3261 times
哈哈,我强行给这货改大了。。。估计就可以了。。
ESP_Gargamel wrote:
Fri Aug 05, 2022 1:48 am
先试一下按照错误提示的操作:

Code: Select all

esptool.py -p (PORT) -b 2000000 write_flash --flash_size 32MB 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/wifi_station.bin
主要是指定 flash size。

或者更新一下 esptool,看你使用的是 4.4.1 的 IDF,那你到 esp-idf/components/esptool_py/esptool 下 git pull, 然后 git checkout v4.2,使用 v4.2 版本的 esptool 试试。

Re: ESP32S3 wroom 模组无法烧写大于4MB的文件问题

Posted: Fri Aug 05, 2022 4:15 am
by ESP_Gargamel
IDF v4.4.2 开始已经支持设置大于 16MB 的 flash 了。

另外,你可以在 esptool.py 的 DETECTED_FLASH_SIZES 里面加上 0x39: '32MB',应该可以 auto detect 这个 flash 了。