各位大佬,将ST的代码移植到GD32E235C8T6,在运行过程中会出现卡死现象,仿真运行后发现是跑到了HardFault中断里面去了。
发生的时间事不固定的,有时运行半小时左右就发生,有时会运行1~2个小时才出现,代码在ST的MCU上运行完全没有问题。
检查了数组和指针等,均没有发现有异常的地方。
在HardFault中打了断点,根据SP保存的地址,反查发现进入中断前是在执行RTOS的代码,遂怀疑堆栈是否有溢出,检查完个人认为应该没有溢出的(第一次根据网上的方法检查,不确定是否正确),于是增大堆栈,运行结果还是一样,问题没有解决。
目前已经没有任何思路了,有怀疑是不是这个MCU自身的问题,但是不知道怎么验证。
还请各位大佬帮忙提供下思路,帮忙分析下,可能会是什么问题导致的?
|