- 论坛徽章:
- 0
|
ti公司的芯片站全世界dsp芯片市场的百分之50稍小一些。所以我感觉还是搞ti的dsp比较好,
ti公司的dsp大概有3个档次的dsp。2000.5000.6000.系列。现在2000系列的dsp都叫微控制器了,5000系列的属于中档系列,6000系列是最高端的。davinci芯片就是属于6000系列。
ti公司提供的开发环境比较混乱,开发每一个系列的芯片需要不同的开发环境,出现这个现象的原因可能是,ti公司在这个市场上处于绝对的地位,所以,他们没有把这些开发环境做在一起,这样在用他们的芯片做开发的时候,就需要另外购买别的开发环境。在这个方面ti公司做的就远没有arm公司做的大方了。
现在我手里有一个tms320vc5402的dsp开发板,想在大概一个星期内把dsp片内的每一个控制单元搞明白。然后让这个dsp于arm芯片进行连接。
对于dsp的结构做了大概的了解,总体感觉就是这个CPU就是注意芯片的性能,怎么样有利用快速运算就怎么做。内核设计非常复杂,以5402为例,这个芯片内部就有8条总线。不过幸好我只想用C编程,这些复杂的总线结构似乎跟我无关了。
这里面CMD文件是不得不学的。cmd文件是一个程序连接配置文件。告诉连接器对OBj文件内的段怎么连接。
MEMORY {
PAGE 0:
RESEVE: org 00h len = 0x80
PAGE 0:
PROG1: org = 0x0100 len = 0x1200
PAGE 0:
VECT: org = 0x0080, len = 0x80
PAGE 1:
RESEVE1: org 00h len = 0x1300
PAGE 1:
DARAM2: org = 0x1300 len = 0x400
PAGE 1:
DARAM1: org = 0x1700 len = 0x2900
}
SECTIONS{
.text : > PROG1 PAGE 0
.cinit : > PROG1 PAGE 0
.switch: > PROG1 PAGE 0
.vectors:> VECT PAGE 0
.const: > DARAM1 PAGE 1
.bss : > DARAM1 PAGE 1
.stack : > DARAM2 PAGE 1
.system: > DARAM2 PAGE 1
.data : > DARAM2 PAGE 1
}
这个是对于5402配置的一个例子。
PAGE就是对一个存储空间进行标记,最多可以有255个PAGE,每个PAGE代表一个完全独立的地址空间,不同的PAGE上的存储器区间可以取相同的名字。
.cinit存放C程序中的变量初值和常量;
.const存放C程序中的字符常量、浮点常量和用const声明的常量;
.switch存放C程序中switch语句的跳针表;
.text存放C程序的代码;
.bss为C程序中的全局和静态变量保留存储空间;
.far为C程序中用到的far声明的全局和静态变量保留空间;
.stack为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;
.sysmem用于C程序中malloc、malloc和realloc函数动态分配存储空间。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/27789/showart_2050781.html |
|