Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?
Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?
ESP32S3在添加新的功能时有时候会出现这个问题,修改一下部分代码(非这部分新功能代码)可能又消失了,这种问题该怎么跟踪、定位问题,如何解决呢,想请教一下方法
- Attachments
-
- IMG_1716425665198.jpeg (289.84 KiB) Viewed 3940 times
Re: Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?
从截图中可以看到,错误发生在`prvTaskCheckFreeStackSpace`函数中,这是一个检查任务栈空间的函数。错误发生在`tasks.c`的第4802行。具体的错误地址是:
```
PC : 0x40382df0
EXCVADDR : 0x8201695e
```
这表明某个任务可能访问了非法内存地址,可能是由于栈溢出或访问了未初始化的指针导致的。
确保所有任务有足够的栈空间,特别是有大量操作的任务。增加任务的栈大小,以防止栈溢出:
xTaskCreate(Wifi_task, "Wifi_task", 1024*20, NULL, 2, NULL); // 增加栈大小
xTaskCreate(Spi_task, "spi_task", 1024*20, NULL, 1, &task_handle); // 增加栈大小
```
PC : 0x40382df0
EXCVADDR : 0x8201695e
```
这表明某个任务可能访问了非法内存地址,可能是由于栈溢出或访问了未初始化的指针导致的。
确保所有任务有足够的栈空间,特别是有大量操作的任务。增加任务的栈大小,以防止栈溢出:
xTaskCreate(Wifi_task, "Wifi_task", 1024*20, NULL, 2, NULL); // 增加栈大小
xTaskCreate(Spi_task, "spi_task", 1024*20, NULL, 1, &task_handle); // 增加栈大小
Re: Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?
好的,我大致明白了如何排查错误,感谢帮助!
Who is online
Users browsing this forum: No registered users and 177 guests