TA的每日心情 | 开心 2019-11-20 15:00 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
mcu功能严重异常的几个常见原因
) D+ c4 u! I; e) L6 ~% z5 c; @* Q我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码往往进不到用户main()程序;或者时不时感觉芯片死掉了,功能完全不可控等。
, }+ B& ~8 ?0 k( R1 i
/ L; T& O0 a& v, Z/ b针对类似严重异常情况的原因我在这里大致总结下,与大家分享。
' [( ~5 E) |' k5 G+ g" }! N6 S6 e
1、时钟问题。一般表现在时钟配置异常,比方配置超出芯片主频工作范围。【对于STM32系列MCU,如果使用STM32CUBEMX图形化工具做配置,基本可以回避这个问题】
) }) j+ E3 k; m- ?8 w$ \4 I! W9 ~: ~* N
2、电源问题。比方电源质量差,纹波过大,尤其开关电源供电时;或者供电芯片质量差,输出不稳定;或者系统供电能力不足而引起电源波动等。
' d; r3 ]3 b% ~( x6 `8 J( R/ r, g; y( {% L8 @, k' ^$ L
3、BOOT脚配置问题。对于ARM芯片往往都有些BOOT配置脚。经常遇到有人因为BOOT脚的焊接或接触不良导致各类奇怪问题。这种情况多表现在芯片功能时好时坏,或者部分芯片正常,部分芯片异常。3 s! n! m( i* ^# `% ^
, I! M; ~" G |, ]4、启动文件问题。经常因为选错了启动文件,导致程序无法正常运行,或者说调试时好好的,脱机运行就出鬼。这点在做不同系列芯片间移植时最容易碰到。
6 t1 O0 c* R$ T4 P. }0 C6 F( Y/ ~' D$ X$ X; x; K
5、中断请求位清除问题。由于中断请求位没有及时清除导致中断没完没了的重复进入,感觉系统死机一般。
! ^; B3 H* c7 \. d1 j
) o$ i; z& ^& W0 L& u( o6、堆或栈的越界溢出。这个也会导致芯片无法正常工作,调试时往往可能会有硬错提示。
4 ?% r3 M$ D4 K z* X. N, j3 w! f) k- u6 R5 y% p" J
7、VCAP脚问题。有些MCU芯片有VCAP脚,该类脚往往需要接上适当的电容,如果无视了它的话,也可能导致整个芯片的功能异常。/ {) t# g1 }: v' ?3 G7 \
! L% Q' N4 H. c" v& U' V
上面这几个原因比较容易导致MCU出现功能严重异常,也不太容易简单地通过查看MCU技术手册直接获得答案,分享出来算作一些提醒。
9 J* Q) G, ^+ C8 c! r | 8 K4 B n9 I/ N. `
; Q* `# m `% ~8 B/ J z
: `% z0 a. y$ N. h! X* I Z6 r5 s& t
3 `9 Y& _" x- g2 T- m+ o0 m! e- H' V1 y% w0 g5 y- ~
| 5 t' M+ d0 ^3 j3 @ X
|
2 |, ^( i- [& o8 Y& i |
|