你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32小技巧】STM32硬件错误的调试技巧

[复制链接]
y369369 发布时间:2022-10-7 19:13
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。
! G8 B0 |7 Q  k% i% @* D) k& l, \6 Z# o& }# t, X$ Z
' Y, L4 c: W; q5 ^! k* z
这说明STM32出现了硬件错误。- S4 z" \+ F1 [- Y
12.png
硬件错误中断
STM32出现硬件错误可能有以下原因:
) I7 W% I/ j6 g: x3 h& ]) o8 S1、数组越界操作;
4 i! p: y" _$ A! m8 Q- c' c2、内存溢出,访问越界;8 H9 d7 O6 u, f1 o. ^
3、堆栈溢出,程序跑飞;, C, A4 t7 M5 n8 l, B
4、中断处理错误;" J9 S; W; n, U) F( `+ a* c$ Q
遇到这种情况,可以通过以下2种方式来定位到出错代码段。9 R$ U' i( x! d/ H! u! N4 |
9 k1 C3 a* H7 m

+ a" Z1 b  H8 |- u; g方法:4 t  J( V5 k3 j, S( s
在硬件中断函数
: c4 @  h" i& b; mHardFault_Handler+ M' }: F- M9 n8 T- z
里的. \5 H. x  [" q
while(1)4 B; O  I( P9 {* i3 q) z  p$ e
处打调试断点,程序执行到断点处时点击( _1 u5 g) |) H7 M
STOP
0 M; W9 j0 W9 a9 q- q停止仿真。
: ]1 ?+ Q. L: v
11.png
0 r0 |* h- n+ s3 y) b
收藏 评论0 发布时间:2022-10-7 19:13

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版