浅谈ti公司三大系列dsp编程方法4

浅谈ti公司三大系列dsp编程方法4

ID:33884095

大小:120.00 KB

页数:5页

时间:2019-03-01

浅谈ti公司三大系列dsp编程方法4_第1页
浅谈ti公司三大系列dsp编程方法4_第2页
浅谈ti公司三大系列dsp编程方法4_第3页
浅谈ti公司三大系列dsp编程方法4_第4页
浅谈ti公司三大系列dsp编程方法4_第5页
资源描述:

《浅谈ti公司三大系列dsp编程方法4》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、浅谈TI公司三大系列DSP编程方法郭林201221905023摘要:本文以TI公司的TMS320C54X为背景详细讨论了DSP的汇编语言和C语言的混合编程技术,提出并分析了在考虑程序代码效率、执行效率和程序的可读性及可移植性的情况下,采用C语言和汇编语言混合编程的优点,详细阐述了混合编程方法的特点、应遵循的规则。关键字:TMS320C54X;汇编语言编程;C语言编程;混合编程;引言:C语言编程具有开发周期短、可读性强,可移植性好和修改方便等优点,但是C程序反汇编生成的汇编代码往往较长。直接用汇编语言编程虽然编制

2、的程序较短,但是开发周期长,修改也不方便。较好的解决方法是程序的框架或主体部分用C语言编写,对那些耗时多运算密集的模块用汇编语言编写。这种混合编程的方法将C语言和汇编语言的优点结合起来,既能保证程序的结构化和可读性又能保证应用的实时性。TMS320C54X的主要特点包括:高运算速度、优化的CPU结构、低功耗方式和智能外设等。使用专用DSP芯片进行设计与开发包括硬件和软件两个方面。通常有以下三种软件设计方式:(1)完全用C语言开发。TI公司提供了用于C语言开发的CCS(CODECOMPOSERSTUDIO)平台。

3、该平台包括了优化ANSIC编译器,从而可以在C源程序级进行开发调方式。这种方式大大提高了软件的开发速度和可读性,方便了软件的修改和移植。但是,在某些情况下,C代码的效率还是无法与手工编写的汇编代码的效率相比,如FFT编程。这是因为即使最佳的C编译器,也无法在所有的飞速下都能够最合理地利用DSP芯片所提供的各种资源。此外,用C语言实现DSP芯片的某些硬件控制也不如汇编程序方便,有些甚至无法用C语言实现(2)完全有汇编语言开发,TI公司提供了用于汇编语言开发的针对TMS320C54X的汇编语言。用户可以用它进行软件

4、开发。此种方式可以更为合理地充分利用DSP芯片提供的硬件资源,其代码效率高,程序执行速度快。但是用DSP芯片的汇编语言编写程序是比较繁杂的。一般来说,不同公司的芯片汇编语言是不同的,即使是同一公司的芯片,由于片类型的不同(如定点和浮点),芯片的升级换代,其汇编语言也不同。因此,用汇编语言开发基于某种DSP芯片的产品周期较长,并且软件的修改和升级较困难,这些都是因为汇编语言的可读性和可移植性较差所致。(3)用C语言和汇编语言混合编程开发。为了充分利用DSP芯片的资源,更好地发挥C语言和汇编语言进行软件开发的各自的

5、优点,可以将两者有机结合起来,兼顾两者的优点,避免其弊端。因此,在很多情况下,采用混合编程方法能更好地达到设计要求,完成设计功能。但是,采用C语言和汇编语言混合编程必须遵循一些有关的规则,否则会遇到一些意想不到的问题,给开发设计带来许多麻烦。1TMS320C54X的C语言和汇编语言混合编程方法C语言和汇编语言的混合编程有以下几种方法:(1)独立编写编编程序和C程序,分开编译或汇编形成各自的目标代码模块,用链接器将C模块和汇编模块链接起来,这是一种灵活性较大的方法。采用这种方法,C程序可以调用汇编程序,并且可以访

6、问汇编程序中定义的变量。同样,汇编程序也可以调用C程序或访问C程序中定义的变量。但用户必须自己维护各汇编模块的入口和出口代码,自己计算传递的参数在堆栈中的偏移量,工作量稍大,但能做到对程序的绝对控制。(2)在C程序中直接内嵌汇编语句。此种方法可以在C程序中实现C语言无法实现的一些硬件控制功能,如修改中断控制寄存器、中断标志寄存器等。嵌入汇编语句的方法比较简单,只需在汇编语句的两边加上括号和双引号,并且在括号前加上asm标识符即可,即asm(“汇编语句”)。但是,采用此种方法必须注意以下几点:①括号中的汇编语句必

7、须以标号、空格、tab、分号开头,这和通常的汇编编程的语法一样。②不要破坏C环境,因为C编译器并不检查和分析嵌入的汇编语句。③插入跳转语句和标号会产生不可预测的结果。④汇编语句不要改变C程序中变量的值。⑤不要在汇编语句中加入汇编器选项而改变汇编环境。(3)将C程序编译生成相应的汇编程序,手工修改和优化C编译器生成的汇编代码。采用此种方法可以控制C编程器从而产生个有交叉列表的汇编程序,而且程序员可能对其中的汇编语句进行修改。之后,对汇编程序进行汇编可产生目标文件。注意,修改汇编语句时切勿破坏C环境。2混合编程应遵

8、循的规则和详细的接口规范2.1寄存器规则在C环境中,定义了严格的寄存器规则。寄存器规则明确了编译器如何使用寄存器以及在函数调用过程中如何保护寄存器。调用函数时,被调用函数负责保护某些寄存器,这些寄存器不必由调用者来保护。如果调用者需要使用没有保护的寄存器,则调用者在调用函数前必须予以保护。下面具体说明寄存器规则:(1)辅助寄存器AR1、AR6、AR7由被调用函数保护,即可以在函数执行过

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

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

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