研发埠
标题:
使用C/C++语言编写基于DSP程序时,应注意哪些事项?
[打印本页]
作者:
独立显卡
时间:
2013-3-13 14:10
标题:
使用C/C++语言编写基于DSP程序时,应注意哪些事项?
作者:
锦绣山河
时间:
2013-3-13 14:11
1、不影响执行速度的情况下,可以使用c或c/c++语言提供的函数库,也可以自己设计函数,这样更易于使用“裁缝师”优化处理,例如:进行绝对值运算,可以调用fabs()或abs()函数,也可以使用if...else...判断语句来替代。2、要非常谨慎地使用局部变量,根据自己项目开发的需要,应尽可能多地使用全局变量和静态变量。3、一定要非常重视中断向量表的问题,其实中断向量表中的中断名是任意取定的,DSP是不认名字的,它只认地址!4、要明确DSP软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个DSP程序员的水平。DSP有两种名称的存储空间,一种是物理空间,另一种是映射空间。物理空间是DSP上可以存放数据和程序的实际空间(包括外部存储器),数据和程序最终放到物理空间上,并不能直接访问它们。要访问物理空间,必须借助于映射空间才行!但是映射空间本身是个“虚”空间,是个不存在的空间。所以,往往是映射空间远远大于实际的物理空间。有些映射空间,如io映射空间,它本身还代表了一种接口。只有那些物理空间映射到的映射空间才是真正可访问(读或写)的存储空间。5、尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。6、如果ti公司或第三方软件合作商提供了DSPlib或其他的合法子程序库供调用,应尽可能地调用使用。这些子程序均使用用汇编写成,更为重要之处是通过了tms320算法标准测试。而且,常用的数字信号处理算法均有包括!7、尽可能地采用内联函数!而不用一般的函数!可以提高代码的集成度。8、编程风格力求简炼!尽可能用c语言而不用c++语言。9、因为在c5000中double型和float型均占有2个字,所以都可以使用。而且,可以直接将int型赋给float型或double型,但尽可能地多使用int数据类型代替浮点型。10、程序最后至少要加上一个空行,编译器当这个空行为结尾提示符。11、大胆使用位运算符。12、2003年6月份从ti的网站提供关于tms320c67x系列DSP的快速算法库后,tms320c5000和c6000全系列的快速算法库都问世了,这些算法库均可供c/c++语言直接调用,优化程度100%,实际编程时尽可能地使用(下载时可以同时下载到说明文档和ascii源程序,可以根据自己需要作出修改,修改前最好做个备份)
欢迎光临 研发埠 (http://bbs.yanfabu.com/)
Powered by Discuz! X3.2