【问题标题】:ESP32 crash even with empty mainESP32 崩溃,即使是空的 main
【发布时间】: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 之间的短路导致了这种奇怪的软件错误。有时软件和硬件会奇怪地介入。

标签: crash esp32


【解决方案1】:

终于找到了问题所在,这是 GPIO 引脚 SD1、15 和 2 之间的短路导致了这种奇怪的软件错误。有时软件和硬件会奇怪地介入。

【讨论】:

    【解决方案2】:

    我有同样的错误。事实证明,5v 输入引脚旁边的“Gnd”引脚实际上并未接地。首先,连续性测试显示“GND”和其他实际 GND 引脚之间没有联系。我在 5v 引脚和假 Gnd 之间放置了一个电容器,移除电容器解决了这个问题。我希望这可以节省一些时间。

    【讨论】:

      猜你喜欢
      • 2011-09-08
      • 2013-08-08
      • 1970-01-01
      • 2019-05-08
      • 2021-09-07
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多