日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 利用C和匯編語言混合編程實現(xiàn)DSP軟件設(shè)計

          利用C和匯編語言混合編程實現(xiàn)DSP軟件設(shè)計

          作者: 時間:2012-08-29 來源:網(wǎng)絡(luò) 收藏

          圖2給出了從CEVA-X1641 內(nèi)核FFT實現(xiàn)中摘取的匯編代碼例子。左邊第二行的add指令符合CEVA-X1641編譯器傳遞r0地址寄存器中指針參數(shù)的調(diào)用約定。右邊的pushd指令用于備份后面函數(shù)會用到的被調(diào)用方保存寄存器。


          圖2:從CEVA-X1641 內(nèi)核的FFT實現(xiàn)中摘取的一段匯編代碼。

          除了調(diào)用約定和寄存器使用約定外,一些編譯器在人工編寫的匯編代碼方面可能還會有一些額外的假設(shè)。這些假設(shè)通常是專門針對某個編譯器的,因此編譯器提供商會提供完善的資料和說明。

          用于C和匯編連接的常用C語言擴展

          用于嵌入式平臺的大多數(shù)編譯器,特別是用于編程的編譯器,都具有豐富的C語言和連接功能。其中絕大部分功能不屬于標(biāo)準(zhǔn)C語言,因此被稱為C語言擴展。下面列出的是其中有益于DSP編程的一些功能。

          內(nèi)聯(lián)匯編(inline assembly):該功能可以幫助編程人員將匯編指令插入C代碼。

          硬件寄存器綁定C變量:該功能經(jīng)常與匯編指令內(nèi)聯(lián)功能結(jié)合在一起,幫助內(nèi)聯(lián)匯編代碼訪問C語言級的變量(見圖3)。


          圖3:結(jié)合內(nèi)聯(lián)匯編和硬件寄存器綁定功能的代碼示例。

          存儲區(qū)屬性:該功能允許編程人員將上述變量和函數(shù)分配到獨特的用戶定義存儲區(qū),可以讓編程人員將C語言級單元分配到實際的存儲器位置,這對DSP應(yīng)用來說非常關(guān)鍵。

          用戶定義的調(diào)用約定:在某些情況下,匯編函數(shù)可以通過用戶定義的調(diào)用約定取得更好的優(yōu)化效果。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉