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

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

[复制链接]
y369369 发布时间:2022-10-7 19:13
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。4 c) M/ _% M. d+ O3 o( `. k

0 v+ Q+ b; [* c$ |
2 @' b6 g  }7 _( H
这说明STM32出现了硬件错误。8 [/ u5 P2 a7 Q; @; \% [
12.png
硬件错误中断
STM32出现硬件错误可能有以下原因:
2 Y) K  R" I, g. K  E/ {1、数组越界操作;
( N$ c0 N# X2 q! m$ n9 ^2、内存溢出,访问越界;
1 v$ m$ v/ R1 ^3、堆栈溢出,程序跑飞;
( a3 G! |/ O4 |- A4、中断处理错误;/ c3 U" V9 g5 e8 Y3 @0 q
遇到这种情况,可以通过以下2种方式来定位到出错代码段。
8 l  |4 h7 b% z" K3 Z; {- P% j  f+ `6 W' u, |; q) n, m
/ P; U. T' l2 R! Z8 f* ^
方法:9 a  }+ S9 {  L
在硬件中断函数
/ W$ h- q" }6 s  ~7 ~3 P# BHardFault_Handler* {& f9 b4 i4 s3 x
里的
, L# q4 k4 n5 y2 I; v1 ewhile(1)
1 g7 V7 K/ T( Y: l: n; V处打调试断点,程序执行到断点处时点击
# l6 V9 S& ]" _: J/ ?9 f' I4 gSTOP. u/ \( ^9 L- t2 q+ P
停止仿真。/ G, b1 S3 ~  j; S( N/ `
11.png

: ~) V- ], x2 h. o! q, G+ J
收藏 评论0 发布时间:2022-10-7 19:13

举报

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