產品分類

      當前位置: 首頁 > 工業控制產品 > 自動化控制 > 導軌式開關電源

      類型分類:
      科普知識
      數據分類:
      導軌式開關電源

      ANSI C代碼在TMS320C55X上的移植和優化

      發布日期:2022-04-17 點擊率:86

       引言  

             隨著DSP技術的不斷發展和完善,數字信號處理的應用范圍越來越廣泛。工控、計算機、通信和消費電子產品中,都會找到它的影子。到了20世紀80年代后期,各個DSP的生產商都推出了自己的高級語言編譯器。這使得利用高級語言開發DSP軟件成為可能。

              編譯器的原理是通過特定的語法規則把高級語言書寫的邏輯轉化成特定硬件平臺所認知的匯編語言。由于編譯器的首要性能是依據一定的規則編譯出邏輯正確的代碼。這樣在保證正確性的前提下,編譯出的匯編代碼冗余很難兼顧效率。在一些實時性要求比較高的場合,例如在語音圖像處理方面,必須對某些關鍵的算法進行優化。本文以TI公司的DSP芯片TMS320C55X為例,介紹如何對一個工程進行優化。


      優化的一般步驟

              在高級語言編譯器出現以前,由于軟件部分都是由匯編來完成,并且寫出的代碼性能都比較高,所以代碼的優化在開發過程中已經完成,不需要把優化單獨地作為開發的一個步驟。現在隨著高級語言應用到DSP系統的開發中,在軟件功能實現的基礎上,軟件執行效率的優化顯得愈加重要。每個人在優化過程中使用的具體方法各有特點,但在總體上還是有一定的規范可尋。
              筆者根據自己的實際工作經驗,并參照其它比較成功的優化實例,總結了以下幾個步驟,作為優化過程的參考。:

      (1)向C55X上移植所需的準備工作:數據類型的定義、intrinsic函數的使用、為適合多通道的應用所做的代碼的修改。    

      (2)工程層的優化:對于函數體較小的函數使用"inline"限定詞、數據的對齊。    

      (3)C函數層的優化:針對TMS320C55X系列芯片的內部結構;改變C代碼使其能在硬件最大使用概率的條件下,降低算法的用時。

      (4)部分算法的修改。

      (5)部分函數的手工匯編。

      向C55X上移植所需的必要工作

             由于DSP硬件結構的約束,用C語言開發的代碼在向其移植時,必須作相應的改動,來適應特定硬件平臺的特點。總結移植所需要的工作,主要有以下幾點:
             (1)數據類型的定義。由于C55X系列芯片是TI公司生產的定點DSP芯片,其中累加器為40位。為了實現定點小數的數學運算,定義一個typedef.h的文件,在typedef.h文件中定義了幾種數據類型。Word16對應short型;Word32對應long型;Flag對應int型。

            (2)Intrinsic函數的使用。由所定義的數據類型可以實現定點的數學運算,由于這些基本的計算被多次使用,所以TI公司提供了這些函數的優化匯編代碼。在算法實現代碼文件頭中加入"#include

              (3)為適合多通道的應用所做的代碼修改。在 DSP 上實現的有些算法,例如語音的編解碼等,需要同時處理多個通道。由于硬件資源(內存等)在工程的設計階段已經劃分完畢,所以要求在算法內不能在有內存的動態分配。解決的方法是事先把需要動態分配內存的變量放到一個結構體當中,集中在工程的設計階段分配好內存。例如,將有關編碼需要動態分配內存的數據結構合并為一個獨立的結構體。這樣當有多個通道同時工作時,只要對每一個通道分別開辟一塊內存,公用算法代碼,就可以實現多通道的應用。

      工程層的優化

            在工程層的優化中一般使用以下兩種技術:內嵌函數和數據對齊。
      (1)內嵌函數

             所謂的函數內嵌,是指用函數的本體代替函數的調用這一過程。這項技術去掉了復雜的函數調用過程來提高函數的執行效率,而付出的代價是增加了代碼所占用的空間。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 日韩人妻无码免费视频一区二区三区| 无码人妻精品一区二区三区9厂 | 国产午夜精品一区二区| 波多野结衣一区二区三区aV高清| 无码人妻少妇色欲AV一区二区 | 精品视频一区二区三区在线播放| 无码一区二区三区| 一区二区三区四区国产| 国产日韩精品一区二区在线观看播放 | 日本精品无码一区二区三区久久久| 国产免费无码一区二区| 三上悠亚一区二区观看| 国产精品小黄鸭一区二区三区| 精品日韩一区二区| 在线免费视频一区| 国产精品熟女视频一区二区| 欧美日韩一区二区成人午夜电影| 国产精品久久一区二区三区| 亚洲影视一区二区| 国产韩国精品一区二区三区久久| 91福利国产在线观一区二区| 中文字幕一区一区三区| 亚洲国产精品一区二区久| 老熟女五十路乱子交尾中出一区| 爆乳熟妇一区二区三区| 一区二区不卡久久精品| 爆乳熟妇一区二区三区霸乳| 亚洲一区无码精品色| 中文字幕不卡一区| 无人码一区二区三区视频| 亚洲一区二区电影| 精品亚洲AV无码一区二区| 性色A码一区二区三区天美传媒| 国产精品特级毛片一区二区三区| 看电影来5566一区.二区| 精品一区二区三区东京热| 亚洲AV噜噜一区二区三区| 日本免费一区二区三区最新vr| 一区二区国产精品| 国产精品毛片一区二区三区 | 日韩欧美一区二区三区免费观看|