EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
DSP程序跑飞的原因有很多,你遇到过吗?你解决了吗?; P' _0 `7 b; ]
+ K/ K0 q" _* x4 x% d6 j( e. M
一般调试代码的步骤有两种方案 I8 r( n+ {3 G0 q& `8 p
方案一:先调试主程序,最后添加看门狗等保护电路; 方案二:先搭建代码环境,比如看门狗保护电路等,然后在该平台上开发主程序 我呢,为了更好的编写算法代码,往往采用方案一。3 w/ E8 @) U2 ^! B; B
w7 V% | [2 `5 t. t n% i
% _, @ N" |& b# n( N在我调试代码的过程中,遇到过如下一种程序跑飞的情况: 【原因】硬件看门狗电路设计失误 【设计】我设计的方案中,采用美信芯片MAX706AT设计硬件看门狗电路,看似非常完美的电路,在连接仿真器进行简单方波输出测试时,发现DSP没有任务输出。程序已经异常了,因为我采用的方案一设计代码,所以我只知道异常,不知道原因。
: L& }# y# c" ?! } O V7 P; V" k' t5 N% Q% E
* L5 j9 K8 ]: b. g% _【解决思路】 <1> 无数次的下载程序,并运行程序,但是程序总是异常运行。 <2> 庆幸的是,我的电路设计中有好几个IO直接驱动LED的电路,这时候,我特别注意到LED显示的亮度不正常,然后,我赶紧拿万用表测试IO电压,结果只有1.6V左右。这时,我已经明白,看门狗异常了。 <3> 排查电路中的MAX706AT电路,一点问题都没有。查找MAX706AT的封装和管脚对应时,发现了问题的根源。芯片有SO和UMAX两种封装,说来奇怪,名称完全相同,封装不同,加上管脚定义不同,造成了看门狗芯片的复位电压总是低电压。
9 k- O1 ?! ?9 @& `# H |