打印

DSP程序能完全用C来写吧?

[复制链接]
2147|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2012-9-8 17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
益友电子| | 2012-9-8 21:46 | 只看该作者
完全可以的!

使用特权

评论回复
板凳
wjzx111056| | 2012-9-8 21:58 | 只看该作者
这个肯定是可以的啊!TI有C语言的例程的,是一个安装文件,安装之后才会出现那个文件夹。文件夹里面是芯片上外设的使用方法的程序,很简单,学过ANCI C的人能够看懂。

使用特权

评论回复
地板
wjzx111056| | 2012-9-8 22:00 | 只看该作者
但是用C写DSP的程序要注意:
    1、 要非常谨慎地使用局部变量,根据自己项目开发的需要,应尽可能多地使用全局变量和静态变量。
  2、 一定要非常重视中断向量表的问题,很多朋友对中断向量表的调用方式不清楚。其实中断向量表中的中断名是任意取定的,dsp是不认名字的,它只认地址!!中断向量表要重新定位。这一点很重要。
   3、 要明确dsp软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个dsp程序员的水平。对于dsp,我们有两种名称的存储空间,一种是物 理空间,另一种是映射空间。物理空间是dsp上可以存放数据和程序的实际空间(包括外部存储器),我们的数据和程序最终放到物理空间上,但我们并不能直接 访问它们。我们要访问物理空间,必须借助于映射空间才行!!但是映射空间本身是个“虚”空间,是个不存在的空间。所以,往往是映射空间远远大于实际的物理 空间,有些映射空间,如io映射空间,它本身还代表了一种接口。只有那些物理空间映射到的映射空间才是我们真正可访问(读或写)的存储空间。
  4、 尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。
  5、 如果ti公司或第三方软件合作商提供了dsplib或其他的合法子程序库供调用,应尽可能地调用使用。这些子程序均使用用汇编写成,更为重要之处是通过了tms320算法标准测试。而且,常用的数字信号处理算法均有包括!!
  6、 尽可能地采用内联函数!!而不用一般的函数!!可以提高代码的集成度。
  7、 编程风格力求简炼!!尽可能用c语言而不用c++语言。我个人感到虽然c++终代码长了一些,好象对执行速度没有影响。
  8、 因为在c5000中double型和float型均占有2个字,所以都可以使用,而且,可以直接将int型赋给float型或double型,但,尽可能地多使用int数据类型代替!这一点需要注意!!
  9、 程序最后至少要加上一个空行,编译器当这个空行为结尾提示符。

使用特权

评论回复
5
拿起书本| | 2012-9-8 23:18 | 只看该作者
楼主的意思是完全用C,完全脱离汇编吗?

使用特权

评论回复
6
gygp| | 2012-9-9 10:46 | 只看该作者
DSP最好用汇编,这样的运算速度快多了

使用特权

评论回复
7
益友电子| | 2012-9-9 10:58 | 只看该作者
可以的,C语言是相同的,一般都是c与汇编结合的

使用特权

评论回复
8
GG_GG| | 2012-9-9 15:12 | 只看该作者
最好不要,因为汇编是执行最快的语言

使用特权

评论回复
9
wjzx111056| | 2012-9-9 19:13 | 只看该作者
不用C的话,全部用汇编的话,那么难度可能有点大!关键是DSP主要是要求算法。

使用特权

评论回复
10
acer4736| | 2012-9-9 19:34 | 只看该作者
c用的人比较多吧

使用特权

评论回复
11
blacksword| | 2012-9-10 11:03 | 只看该作者
C主要是需要一个Stack及运行时环境的,这个的初始化是不能由C语言自己解决的。因此必须由汇编来解决。

但你拿C来写你自己全部的代码,因为大部分情况下,厂商已经为你准备好的相关的初始化汇编代码 。

使用特权

评论回复
12
figo20042005| | 2012-9-10 19:24 | 只看该作者
汇编虽然运行快,但是阅读和修改难,二次开发也不好,还是C利于开发速度

使用特权

评论回复
13
happybird21| | 2012-9-12 20:55 | 只看该作者
本来 就可以的啊

使用特权

评论回复
14
拿起书本| | 2012-9-12 21:46 | 只看该作者
汇编语言编码具有更高的性能优势,而用C语言编码则较容易且速度也更快

使用特权

评论回复
15
huangfeng33|  楼主 | 2012-10-8 21:01 | 只看该作者
感谢大家的指点,了解了,铁定用C了。:handshake结贴切了

使用特权

评论回复
16
sensorexpert| | 2012-10-8 21:17 | 只看该作者
可以

使用特权

评论回复
17
blacksword| | 2012-10-9 12:36 | 只看该作者
1# huangfeng33

能够完全用C来写是因此TI在CSP里面做了相应的工作。
即汇编的用来载入C运行时库的内容,TI已经做了!

而不是说目前的状态下C语言代码已经可以自行载入了!

使用特权

评论回复
18
Redstar2012| | 2012-10-9 15:17 | 只看该作者
DSP可以用C编程,中间又可以嵌套汇编语言;现在DSP运行比较快了,使用C来编写程序完全满足系统实时性.

使用特权

评论回复
19
hawksabre| | 2012-10-10 18:47 | 只看该作者
DSP底层驱动使用C语言编写完全没有问题    但是在涉及到一些要求速度较快   或者要求计算精准的   那就要涉及到汇编语言    涉及到混合编程    汇编现在用的不多   但是还是有用处的  呵呵

使用特权

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

本版积分规则

506

主题

2446

帖子

8

粉丝