Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?

chaoaaaa
Posts: 5
Joined: Wed May 22, 2024 6:51 am

Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?

Postby chaoaaaa » Thu May 23, 2024 12:57 am

ESP32S3在添加新的功能时有时候会出现这个问题,修改一下部分代码(非这部分新功能代码)可能又消失了,这种问题该怎么跟踪、定位问题,如何解决呢,想请教一下方法
Attachments
IMG_1716425665198.jpeg
IMG_1716425665198.jpeg (289.84 KiB) Viewed 2804 times

liaifat85
Posts: 200
Joined: Wed Dec 06, 2023 2:46 pm

Re: Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?

Postby liaifat85 » Thu May 23, 2024 4:37 pm

从截图中可以看到,错误发生在`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); // 增加栈大小

chaoaaaa
Posts: 5
Joined: Wed May 22, 2024 6:51 am

Re: Guru Meditation Error: Core 0 panic'ed(IllegalInstruction) 错误如何定位如何解决?

Postby chaoaaaa » Fri May 24, 2024 12:55 am

好的,我大致明白了如何排查错误,感谢帮助!

Who is online

Users browsing this forum: No registered users and 23 guests