位置:51电子网 » 技术资料 » 测试测量

TMS320C54X DSP混合编程的方法研究

发布时间:2008/5/26 0:00:00 访问次数:779

        作者:北京航空航天大学电工电子中心(100083)胡洪凯

     郑 红 吴 冠

    

     来源:《电子技术应用》

     摘要:提出并分析了在考虑程序代码效率、执行效率和程序的可读性及可移植性的情况下,对于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、分号开头,这和通常的汇编编程的语

        作者:北京航空航天大学电工电子中心(100083)胡洪凯

     郑 红 吴 冠

    

     来源:《电子技术应用》

     摘要:提出并分析了在考虑程序代码效率、执行效率和程序的可读性及可移植性的情况下,对于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、分号开头,这和通常的汇编编程的语

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!