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

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

[复制链接]
y369369 发布时间:2022-10-7 19:13
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。" |; I" S" B% v2 X! O* A, I; j
2 f: i: f  v6 b4 s3 Z  q8 `

# w' ~8 g' ~7 \6 Z* L. y这说明STM32出现了硬件错误。
0 M! ]- c' ~1 T  Q% Y9 ^9 t7 f
12.png
硬件错误中断
STM32出现硬件错误可能有以下原因:, [( D% ~- x) w4 g3 E# g. H
1、数组越界操作;' d) Q" u# D* v; x) f
2、内存溢出,访问越界;5 f: z( u6 K3 y+ X- {0 H/ O
3、堆栈溢出,程序跑飞;
4 y5 D8 m$ ^( V: A) e8 }4、中断处理错误;
$ I2 Y- [, d$ [( e* j& Y遇到这种情况,可以通过以下2种方式来定位到出错代码段。7 u2 C2 E8 o! G  C- N4 L; C
! J( L& P+ a) u- e
1 ^( u  M, V# q# H9 T
方法:
! H) p! c+ ]+ P, v. N在硬件中断函数; d6 x5 y' R9 v* B
HardFault_Handler
) z3 u3 |. g; b里的, g, k. A5 |2 J* g, ?/ ~9 Y( @
while(1)+ m) i. D' Y% |# s3 O* g0 Y
处打调试断点,程序执行到断点处时点击* L& [5 x2 O. c  S
STOP
& F( t) Z# X2 n' u停止仿真。2 M1 T. K1 p0 ?) A& i$ }/ [
11.png
- R4 K, C( H, r6 a& H3 x
收藏 评论0 发布时间:2022-10-7 19:13

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版