TMS320C54X DSP混合編程的方法研究
發布時間:2008/5/26 0:00:00 訪問次數:761
     鄭 紅 吳 冠
    
     來源:《電子技術應用》
     摘要:提出并分析了在考慮程序代碼效率、執行效率和程序的可讀性及可移植性的情況下,對于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與以太網卡的接口技術研究
上一篇:分形圖像壓縮