|
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。 + `- l$ C6 V( ~/ j 这说明STM32出现了硬件错误。6 R0 L$ |2 N) t3 U U- R
硬件错误中断 STM32出现硬件错误可能有以下原因:1、数组越界操作; 2、内存溢出,访问越界;" p/ w, l z; ^7 N3 v 3、堆栈溢出,程序跑飞; 4、中断处理错误; 遇到这种情况,可以通过以下2种方式来定位到出错代码段。9 c0 i( ?" n. S* N F 方法: 在硬件中断函数 HardFault_Handler 里的 while(1)9 s0 |8 I' Z, b- i 处打调试断点,程序执行到断点处时点击 STOP% ]* N9 b( K5 s 停止仿真。3 b. I# n& B% G/ v% [, u+ V" f
|
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
STM32L562DK探索板——串口通讯的再测试
STM32L562DK探索板——继续深入了解Audio Play的工作流程
STM32L562DK探索板——触摸菜单实验之触摸测试
STM32L562DK探索板——触摸菜单实验之LED闪烁
STM32L562DK探索板——给Audio Play添加音量控制功能
STM32L562DK探索板——重写Led闪烁demo
STM32L562DK探索板——触摸菜单的实验
STM32L562DK探索板——简单的显示变量函数
经验分享 | STM32 IAP应用时的跳转注意事项
微信公众号
手机版