pentral0311的笔记 https://bbs.21ic.com/?591061 [收藏] [复制] [RSS]

日志

关于KEIL 下的 ST的HardFault

已有 351 次阅读2017-2-9 17:46 |系统分类:嵌入式系统| HardFault

       今天闲来无事,想起之前关于HardFault的定位,一直没时间摸明白,所以今天趁有兴趣,搞了一下,结合ST官方的HardFault的诊断.pdf 发现里面的说明
还是有点不清楚,一般情况下,都是缓冲溢出问题,现记如下
       1.设置断点如下

      2.运行程序,当进入断点后,点开寄存器表

根据说明

             按寄存器表单,应该是 = 0 ,SP = 0X2000240C(PSP)  
        

LR = 0x8048f55-4 = 0x8048f51
在asm中,输入如下

按 go to

如下

三角的位置,就是出问题的函数,

测试代码如下

void App_ReadMeterProcessControl_Internal(void)
{
    INT8U addPointNumber = 0 ;
    INT8U *pData ;
    *pData = 0x68 ;
    if(*pData)
    {
        pData++ ;
    }

}

跟预期的一样,这样就可以简单定位的出问题的地方.


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)