EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
DSP程序跑飞的原因有很多,你遇到过吗?你解决了吗?
* h" \$ S O3 R% E$ G4 K0 p
3 k8 O, ~" i9 _一般调试代码的步骤有两种方案5 ]* _( e3 `2 r3 W' h
方案一:先调试主程序,最后添加看门狗等保护电路; 方案二:先搭建代码环境,比如看门狗保护电路等,然后在该平台上开发主程序 我呢,为了更好的编写算法代码,往往采用方案一。
( z/ @* g6 M: r' O4 ~4 l B! V; Q% J5 C" z0 u) s
; Z0 v# V; |/ U9 s. ^" y/ \在我调试代码的过程中,遇到过如下一种程序跑飞的情况: 【原因】硬件看门狗电路设计失误 【设计】我设计的方案中,采用美信芯片MAX706AT设计硬件看门狗电路,看似非常完美的电路,在连接仿真器进行简单方波输出测试时,发现DSP没有任务输出。程序已经异常了,因为我采用的方案一设计代码,所以我只知道异常,不知道原因。
- j4 q) |' N8 v9 U8 Z0 {; f7 a" ]" r0 Z4 |
6 Z2 J1 g$ }- C9 x* C e
【解决思路】 <1> 无数次的下载程序,并运行程序,但是程序总是异常运行。 <2> 庆幸的是,我的电路设计中有好几个IO直接驱动LED的电路,这时候,我特别注意到LED显示的亮度不正常,然后,我赶紧拿万用表测试IO电压,结果只有1.6V左右。这时,我已经明白,看门狗异常了。 <3> 排查电路中的MAX706AT电路,一点问题都没有。查找MAX706AT的封装和管脚对应时,发现了问题的根源。芯片有SO和UMAX两种封装,说来奇怪,名称完全相同,封装不同,加上管脚定义不同,造成了看门狗芯片的复位电压总是低电压。
. b8 D& B3 I J4 g |