ameba-hardfault
*如有任何工程问题,请填写工程单,并发正式邮件,问题解决速度可提高10%。
--》排除hardfault方法
方法一、(强烈推荐)
这个两个地址可以到application.asm和application.map文件搜索,查看最后crash(hardfault)位置在哪?
一般PC指针数值为0时,有空指针,解决办法一般都是多添加log,缩小问题代码范围,进行审查代码。
方法二、
目前4.0已经提供了user define的 hardfault handler, 用户可自行打印或者做相关记录操作, 用户只要定义VOID
HalHardFaultHandler_user_define(u32 HardDefaultArg)
{
}
里面就可以做客户想要的操作, 这个函数的入参是 SP指针, 如果是在中断发生的就是MSP,如果是在thread挂掉就是PSP
方法三、(不推荐方法)
我们还提供cm backtrace 可以增加更为详细的hardfault debug信息,通过如下patch实现:
4.0a_patch_cmbacktrace(V01).zip