[已解决] 为什么 app程序大于3M时,ESP32不断重启复位
[已解决] 为什么 app程序大于3M时,ESP32不断重启复位
使用arduino开发,当app程序大于3M时,ESP32不断重启复位,提示如下:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
只要程序小于3M就没问题
论坛上说把CPU频率改为40M,试了一下,不管用。
我的分区信息如下:
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x600000,
spiffs, data, spiffs, 0x610000,0x1F0000,
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
只要程序小于3M就没问题
论坛上说把CPU频率改为40M,试了一下,不管用。
我的分区信息如下:
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x600000,
spiffs, data, spiffs, 0x610000,0x1F0000,
Last edited by tiger322 on Fri Aug 26, 2022 11:33 am, edited 1 time in total.
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: 为什么 app程序大于3M时,ESP32不断重启复位
能否把 log 都放开?现在这些看不出问题。
Re: 为什么 app程序大于3M时,ESP32不断重启复位
LOG就是不断地重复这一段:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: 为什么 app程序大于3M时,ESP32不断重启复位
暂时编不出 3M 的固件,麻烦发个 app bin 上来看一下。
Re: 为什么 app程序大于3M时,ESP32不断重启复位
完整的LOG如下:
[Starting] Opening the serial port - COM5
[Info] Opened the serial port - COM5
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
ets Jul 29 2019 12:21:46
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
ets Jul 29 2019 12:21:46
然后一直重复这一段:rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
app 的 bin文件在这是,麻烦你看一下:链接: https://pan.baidu.com/s/1NuFOKGvtOj3yjs ... g?pwd=8888 提取码: 8888
[Starting] Opening the serial port - COM5
[Info] Opened the serial port - COM5
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
ets Jul 29 2019 12:21:46
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
ets Jul 29 2019 12:21:46
然后一直重复这一段:rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
app 的 bin文件在这是,麻烦你看一下:链接: https://pan.baidu.com/s/1NuFOKGvtOj3yjs ... g?pwd=8888 提取码: 8888
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: 为什么 app程序大于3M时,ESP32不断重启复位
你的程序没什么问题,可以正常跑起来。
所以问题应该是出在你使用的 bootloader 上。你的 bootloader 是哪来的?Arduino 自带的?什么配置下的 bootloader?
所以问题应该是出在你使用的 bootloader 上。你的 bootloader 是哪来的?Arduino 自带的?什么配置下的 bootloader?
Re: 为什么 app程序大于3M时,ESP32不断重启复位
我没有修改配置过Bootloader,应该是Arduino 自带的,我应该怎么修改它,是不是使用flash_download_tool工具烧Bootloader?
但我看了一下build文件夹,只有eInkInfoPad.ino.partitions.bin,没有Bootloader.bin。
是不是只烧录eInkInfoPad.ino.partitions.bin和app程序就可以了
另外,麻烦您把上面的代码删除吧,里面有我的账号key。再次感谢!
但我看了一下build文件夹,只有eInkInfoPad.ino.partitions.bin,没有Bootloader.bin。
是不是只烧录eInkInfoPad.ino.partitions.bin和app程序就可以了
另外,麻烦您把上面的代码删除吧,里面有我的账号key。再次感谢!
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: 为什么 app程序大于3M时,ESP32不断重启复位
问题应该在使用的 partition 上,烧录进去的 partition 中 app 应该是 size 小于 3M 的。
你是否使用的 Arduino?Flash Size 和 Partition Scheme 选得是什么?是否直接使用的 Arduino 烧录的?
你可以用附件中的 partition bin,烧录到 0x8000 试一下。
你是否使用的 Arduino?Flash Size 和 Partition Scheme 选得是什么?是否直接使用的 Arduino 烧录的?
你可以用附件中的 partition bin,烧录到 0x8000 试一下。
- Attachments
-
- partition-table.bin.zip
- (283 Bytes) Downloaded 679 times
Re: 为什么 app程序大于3M时,ESP32不断重启复位
刷了你的partition bin,问题解决,感谢!
问题还是出在自定义分区上,我自定义的一个分区文件app6M_8MB.csv
然后在boards.txt文件中也添加了以下行:
esp32.menu.PartitionScheme.app6M_8MB=8M Flash (6MB APP/1.5MB FATFS)
esp32.menu.PartitionScheme.app6M_8MB.build.partitions=app6M_8MB
esp32.menu.PartitionScheme.app6M_8MB.upload.maximum_size=6291456
但不知为什么,使用的还是默认的 default_8MB.csv 分区
问题还是出在自定义分区上,我自定义的一个分区文件app6M_8MB.csv
然后在boards.txt文件中也添加了以下行:
esp32.menu.PartitionScheme.app6M_8MB=8M Flash (6MB APP/1.5MB FATFS)
esp32.menu.PartitionScheme.app6M_8MB.build.partitions=app6M_8MB
esp32.menu.PartitionScheme.app6M_8MB.upload.maximum_size=6291456
但不知为什么,使用的还是默认的 default_8MB.csv 分区
Re: 为什么 app程序大于3M时,ESP32不断重启复位
试了下,在工程所在文件夹放一个partitions.csv,就可以了
Who is online
Users browsing this forum: No registered users and 77 guests