DSP调试

调试DSP两天啦,今天终于搞定。

其实自己DSP水平是打酱油水平,只是上过这门课,调试经验也不足,特别是实际项目,我前段时间做的项目有一定的改进,老板感觉不错,就叫我把我们实验室以前的DSP板子刷上现在的程序,我原本以为很简单,因为我改成C语言的版本也没花多少时间,而且过程中也没有遇到什么问题(因为C版本使自己写的),哪知道移到DSP中竟然不工作啦,心情那叫一个着急,还有就是烧写一次程序要十几分钟,不工作怎么办呢,调试呗!可是怎么调试啊,不会啊,以前上课只是simulator调试过,现在可是烧到板子上调试,不会。于是问一下师兄吧,他回答是他也不会,以前的师兄也没有教过他,你自己上网查查吧,顿时心就凉了,那就上网查查吧,最终还是无果。突然想起以前看程序的文件夹时有个online版本的程序,心想那是不是在线调试的程序版本呢,打开看看,果然是,哈哈。

那就调试吧,发现还要有外部信号的输入,而且我改动的程序在中断处理程序里,那怎么调试呢?最终我想就把程序里本身就有的hamming窗的数据作为输入吧,那这样就把输入数据的问题解决了,那怎样解决中断的问题呢?那就把中断处理函数的内容姑且放到主函数里面吧。那这样问题就解决了,开始调试。

通过watch变量,最终将问题锁定在atan2()函数上,DSP用这个函数不行(至少我用的6713不行),要用dsprts67x.h中的atan2sp()函数。这样就把第一个问题解决了,接下来又出现一个莫明其妙的问题,通过排查发现就是这个acos()函数在搞怪,那就用dsprts67x.h中的acossp函数代替呗,查后结果没有这个函数,那可怎么办,就自己写个呗,下面就是啦:

Float acossp(float x)

{

       returnatan2sp(sqrtsp(1.0-x*x),x);

}

 

Over~

改好后烧到板子里OK啦,哈哈

遇到不会的问题不要怕,换换考虑问题的角度,有可能就转化成自己会的问题,那就离解决问题不远啦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值