EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
DSP程序跑飞的原因有很多,你遇到过吗?你解决了吗?
- H" m! i3 H O6 b# }: ~, Q2 M1 { D. X0 g g
一般调试代码的步骤有两种方案& N( o- m/ M; I# o3 p1 h
方案一:先调试主程序,最后添加看门狗等保护电路; 方案二:先搭建代码环境,比如看门狗保护电路等,然后在该平台上开发主程序 我呢,为了更好的编写算法代码,往往采用方案一。 O4 v0 g% L0 a
/ U3 P/ E& q. `$ z" N; l: v 0 a$ b/ `1 j/ X& X- `7 y0 R% ?/ b
在我调试代码的过程中,遇到过如下一种程序跑飞的情况: 【原因】硬件看门狗电路设计失误 【设计】我设计的方案中,采用美信芯片MAX706AT设计硬件看门狗电路,看似非常完美的电路,在连接仿真器进行简单方波输出测试时,发现DSP没有任务输出。程序已经异常了,因为我采用的方案一设计代码,所以我只知道异常,不知道原因。! N6 f0 i. L' }) [0 h1 [
$ [7 }6 v& }2 A0 w7 J3 y9 X, R1 i
8 [- M5 k3 L4 q, ^- ]) P7 |【解决思路】 <1> 无数次的下载程序,并运行程序,但是程序总是异常运行。 <2> 庆幸的是,我的电路设计中有好几个IO直接驱动LED的电路,这时候,我特别注意到LED显示的亮度不正常,然后,我赶紧拿万用表测试IO电压,结果只有1.6V左右。这时,我已经明白,看门狗异常了。 <3> 排查电路中的MAX706AT电路,一点问题都没有。查找MAX706AT的封装和管脚对应时,发现了问题的根源。芯片有SO和UMAX两种封装,说来奇怪,名称完全相同,封装不同,加上管脚定义不同,造成了看门狗芯片的复位电压总是低电压。
# _0 f2 d2 l+ w9 S Q |