【发布时间】:2022-10-21 17:58:59
【问题描述】:
我为已经工作的设备制作了第二个 PCB,但是当我尝试将代码上传到 esp 时,它由于某些奇怪的原因而崩溃。 我正在使用基于 arduino 框架的 PlatformIO 项目,我的存储库的链接:https://github.com/IsiTapier/PSMLightControl/tree/master/ 我的代码与新的 espressif32 平台 4.0 冲突,所以我不得不使用 3.5 版
我在另一个 esp 上尝试了相同的代码,效果很好。 我尝试上传空代码,工作正常。 但是,当我上传带有我的类的代码,但主目录为空时,它仍然崩溃。
我在 src 字典中有一个类,在 lib 字典中有其他类(例如显示驱动程序和 dmx 库)。 当我删除 src 中的类时,它可以工作,以及当我删除该类中其他人的许多包含时。 我已经尝试将问题本地化,但没有任何成功,但由于它在另一个 esp 上运行良好,我认为它不是软件问题。 我还检查了电源并尝试添加一个外部电源,连接 USB 时它消耗 0.3A 而没有只有 0.1A。
如果有人能尽快帮助我,我会非常高兴,我非常绝望。
我的硬件: PCB upside PCB downside
这是崩溃报告:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x1b (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:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x400d9d44 PS : 0x00060330 A0 : 0x800db927 A1 : 0x3ffe3b70
A2 : 0x00000008 A3 : 0x00000140 A4 : 0x000001e0 A5 : 0x00000000
A6 : 0x00000001 A7 : 0x3ffc0970 A8 : 0x800d9d3d A9 : 0x3ffe3b50
A10 : 0x00000010 A11 : 0x00000001 A12 : 0x00000003 A13 : 0x3ffc0970
A14 : 0x00000007 A15 : 0x00000000 SAR : 0x0000000f EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000018 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
ELF file SHA256: 0000000000000000
Backtrace: 0x400d9d44:0x3ffe3b70 0x400db924:0x3ffe3b90 0x400ef97b:0x3ffe3bb0 0x40082021:0x3ffe3bd0 0x40082250:0x3ffe3c20 0x40079247:0x3ffe3c40 0x400792ad:0x3ffe3c70 0x400792b8:0x3ffe3ca0 0x40079465:0x3ffe3cc0 0x400806da:0x3ffe3df0 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57
这里有一个空主:
2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x1b (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:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x40080fd1 PS : 0x00060330 A0 : 0x800dc652 A1 : 0x3ffe3b40
A2 : 0x00000011 A3 : 0x00000002 A4 : 0x00000014 A5 : 0x3ffc09a4
A6 : 0x00ff0000 A7 : 0x00000001 A8 : 0x3f404af4 A9 : 0xffffffff
A10 : 0xffffffff A11 : 0x00000050 A12 : 0x08000000 A13 : 0x00000000
A14 : 0xffffffff A15 : 0x00000000 SAR : 0x0000001e EXCCAUSE: 0x0000001c
EXCVADDR: 0xffffffff LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x40080fd1:0x3ffe3b40 0x400dc64f:0x3ffe3b60 0x400dc738:0x3ffe3b90 0x400ef583:0x3ffe3bb0 0x40081ea1:0x3ffe3bd0 0x400820d0:0x3ffe3c20 0x40079247:0x3ffe3c40 0x400792ad:0x3ffe3c70 0x400792b8:0x3ffe3ca0 0x40079465:0x3ffe3cc0 0x400806da:0x3ffe3df0 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
【问题讨论】:
-
您是否尝试在网上搜索有关此错误 RTCWDT_RTC_RESET 的信息?
-
我终于找到了问题所在,这是 GPIO 引脚 SD1、15 和 2 之间的短路导致了这种奇怪的软件错误。有时软件和硬件会奇怪地介入。