打印

编写基于DSP程序的注意事项都有哪些

[复制链接]
988|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaoxqi|  楼主 | 2014-11-9 09:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhanghqi| | 2014-11-9 09:33 | 只看该作者
不影响执行速度的情况下,可以使用C或C/C++语言提供的函数库,也可以自己设计函数,这样更易于使用“裁缝师”优化处理

使用特权

评论回复
板凳
zhanghqi| | 2014-11-9 09:34 | 只看该作者
例如:进行绝对值运算,可以调用fabs()或abs()函数,也可以使用if...else...判断语句来替代。

使用特权

评论回复
地板
zhenykun| | 2014-11-9 09:37 | 只看该作者
要非常谨慎地使用局部变量,根据自己项目开发的需要,应尽可能多地使用全局变量和静态变量。

使用特权

评论回复
5
wyjie| | 2014-11-9 09:41 | 只看该作者
一定要非常重视中断向量表的问题,很多朋友对中断向量表的调用方式不清楚。其实中断向量表中的中断名是任意取定的,DSP是不认名字的,它只认地址!!中断向量表要重新定位。这一点很重要。

使用特权

评论回复
6
jiajs| | 2014-11-9 09:41 | 只看该作者
要明确DSP软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个DSP程序员的水平。对于DSP,我们有两种名称的存储空间,一种是物理空间,另一种是映射空间。物理空间是DSP上可以存放数据和程序的实际空间(包括外部存储器),我们的数据和程序最终放到物理空间上,但我们并不能直接访问它们。我们要访问物理空间,必须借助于映射空间才行!!但是映射空间本身是个“虚”空间,是个不存在的空间。所以,往往是映射空间远远大于实际的物理空间,有些映射空间,如IO映射空间,它本身还代表了一种接口。只有那些物理空间映射到的映射空间才是我们真正可访问(读或写)的存储空间。

使用特权

评论回复
7
jlyuan| | 2014-11-9 09:43 | 只看该作者
尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。

使用特权

评论回复
8
lizye| | 2014-11-9 09:44 | 只看该作者
尽可能地采用内联函数!!而不用一般的函数!!可以提高代码的集成度。

使用特权

评论回复
9
dengdc| | 2014-11-9 09:47 | 只看该作者
编程风格力求简炼!!尽可能用C语言而不用C++语言。腋鋈烁械剿淙籆++终代码长了一些,好象对执行速度没有影响。

使用特权

评论回复
10
lizye| | 2014-11-9 09:47 | 只看该作者
因为在C5000中double型和float型均占有2个字,所以都可以使用,而且,可以直接将int型赋给float型或double型,但,尽可能地多使用int数据类型代替!这一点需要注意!!

使用特权

评论回复
11
zhanghqi| | 2014-11-9 09:52 | 只看该作者
程序最后至少要加上一个空行,编译器当这个空行为结尾提示符。

使用特权

评论回复
12
heweibig| | 2014-11-9 09:52 | 只看该作者
#i nclude <file.h>与#i nclude "file.h"的区别
用尖括号形式时,系统到存放c库函数头文件所在的目录中寻找要包含的文件,这称为标准方式。用双引号时,系统先在用户当前目录中寻找要包含的文件,若找不到,再按标准方式查找。一般来说,如果为调用库函数而用#i nclude命令来包含相关的头文件,则用尖括号,以节省查找时间。如果要包含的是用户自己编写,一般用双引号。

使用特权

评论回复
13
huangchui| | 2014-11-9 09:54 | 只看该作者
尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。
这个在单片机中也是一样的啊

使用特权

评论回复
14
zhaoxqi|  楼主 | 2014-11-9 09:55 | 只看该作者
我总结下,多谢大家啦

使用特权

评论回复
15
拿起书本| | 2014-11-10 14:15 | 只看该作者
同意 精简指令 的看法,也是觉得主要是效率和习惯问题.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

808

主题

10636

帖子

4

粉丝