R14数值:0xFFFFFFF1,查手册是中断嵌套了
Callstack :
PendSV_Handler -> vTaskSwitchContext -> HardFault_Handler
修改方法:
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
估计是freertos是拷贝来的,源代码没有针对这个芯片优化,所以不能使用优化,改成不优化就可以了
以上问题今天又出现了,上述办法只是一时的。
这个是开启了DMA传输后,内存地址增加造成了数据越界,把系统的一些线程数据清零,所以vTaskSwitchContext内部会出现非法写入问题。目前解决办法是把DMA传输需要的内存指向外扩内存,MCU内置内存尽量都释放出来。
文章讨论了在使用Freertos时遇到的中断嵌套问题,涉及PendSV_Handler和HardFault_Handler处理程序。解决方法包括禁用优化选项以防止内存冲突,并针对DMA传输引起的内存地址增加导致的数据越界,提出将DMA内存指向外部存储以减轻MCU内置内存压力。
1070

被折叠的 条评论
为什么被折叠?



