程序死机的情况

  程序卡死在B.处,一般都是有中断没有处理,导致程序进入中断后无法跳出,仔细检查下相关中断的配置和处理函数,找出错误即可。

    STM32出现硬件错误可能有以下原因:
        (1)、数组越界操作;
        (2)、内存溢出,访问越界;
        (3)、堆栈溢出,程序跑飞;
        (4)、中断处理错误;

  STM32硬件错误HardFault_Handler的处理方法:

  在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击“STOP”停止仿真。

  在Keil菜单栏点击“View”——“Call Stack Window”弹出“Call Stack + Locals”对话框。然后在对话框中右键选择“Show Caller Code”,就会跳转到出错之前的函数处,仔细查看这部分函数被调用或者数组内存使用情况。

 

posted @ 2021-02-26 16:10  孤情剑客  阅读(557)  评论(0)    收藏  举报