没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论













DSP技术分析:如何让你的程序不在跑飞技术分析:如何让你的程序不在跑飞?
编程的时候DSP程序跑飞的原因有哪些?我们该如何解决这些DSP技术问题?今天小编搜罗来了各种解决程序
跑飞的方法,希望能够对大家有所帮助
DSP程序跑飞原因状况一
一般调试代码的步骤有两种方案:方案一是先调试主程序,最后添加看门狗等保护电路;方案二是先搭建代码环境,比如看门
狗保护电路等,然后在该平台上开发主程序。为了更好的编写算法代码,往往采用方案一。在调试代码的过程中,遇到过如下
一种程序跑飞的情况:
【原因】
硬件看门狗电路设计失误。
【设计】
设计方案中,采用美信芯片MAX706AT设计硬件看门狗电路,看似非常完美的电路,在连接仿真器进行简单方波输出测试
时,发现DSP没有任务输出。程序已经异常了,因为采用的方案一设计代码,所以只知道异常,不知道原因。
【解决思路】
1、无数次的下载程序,并运行程序,但是程序总是异常运行。
2、庆幸的是,电路设计中有好几个IO直接驱动LED的电路,这时候,特别注意到LED显示的亮度不正常,然后赶紧拿万用表
测试IO电压,结果只有1.6V左右。这时已经明白,是看门狗异常了。
3、排查电路中的MAX706AT电路,一点问题都没有。查找MAX706AT的封装和管脚对应时,发现了问题的根源。芯片有SO
和UMAX两种封装,说来奇怪,名称完全相同,封装不同,加上管脚定义不同,造成了看门狗芯片的复位电压总是低电压。
终于找到问题了。
DSP程序跑飞原因状况二
【原因】
中断处理超时引起程序跑飞
【设计】
设计基于TMS320F28335(4)的双极性信号采集系统,因为频率较高,因此采用了中断采集方式,也就是说用PWM输出方波,
触发采集模块开始采集,当采集锁存之后会中断。
告知dsp进行数据读取。那么数据读取就是在中断中进行的。
在初版中,采用周期=20ms/256进行采样触发。
很奇怪的问题发生了,DEBUG模式下,没有问题,可以采集到数据,但是RELEASE模式下,采集数据时,程序跑飞。
当意识到程序跑飞时,怀疑到中断程序太长,或者处理时间太长。
【解决思路】
猜测周期太短,那么可以将周期增加,周期=20ms/128,仍然失败告终。
再减周期=20ms/64,okay。
宜将剩勇追穷寇,周期减为=20ms/32,okay
第一次就这样解决了。
【附】当使用dsp进行算法处理时,一定要先对算法评估,否则,当认识到自己程序问题时,已经来不及了,因为参数修改之
后,有可能不能满足系统的需求。
DSP程序跑飞原因状况三
1.不小心操作到了子函数返回地址值。
2.数值溢出,读写了超过范围的存储空间,堆栈溢出等 。
程序是带有BIOS的程序,当程序跑飞后我就在主函数的最后一行设置断点,结果程序可以跑到主函数的最后一行,接下来就
是初始化BIOS操作系统了,操作系统的源代码又是不可见的,所以一时陷入了僵局。不知道该怎么办好。
资源评论


weixin_38666823
- 粉丝: 5
- 资源: 971
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
