DSP的算法移植问题

DSP的算法移植问题,第1张

移植:

1)如果你的算法是基本opencv这样的基本上开发的,你需要脱离opencv的环境。

2)如果你的算法是C++语言,请你改成标准的C语言。虽然DSP的开发环境是支持C++的,但是不建议你这么做。

3)修改你算法的内存分配,尽量内存一次分配好,DSP在算法不断的申请和释放时会有隐患。优先使用静态数组,会减轻很多工作量。

4)在CCS下建立工程,来调试你的算法,内存分配函数需要使用TI提供的函数。如果你的算法能够长期稳定的运行,那么恭喜你,你的算法移植就完成了。

优化:

算法优化,需要你能懂算法,也懂DSP。如果你只会写DSP程序,而不会算法,这对整个产品来说,是不能达到最优的。有些公司怕算法泄密,给优化人员一段或几段程序让其优化。我觉得这样做是很不合理的。除非你自己能控制大局,精通优化,这样才可行。

1)你需要对算法原理做一个深刻苦的理解,阅读相关的文章。

2)对你拿到的算法做全方位的熟悉。

3)做好上面的准备工作后,你要对算法的结构做重新的整理。依据DSP的特点,比如内存的分布。算法结构调整完成后,你的算法在DSP上速度应该有一个明显的提高了。

4)结构调整完成后,找到算法中比较费时的部分。确定我们需要优化的重点,这部分内容多是每张图像都要处理一次或多次的部分。对于算法启动时初始化部分的内容,一般不需要优化。

5)确定优化内容后,你首先考虑从语言结构上去做优化,这个时候应该还是C语言的。我不建议大家用TI提供的在C语言中使用优化嵌入的C库函数。

6)你把需要优化的函数改写为线性汇编或汇编函数。不断的调整软件流水,提高速率。

有的。

可以使用C2PROG这个软件,C2PROG就是专门支持使用仿真器通过JTAG烧写DSP程序。

程序烧录,烧录时间比烧录RAM长很多,这个过程注意不要断电,不要断开仿真下载器,也不要进行复位,否则将可能导致芯片被锁死,无法再次下载程序

从这些宏定义可以看到C语言是如何支持硬件编程的。

以#define IMR (volatile unsigned int )0x0004 为例:

1)0x0004,这个容易理解,是一个十六进制的常数

2)再看(volatile unsigned int ),这是一个强制转换,将0x0004转换成(volatile usigned int )

3)现在解释volatile usigned int 是什么。 表示指针(地址),这个指针指向一个 usigned int的数。最前面的volatile有特殊含义:这个指针必须保存在RAM中(不是FLASH或DSP寄存器中)

4)综合上面1)2)3)可知: (volatile unsigned int )0x0004 的含义是:

0x0004是一个地址,在这个地址内保存的是一个unsigned int 类型的整数。这个地址存在于RAM

5)(volatile unsigned int )0x0004 最左边多一个,表示取地址指向单元的内容。综合起来的意思是:从0x0004地址单元中取出一个usigned int 类型的数据值

6)#define IMR (volatile unsigned int )0x0004 的意思是,将从0x0004地址单元中取出一个usigned int 类型的数据值定义为IMR

7)根据DSP硬件,在DSP中RAM中的 0x0004地址单元恰好是中断管理寄存器!

8)绕了半天,#define IMR (volatile unsigned int )0x0004 的意思是:在C语言程序中,定义了一个宏标示符 IMR 来表示DSP中的中断管理寄存器。在程序中,可以通过这个宏标示符来使用这个寄存器:

unsigned int v = IMR; //取出中断管理寄存器的值并赋给v

十有九是遇到无效地址了,你可以看一下停止的地方是不是NMI中断,或是其他什么地方。

另外:

1设置断点,看看程序是否有进入主程序,最好能看到停止前执行到那部分程序;

2把管脚重新焊一遍,保证没有虚焊;

3检查复位管脚的信号;

4检查晶振信号;

5自己想办法测试一下仿真器是否正常工作。

dsp中不能显示asm文件的原因:第一种可能:没有加载CMD文件

第二种可能:CMD文件已加载,但CMD文件编写有问题,存储器配置、定位不正确

第三种可能:用C语言编写的DSP程序,C初始化设置错误。

以上就是关于DSP的算法移植问题全部的内容,包括:DSP的算法移植问题、dsp有没有专门烧程序的软件、dsp的程序问题。解释一下dsp c 语言的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10633267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存