简体   繁体   English

FreeRTOS 看门狗超时

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM