使用C/C++语言编写基于DSP程序的注意事项
出处:用户 发布于:2008-08-22 10:44:39
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++语言。我个人感到虽然c++终代码长了一些,好象对执行速度没有影响。
9、 因为在c5000中double型和float型均占有2个字,所以都可以使用,而且,可以直接将int型赋给float型或double型,但,尽可能地多使用int数据类型代替!这一点需要注意!!
10、 程序至少要加上一个空行,编译器当这个空行为结尾提示符。
11、 大胆使用位运算符,非常好用!!
12、 2003年6月份从ti的网站上下到了关于tms320c67x系列dsp的快速算法库,于是,tms320c5000和c6000全系列的快速算法库都问世了,这些算法库均可供c/c++语言直接调用,优化程度100%,实际编程时尽可能地使用(时可以同时到说明文档和ascii源程序,可以根据自己需要作出修改,修改前做个备份)。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 模拟与数字音频分频器大比拼:DSP 的优势揭秘2026/6/18 15:50:32
- 单片机领域:二极管实现不同电压输出的方法解析2026/6/11 14:35:45
- 单片机晶振脚原理是什么?2026/5/28 16:53:55
- 深度解析 51 单片机电平特性2026/5/26 15:45:30
- 简单分析 STM32 和 51 的区别2026/5/21 16:48:11









