|
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。 这说明STM32出现了硬件错误。1 ? u: x6 n' P( Q! b
硬件错误中断 STM32出现硬件错误可能有以下原因:1、数组越界操作; 2、内存溢出,访问越界;- l& _+ C8 U' a3 T) j1 m; F1 X 3、堆栈溢出,程序跑飞; x" h1 y+ L. G! v5 A 4、中断处理错误; 遇到这种情况,可以通过以下2种方式来定位到出错代码段。5 l7 Q* N& x. | & a( Y% L: j- Y0 r 方法:' |) g& K: p' a' V, V, H 在硬件中断函数4 p8 z% j# v' S# @1 b- P( O2 L HardFault_Handler 里的 while(1) 处打调试断点,程序执行到断点处时点击8 ?! e& e, t* {! e8 \. t STOP 停止仿真。8 j4 \3 C- X4 v& q& W" x! T
|
实战经验 | 如何将全部代码放在SRAM中运行
STM32C542RC开发板实现长短按键识别功能
STM32C542RC开发板的串口不定长数据接收实验
STM32C542RC开发板的串口DMA发送及接收实验
终于完成了STM32C542RC开发板的串口发送实验
【新品测评】STM32WL3R芯片测评,从点亮第一个LED到subGhz启动
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
STM32L562DK探索板——串口通讯的再测试
STM32L562DK探索板——继续深入了解Audio Play的工作流程
STM32L562DK探索板——触摸菜单实验之触摸测试
微信公众号
手机版