TA的每日心情 | 开心 2019-11-20 15:00 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
mcu功能严重异常的几个常见原因
- a! `" t8 v5 M5 @8 d8 I; \& s* \我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码往往进不到用户main()程序;或者时不时感觉芯片死掉了,功能完全不可控等。
1 ]+ Y7 w! |" E5 O1 i/ B: C* _+ L+ C2 W) G3 u7 ]8 ]$ N, L5 h, ]% Y
针对类似严重异常情况的原因我在这里大致总结下,与大家分享。& j: D* J7 _5 u0 @
8 l p/ ^8 h j+ T) v( P" {
1、时钟问题。一般表现在时钟配置异常,比方配置超出芯片主频工作范围。【对于STM32系列MCU,如果使用STM32CUBEMX图形化工具做配置,基本可以回避这个问题】
0 R( [+ D5 G! M1 x, h$ U& X, W. t
9 K" l1 l& h8 `0 U! s" S5 q2、电源问题。比方电源质量差,纹波过大,尤其开关电源供电时;或者供电芯片质量差,输出不稳定;或者系统供电能力不足而引起电源波动等。$ q9 q5 W8 y8 U# W1 ?" O) O/ W
0 y3 C0 }* @1 p7 I; u$ _
3、BOOT脚配置问题。对于ARM芯片往往都有些BOOT配置脚。经常遇到有人因为BOOT脚的焊接或接触不良导致各类奇怪问题。这种情况多表现在芯片功能时好时坏,或者部分芯片正常,部分芯片异常。
! \0 N8 S' J( B2 v' t8 h( d+ n! ]2 y+ c: ^8 X1 {( Q8 B) {
4、启动文件问题。经常因为选错了启动文件,导致程序无法正常运行,或者说调试时好好的,脱机运行就出鬼。这点在做不同系列芯片间移植时最容易碰到。1 J3 H, J% c$ i( M# J5 ~
' r3 G ]7 ]+ k9 y, C9 t7 g
5、中断请求位清除问题。由于中断请求位没有及时清除导致中断没完没了的重复进入,感觉系统死机一般。+ c% P2 M- U' R. L
" K1 h# G( I& n1 b9 N3 ^5 g3 J6、堆或栈的越界溢出。这个也会导致芯片无法正常工作,调试时往往可能会有硬错提示。
3 L, N7 j- M: w5 g7 ^ J
6 d* T( Q J/ ` o7、VCAP脚问题。有些MCU芯片有VCAP脚,该类脚往往需要接上适当的电容,如果无视了它的话,也可能导致整个芯片的功能异常。, v; _% U7 f% W$ F V$ J( ~. y
9 L7 s' D, }, o! w6 r* y上面这几个原因比较容易导致MCU出现功能严重异常,也不太容易简单地通过查看MCU技术手册直接获得答案,分享出来算作一些提醒。( Q8 K' |- `" H! \
|
6 n2 F8 g* I r0 p7 j& s* P8 x1 U
# w( P) e# Y7 w) C B8 ]8 } Q: m% ^8 r
8 T1 c) v# l$ D7 \& A. a
! {' n- p) J( }- |0 c
| ( u9 i; B0 y% q& g2 u- ^
| - x d1 t p, y4 o
|
|