EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
DSP程序跑飞的原因有很多,你遇到过吗?你解决了吗?
) }0 @4 f H8 W! O9 u0 p, i3 o
, S& Q; L7 T3 h. Y2 E8 @+ Z一般调试代码的步骤有两种方案 h" m" ?+ A z5 ]
方案一:先调试主程序,最后添加看门狗等保护电路; 方案二:先搭建代码环境,比如看门狗保护电路等,然后在该平台上开发主程序 我呢,为了更好的编写算法代码,往往采用方案一。
* c7 t' X' H/ V% S! d" H; j9 u
4 k. y5 X/ _3 v1 E, K+ t7 f ! v3 {3 ^/ i5 j0 w
在我调试代码的过程中,遇到过如下一种程序跑飞的情况: 【原因】硬件看门狗电路设计失误 【设计】我设计的方案中,采用美信芯片MAX706AT设计硬件看门狗电路,看似非常完美的电路,在连接仿真器进行简单方波输出测试时,发现DSP没有任务输出。程序已经异常了,因为我采用的方案一设计代码,所以我只知道异常,不知道原因。
8 a! _% S, k- w9 \' _9 \4 x a
0 G! v7 b( ^3 j/ d3 p0 C/ a: ~ 7 z8 \% U( R* E* }# x: j$ Y
【解决思路】 <1> 无数次的下载程序,并运行程序,但是程序总是异常运行。 <2> 庆幸的是,我的电路设计中有好几个IO直接驱动LED的电路,这时候,我特别注意到LED显示的亮度不正常,然后,我赶紧拿万用表测试IO电压,结果只有1.6V左右。这时,我已经明白,看门狗异常了。 <3> 排查电路中的MAX706AT电路,一点问题都没有。查找MAX706AT的封装和管脚对应时,发现了问题的根源。芯片有SO和UMAX两种封装,说来奇怪,名称完全相同,封装不同,加上管脚定义不同,造成了看门狗芯片的复位电压总是低电压。
& {5 Y5 ~3 `) ] S: n1 I* j |