TMS320C54X DSP混合编程的方法研究
发布时间:2008/5/26 0:00:00 访问次数:779
     郑 红 吴 冠
    
     来源:《电子技术应用》
     摘要:提出并分析了在考虑程序代码效率、执行效率和程序的可读性及可移植性的情况下,对于tms320c54x系列,采用c语言和汇编语言混合编程的优点;详细阐述了混合编程方法的特点、应遵循的规则和详细接口规范;给出了程序设计实例。
    
    
     关键词:数字信号处理(dsp)
     tms320c54x 混合编程
     数字信号处理技术是一门涉及许多学科的新技术,广泛应用于军事、工业、航空、航天等诸多领域。数字信号处理技术由于其运行量大和实现算法复杂,通常采用专用的dsp芯片来实现。美国ti公司的tms320c54x系列芯片是为实现低功耗和高性能而专门设计的定点dsp芯片。
     tms320c54x的主要特点包括:高运算速度、优化的cpu结构、低功耗方式和智能外设等。
     使用专用dsp芯片进行设计与开发包括硬件和软件两个方面。通常有以下三种软件设计方式:
     (1)完全用c语言开发。ti公司提供了用于c语言开发的ccs(code
     composer studio)平台。该平台包括了优化ansi c编译器,从而可以在c源程序级进行开发调方式。这种方式大大提高了软件的开发速度和可读性,方便了软件的修改和移植。但是,在某些情况下,c代码的效率还是无法与手工编写的汇编代码的效率相比,如fft编程。这是因为即使最佳的c编译器,也无法在所有的飞速下都能够最合理地利用dsp芯片所提供的各种资源。此外,用c语言实现dsp芯片的某些硬件控制也不如汇编程序方便,有些甚至无法用c语言实现。
     (2)完全有汇编语言开发,ti公司提供了用于汇编语言开发的针对tms320c54x的汇编语言。用户可以用它进行软件开发。此种方式可以更为合理地充分利用dsp芯片提供的硬件资源,其代码效率高,程序执行速度快。但是用dsp芯片的汇编语言编写程序是比较繁杂的。一般来说,不同公司的芯片汇编语言是不同的,即使是同一公司的芯片,由于片类型的不同(如定点和浮点),芯片的升级换代,其汇编语言也不同。因此,用汇编语言开发基于某种dsp芯片的产品周期较长,并且软件的修改和升级较困难,这些都是因为汇编语言的可读性和可移植性较差所致。
     (3)用c语言和汇编语言混合编程开发。为了充分利用dsp芯片的资源,更好地发挥c语言和汇编语言进行软件开发的各自的优点,可以将两者有机结合起来,兼顾两者的优点,避免其弊端。因此,在很多情况下,采用混合编程方法能更好地达到设计要求,完成设计功能。但是,采用c语言和汇编语言混合编程必须遵循一些有关的规则,否则会遇到一些意想不到的问题,给开发设计带来许多麻烦。
     本文提出了基于dsp(tms320c54x)的c语言和汇编语言混合编程的程序设计方法,并给出了混合编程应遵循的规则和需要注意的一些问题。
     1 tms320c54x的c语言和汇编语言混合编程方法
     c语言和汇编语言的混合编程有以下几种方法:
     (1)独立编写编编程序和c程序,分开编译或汇编形成各自的目标代码模块,用链接器将c模块和汇编模块链接起来,这是一种灵活性较大的方法。采用这种方法,c程序可以调用汇编程序,并且可以访问汇编程序中定义的变量。同样,汇编程序也可以调用c程序或访问c程序中定义的变量。但用户必须自己维护各汇编模块的入口和出口代码,自己计算传递的参数在堆栈中的偏移量,工作量稍大,但能做到对程序的绝对控制。
     (2)在c程序中直接内嵌汇编语句。此种方法可以在c程序中实现c语言无法实现的一些硬件控制功能,如修改中断控制寄存器、中断标志寄存器等。嵌入汇编语句的方法比较简单,只需在汇编语句的两边加上括号和双引号,并且在括号前加上asm标识符即可,即asm(“汇编语句”)。
     但是,采用此种方法必须注意以下几点:
     ①括号中的汇编语句必须以标号、空格、tab、分号开头,这和通常的汇编编程的语
     郑 红 吴 冠
    
     来源:《电子技术应用》
     摘要:提出并分析了在考虑程序代码效率、执行效率和程序的可读性及可移植性的情况下,对于tms320c54x系列,采用c语言和汇编语言混合编程的优点;详细阐述了混合编程方法的特点、应遵循的规则和详细接口规范;给出了程序设计实例。
    
    
     关键词:数字信号处理(dsp)
     tms320c54x 混合编程
     数字信号处理技术是一门涉及许多学科的新技术,广泛应用于军事、工业、航空、航天等诸多领域。数字信号处理技术由于其运行量大和实现算法复杂,通常采用专用的dsp芯片来实现。美国ti公司的tms320c54x系列芯片是为实现低功耗和高性能而专门设计的定点dsp芯片。
     tms320c54x的主要特点包括:高运算速度、优化的cpu结构、低功耗方式和智能外设等。
     使用专用dsp芯片进行设计与开发包括硬件和软件两个方面。通常有以下三种软件设计方式:
     (1)完全用c语言开发。ti公司提供了用于c语言开发的ccs(code
     composer studio)平台。该平台包括了优化ansi c编译器,从而可以在c源程序级进行开发调方式。这种方式大大提高了软件的开发速度和可读性,方便了软件的修改和移植。但是,在某些情况下,c代码的效率还是无法与手工编写的汇编代码的效率相比,如fft编程。这是因为即使最佳的c编译器,也无法在所有的飞速下都能够最合理地利用dsp芯片所提供的各种资源。此外,用c语言实现dsp芯片的某些硬件控制也不如汇编程序方便,有些甚至无法用c语言实现。
     (2)完全有汇编语言开发,ti公司提供了用于汇编语言开发的针对tms320c54x的汇编语言。用户可以用它进行软件开发。此种方式可以更为合理地充分利用dsp芯片提供的硬件资源,其代码效率高,程序执行速度快。但是用dsp芯片的汇编语言编写程序是比较繁杂的。一般来说,不同公司的芯片汇编语言是不同的,即使是同一公司的芯片,由于片类型的不同(如定点和浮点),芯片的升级换代,其汇编语言也不同。因此,用汇编语言开发基于某种dsp芯片的产品周期较长,并且软件的修改和升级较困难,这些都是因为汇编语言的可读性和可移植性较差所致。
     (3)用c语言和汇编语言混合编程开发。为了充分利用dsp芯片的资源,更好地发挥c语言和汇编语言进行软件开发的各自的优点,可以将两者有机结合起来,兼顾两者的优点,避免其弊端。因此,在很多情况下,采用混合编程方法能更好地达到设计要求,完成设计功能。但是,采用c语言和汇编语言混合编程必须遵循一些有关的规则,否则会遇到一些意想不到的问题,给开发设计带来许多麻烦。
     本文提出了基于dsp(tms320c54x)的c语言和汇编语言混合编程的程序设计方法,并给出了混合编程应遵循的规则和需要注意的一些问题。
     1 tms320c54x的c语言和汇编语言混合编程方法
     c语言和汇编语言的混合编程有以下几种方法:
     (1)独立编写编编程序和c程序,分开编译或汇编形成各自的目标代码模块,用链接器将c模块和汇编模块链接起来,这是一种灵活性较大的方法。采用这种方法,c程序可以调用汇编程序,并且可以访问汇编程序中定义的变量。同样,汇编程序也可以调用c程序或访问c程序中定义的变量。但用户必须自己维护各汇编模块的入口和出口代码,自己计算传递的参数在堆栈中的偏移量,工作量稍大,但能做到对程序的绝对控制。
     (2)在c程序中直接内嵌汇编语句。此种方法可以在c程序中实现c语言无法实现的一些硬件控制功能,如修改中断控制寄存器、中断标志寄存器等。嵌入汇编语句的方法比较简单,只需在汇编语句的两边加上括号和双引号,并且在括号前加上asm标识符即可,即asm(“汇编语句”)。
     但是,采用此种方法必须注意以下几点:
     ①括号中的汇编语句必须以标号、空格、tab、分号开头,这和通常的汇编编程的语
上一篇:DSP与以太网卡的接口技术研究
上一篇:分形图像压缩