TA的每日心情 | 开心 2019-11-20 15:00 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
mcu功能严重异常的几个常见原因
+ c# v: S3 ]! e" }8 e$ l" b# W" Z我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码往往进不到用户main()程序;或者时不时感觉芯片死掉了,功能完全不可控等。7 ?# L* n. f) L4 k, C3 n0 P
8 P! A% ~: f9 |0 j7 y
针对类似严重异常情况的原因我在这里大致总结下,与大家分享。1 y2 ~0 T" \' p2 [* P
+ i! }* J) j. q. ], P( U7 G+ T
1、时钟问题。一般表现在时钟配置异常,比方配置超出芯片主频工作范围。【对于STM32系列MCU,如果使用STM32CUBEMX图形化工具做配置,基本可以回避这个问题】: z7 [) }" i+ ~
! _$ s3 N9 g1 j" B6 s7 k/ C2、电源问题。比方电源质量差,纹波过大,尤其开关电源供电时;或者供电芯片质量差,输出不稳定;或者系统供电能力不足而引起电源波动等。6 j; p; h. _" a5 @
4 t. k5 W: ~; o1 W$ }& w, X
3、BOOT脚配置问题。对于ARM芯片往往都有些BOOT配置脚。经常遇到有人因为BOOT脚的焊接或接触不良导致各类奇怪问题。这种情况多表现在芯片功能时好时坏,或者部分芯片正常,部分芯片异常。' k \ ~ Q' w) j- V: C
( o/ `$ P; Z( F1 M5 Q
4、启动文件问题。经常因为选错了启动文件,导致程序无法正常运行,或者说调试时好好的,脱机运行就出鬼。这点在做不同系列芯片间移植时最容易碰到。. c! ?4 b5 N0 W6 r2 K# ]
, u V9 i% R1 u1 p9 E5、中断请求位清除问题。由于中断请求位没有及时清除导致中断没完没了的重复进入,感觉系统死机一般。
: O* N% Y- Q2 w' j2 s
2 D9 S8 ~* z t/ g/ Y1 S0 \# y6、堆或栈的越界溢出。这个也会导致芯片无法正常工作,调试时往往可能会有硬错提示。
' @) ~: T) p/ x4 m5 @
- c# I' Z4 g# [$ H9 s7 v. M7、VCAP脚问题。有些MCU芯片有VCAP脚,该类脚往往需要接上适当的电容,如果无视了它的话,也可能导致整个芯片的功能异常。
1 r- z, V+ `0 p4 V: t) ~
$ W4 K/ x7 e0 F+ O& b4 M m) z- h上面这几个原因比较容易导致MCU出现功能严重异常,也不太容易简单地通过查看MCU技术手册直接获得答案,分享出来算作一些提醒。
2 D* ]4 }: O" y, d) ]6 N# | |
) F- @4 Q" m) Z- R( i* W1 h3 U; [' f7 Y6 F$ X- b$ I
" J1 ]0 z! t/ K o6 G
3 I1 b0 R, G$ \! f
# I8 J, S2 [. H4 i6 u4 p; o7 f | ' X& H' h' N0 f5 J8 m
|
, n) ~2 v# u+ ]* |! ^ |
|