很抱歉才看到,
死机最多的原因就是跑飞了,是的,主要跟指针有关,比如,溢出啥的。具体的说就是要看pc这个寄存器。
建议单步跟踪进汇编看看,也许你觉得头大,建议用笔在纸上做一些记录。如果有汇编基础(pc上的基础就可以,相通的)。
耐心一点,是会找到原因的。
另外,还有运气方法,就是不需要看汇编,将你的应用简化,然后模块化的一点点往上添加后测试,顺利的话,能很快发现问题点或问题模块。然后再定位。 这种方法的前提就是freertos底层本身没有任何问题。
所以,汇编的分析是很重要的,也可以相对轻松(心理上)发现任何问题。
再重复一次,大多数问题都是出在应用上,尤其是c语言的上一些坑,会影响到系统。 给调试带来了麻烦! |