0

我想刷 ESP32-D0WDQ6 芯片,但代码不会运行。在监视器中,我可以看到该应用程序实际上从未加载。分区phy_init似乎没有任何大小,并且芯片在该行之后卡住了。

监控输出:

rst:0x1 (POWERON_RESET),boot:0x33 (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:0x3fff0030,len:6744
load:0x40078000,len:14236
ho 0 tail 12 room 4
load:0x40080400,len:3716
entry 0x40080680
I (28) boot: ESP-IDF v4.4-dev-1404-gc13afea63 2nd stage bootloader
I (28) boot: compile time 23:43:03
I (28) boot: chip revision: 1
I (32) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (40) boot.esp32: SPI Speed      : 40MHz
I (44) boot.esp32: SPI Mode       : DIO
I (49) boot.esp32: SPI Flash Size : 2MB
I (53) boot: Enabling RNG early entropy source...
I (59) boot: Partition Table:
I (62) boot: ## Label            Usage          Type ST Offset   Length
I (70) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (77) boot:  1 phy_init         RF data          01 01 0000f000 0000

我的分区表:

nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M

闪光指令:

esptool.py esp32 -p /dev/ttyACM0 -b 115200 --before=no_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0x10000 my_project.bin

4

1 回答 1

0

我实际上找到了解决问题的方法:

这是 WiFi NINA W102 模块,只有 2MB 的存储空间。它崩溃的问题只是另一个问题:为了保持 NINA 运行,RESET 引脚必须一直拉高。一段时间后,Arduino 脚本会自行将其拉低,因此在应该执行代码时将其拉高就可以了。仍然有崩溃,但降级到稳定的 IDF 版本解决了所有问题。

于 2021-05-30T08:48:18.693 回答