TA的每日心情 | 开心 2019-11-20 15:00 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
mcu功能严重异常的几个常见原因
# K6 a: }( |' h我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码往往进不到用户main()程序;或者时不时感觉芯片死掉了,功能完全不可控等。
& l+ g: o+ E s3 X% s- B9 A1 o5 b1 a* X0 a7 j6 d5 ]
针对类似严重异常情况的原因我在这里大致总结下,与大家分享。
1 | F5 @; ?2 P( S4 h- w
- D) P! k6 F- a1 s3 Q6 }' D( D- M1、时钟问题。一般表现在时钟配置异常,比方配置超出芯片主频工作范围。【对于STM32系列MCU,如果使用STM32CUBEMX图形化工具做配置,基本可以回避这个问题】; W8 D- m" W- F- Q! p
6 Y; X0 { h# @+ U1 q X
2、电源问题。比方电源质量差,纹波过大,尤其开关电源供电时;或者供电芯片质量差,输出不稳定;或者系统供电能力不足而引起电源波动等。
/ `6 \, F) T2 R) L2 ~1 F& s+ i
# R/ e1 P U8 `: M) P3、BOOT脚配置问题。对于ARM芯片往往都有些BOOT配置脚。经常遇到有人因为BOOT脚的焊接或接触不良导致各类奇怪问题。这种情况多表现在芯片功能时好时坏,或者部分芯片正常,部分芯片异常。( J* S0 ^& `" U8 B. \" ^( J* U
/ a" C: L7 c7 Y! g4、启动文件问题。经常因为选错了启动文件,导致程序无法正常运行,或者说调试时好好的,脱机运行就出鬼。这点在做不同系列芯片间移植时最容易碰到。
- V( I' X# D) x2 Y3 q2 ^3 R
+ N5 e$ r. R" e* P: L* V6 r5、中断请求位清除问题。由于中断请求位没有及时清除导致中断没完没了的重复进入,感觉系统死机一般。
& @/ h% m7 H; D8 p" L( C. C
/ s# [" K9 ~. e6、堆或栈的越界溢出。这个也会导致芯片无法正常工作,调试时往往可能会有硬错提示。. q0 Y! C! f7 i( y& K; p
4 `7 A! X6 e7 @8 a% t7、VCAP脚问题。有些MCU芯片有VCAP脚,该类脚往往需要接上适当的电容,如果无视了它的话,也可能导致整个芯片的功能异常。
" O% q3 ]4 X% ]; E- t
6 H% @7 h( p7 h" T1 `3 g1 V上面这几个原因比较容易导致MCU出现功能严重异常,也不太容易简单地通过查看MCU技术手册直接获得答案,分享出来算作一些提醒。
' c8 @0 g, ^" h$ _" C5 \. C |
9 M: N8 N: z% d
' H8 r' Y* b+ b9 O0 y& _5 M
% \# ?1 H. d; I# v1 Q {/ Q( A' |
3 ~' z) }3 I( r$ e# U3 j/ F" F* O4 g: Q$ w. y
| 4 T4 x- P/ p/ Y* y
| ) V8 k0 d3 ~% M0 I
|
|