[英]FreeRTOS watchdog timeout
Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1).
Core 1 register dump:
PC : 0x4008c936 PS : 0x00060735 A0 : 0x8008b8ae A1 : 0x3ffbf25c
A2 : 0x3ffba74c A3 : 0x3ffb97b8 A4 : 0x00000004 A5 : 0x00060723
A6 : 0x00060723 A7 : 0x00000001 A8 : 0x3ffb97b8 A9 : 0x00000019
A10 : 0x3ffb97b8 A11 : 0x00000019 A12 : 0x3ffc2f24 A13 : 0x00060723
A14 : 0x007bf418 A15 : 0x003fffff SAR : 0x00000010 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x4008491d LEND : 0x40084925 LCOUNT : 0x00000027
Core 1 was running in ISR context:
EPC1 : 0x400e2af7 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x00000000
Backtrace: 0x4008c933:0x3ffbf25c |<-CORRUPTED
#0 0x4008c933:0x3ffbf25c in vListInsert at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/list.c:183
Core 0 register dump:
PC : 0x4008cad3 PS : 0x00060035 A0 : 0x8008b4d7 A1 : 0x3ffbeb3c
A2 : 0x3ffbf418 A3 : 0xb33fffff A4 : 0x0000abab A5 : 0x00060023
A6 : 0x00060021 A7 : 0x0000cdcd A8 : 0x0000abab A9 : 0xffffffff
A10 : 0x00000000 A11 : 0x00000000 A12 : 0x3ffc2d34 A13 : 0x00000007
A14 : 0x007bf418 A15 : 0x003fffff SAR : 0x0000001a EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x4008cad0:0x3ffbeb3c |<-CORRUPTED
#0 0x4008cad0:0x3ffbeb3c in compare_and_set_native at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_hw_support/include/soc/compare_set.h:25
(inlined by) spinlock_acquire at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_hw_support/include/soc/spinlock.h:103
(inlined by) xPortEnterCriticalTimeout at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/xtensa/port.c:288
ELF file SHA256: 90689eca1e9c1ace
Alguém sabe o que pode estar a acontecer no esp32 para gerar este erro? Alguém sabe o que pode estar acontecer no esp32 para gerar este erro? Se alguém estiver disposto, posso disponibilizar o código.
Se alguém estiver disposto, posso disponibilizar o código。 Já verifiquei e não é nenhum tipo de erro a nível do hardware.
Já verifiquei e não é nenhum tipo de erro a nível do hardware。
I came across this issue a couple of times.我遇到过这个问题几次。 Sorry, my Portuguese is not perfect but I'll try to help in English.
抱歉,我的葡萄牙语并不完美,但我会尽力用英语提供帮助。
This happens when we are trying to allocate more memory inside a function than we allowed it initially.当我们试图在function 中分配比我们最初允许的更多的 memory时,就会发生这种情况。
For example:例如:
void task1(void *params)
{
char buffer[3000];
memset(buffer, 'm', 3000);
}
void app_main()
{
xTaskCreate(task1, "task1", 2048, NULL, 1, NULL);
}
Notice that xTaskCreate allows only 2048 bytes (This differs from vanilla freeRtos which uses word as the unit) but we are trying to use 3000 bytes请注意, xTaskCreate只允许2048 字节(这不同于使用word作为单位的 vanilla freeRtos),但我们正在尝试使用3000 字节
I hope this helps, if you can share a portion of the code that works with the memory, I can look more into it.我希望这会有所帮助,如果您可以分享与 memory 一起使用的部分代码,我可以对其进行更多研究。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.