C28x系列DSP寻址方式详解.doc

C28x系列DSP寻址方式详解.doc

ID:58676929

大小:26.50 KB

页数:8页

时间:2020-10-15

C28x系列DSP寻址方式详解.doc_第1页
C28x系列DSP寻址方式详解.doc_第2页
C28x系列DSP寻址方式详解.doc_第3页
C28x系列DSP寻址方式详解.doc_第4页
C28x系列DSP寻址方式详解.doc_第5页
资源描述:

《C28x系列DSP寻址方式详解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C28x系列DSP寻址方式详解1.TMS320C2000TMS320C2000系列包括C24x和C28x系列。C24x系列建议使用LF24xx系列替代C24x系列,LF24xx系列的价格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。C28x系列主要用于大存储设备管理,高性能的控制场合。2.TMS320C3xTMS320C3x系列包括C3x和VC33,主要推荐使用VC33。C3x系列是TI浮点DSP的基础,不可能停产,但价格不会进一步下调。3.TMS320C5xTMS320C5x系列已不推荐使用,建议使用C24x或C5000系列替代。4.TMS320C50

2、00TMS320C5000系列包括C54x和C55x系列。其中VC54xx还不断有新的器件出现,如:TMS320VC5471(DSP+ARM7)。C55x系列是TI的第三代DSP,功耗为VC54xx的1/6,性能为VC54xx的5倍,是一个正在发展的系列。C5000系列是目前TIDSP的主流DSP,它涵盖了从低档到中高档的应用领域,目前也是用户最多的系列。5.TMS320C6000TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的高档DSP系列。其中C62xx系列是定点的DSP,系列芯片种类较丰富,是主要的应用系列。C67xx系列是浮点的DSP

3、,用于需要高速浮点处理的领域。C64xx系列是新发展,性能是C62xx的10倍。6.OMAP系列是TI专门用于多媒体领域的芯片,它是C55+ARM9,性能卓越,非常适合于手持设备、Internet终端等多媒体应用。感谢作者总结C28x系列DSP有四种基本寻址方式:直接寻址-16位的寄存器DP用作,固定页指针(段指针),DP中存放当前变量所在页的首地址,指令中的6位或7位二进制数给出变量的偏移量(段偏移量)。用于访问固定地址的数据结构,如片上外设或C/C++中的全局变量和静态变量。栈寻址-通过使用栈指针SP访问变量,在C28x中栈是从低地址向高地址增长的,SP始终指向下一个可

4、用的空栈单元。SP值减去指令中6位二进制数给出的偏移量为变量地址,或者该偏移量给出分别在压栈(或出栈)操作时SP需要后加(或先减)的量。间接寻址-32位的辅助寄存器XAR0~XAR7用作通用32位数据指针。指令可以进行直接的后加、先减/后减,或者通过三位二进制立即数给出对哪个寄存器操作,也可以用另外一个16位辅助寄存器内容给出当前用的寄存器。寄存器寻址-直接对寄存器内容操作,寄存器可以是操作的源或目的地。这就使得C28x架构可以直接进行寄存器对寄存器的操作。DSP其它的寻址方式:数据/程序/IO空间立即寻址-存储器地址操作数直接嵌入在指令中。程序空间间接寻址-某些指令可以使

5、用某个间接指针来访问程序空间。因为C28xCPU中存储器之一致的,因此这种寻址模式可以完成在同一条指令中同时读两个操作数的操作。说明:寻址模式由指令中的八位编码给出,状态寄存器ST1中的寻址模式选择位AMODE给出了编译器所使用的编码方式。AMODE=0-复位时默认的寻址模式,也是C28x的C/C++编译器使用的默认模式。但某些寻址方式C2xLP器件不兼容,此时段偏移量由六位二进制数给出(C2xLP器件是七位的),因此仅支持部分C2xLP器件的间接寻址方式。AMODE=1-包含了C2xLP器件全兼容的寻址模式。此时段偏移量为七位二进制数给出,支持C2xLP器件所有的寻址方式

6、。注意:(1)C28x器件和C2xLP器件间接寻址指令的不同在于,C28x的指令中辅助寄存器指针是隐含的,也就是指令中标明了对哪个寄存器操作。而在Cx2LP的指令中,对哪个寄存器操作是由3位的辅助寄存器指针ARP(在ST1中)给出的,并且可以同时给出下一条指令要使用辅助寄存器指针(第三个操作数);(2)在C28x的指令中,目的操作数总是在源操作数的左边。请看下例:假如要完成这样的操作,把XAR4所指的数据读出加到AL中,随后把XAR4的内容加一,C28x的指令为:ADDAL,*XAR4++;C2xLP的指令可以为:ADDAL,*++(此时ARP=4)。而C2xLP的指令AD

7、DAL,*++,ARP5则在完成上述操作的同时,把ARP的内容更新为5,即令ARP指向ARP5。具体的区别请参见TI的文档spru430d中第五章的表5-1。操作符*和@的作用:*表示取后面的变量值或寄存器的内容作为地址,取该地址所指向的存储空间的内容作为操作数。@表示直接取后面的变量值或寄存器的内容作为操作数。如何改变编译器的处理模式:编译器总是默认为AMODE=0,通过两种方式改变编译器的处理方式,一种是命令行参数法,当使用-v28时使编译器默认为AMODE=0模式,当使用-v28-m20时默认为AMODE=1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。