个人信息

  • 姓名: coright
  • 城市: China

分类

订阅RSS

由 coright 发表于 2016-06-21 11:10:41

 系统进入HardFault_Handler中断后:

1. 查看当前LR数值,0xFFFFFFF9对应堆栈为MSP,0xFFFFFFFD对应PSP;

2.打开Memory窗口,输入堆栈地址(MSP/PSP的值);

3.堆栈内容为R0,R1,R2,R3,R12,LR,PC,XPRS(uint32_t类型);

4.根据堆栈内容取得LR值(定位后第6个uin32_t),此值即为进入异常中断前即将执行指令地址;

5.打开Disassembly窗口,输入上面得到的LR地址,定位至代码;

6.检查前面代码是否出现指针,在指针处下断点,重新运行程序至断点处;

7.检查指针是否为空或者无效地址;

8.如果为无效地址,向上逐步查找何时无效,即可找到问题根源。

 

阅读全部内容…

Tags: HardFault_Handler,STM32

2条评论

由 coright 发表于 2016-06-17 09:37:48

cpp代码
  1. Generic SBCS    UNICODE  
  2. TCHAR   char    wchar_t  
  3. _TEOF   EOF WEOF  
  4. _TINT   int wint_t  
  5. _TSCHAR signed char wchar_t  
  6. _TUCHAR unsigned char   wchar_t  
  7. _TXCHAR char    wchar_t  
  8. __T(x)  x  &

    阅读全部内容…

Tags:

没有评论