亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CCS環(huán)境的DSP程序開(kāi)發(fā)及運(yùn)行

        2014-10-27 19:20:40段紅英
        無(wú)線(xiàn)互聯(lián)科技 2014年9期

        段紅英

        摘 要:隨著DSP技術(shù)的快速發(fā)展,其應(yīng)用程序的開(kāi)發(fā)引起了更多人的關(guān)注。本文探討了在主流的CCS環(huán)境下進(jìn)行DSP程序開(kāi)發(fā)的一般流程,并通過(guò)一個(gè)實(shí)例給出了用C語(yǔ)言編寫(xiě)的DSP應(yīng)用程序在實(shí)際運(yùn)行過(guò)程中無(wú)法得到有效輸出的問(wèn)題及解決方案。

        關(guān)鍵詞:CCS;DSP;CMD文件

        1 引言

        DSP一般認(rèn)為有兩種含義,一種是指DSP器件(Digital Signal Processor),另外一種是指DSP技術(shù)(Digital Signal Processing),下文提到的均為第一種含義。伴隨全球信息化進(jìn)程的不斷推進(jìn)使得人們對(duì)于信息處理的需求更加迫切,相應(yīng)的推動(dòng)了計(jì)算機(jī)技術(shù)、電子技術(shù)等學(xué)科的進(jìn)步,越來(lái)越多的領(lǐng)域開(kāi)始借助于DSP實(shí)現(xiàn)高速的數(shù)據(jù)處理、有效的設(shè)備控制等功能 [1]。DSP實(shí)際上是在對(duì)硬件設(shè)備進(jìn)行必要的設(shè)置后通過(guò)軟件編程的方法控制硬件進(jìn)行操作和處理的,因此,一個(gè)DSP程序如何進(jìn)行設(shè)計(jì)就變得非常重要。

        2 DSP程序的開(kāi)發(fā)及運(yùn)行

        DSP程序的開(kāi)發(fā)需要一定的編程語(yǔ)言和開(kāi)發(fā)環(huán)境, CCS(Code Composer Studio)是TI公司推出的DSP集成開(kāi)發(fā)平臺(tái),該平臺(tái)集成了編輯、編譯連接、調(diào)試及仿真等功能,支持匯編、C語(yǔ)言,并提供多種實(shí)時(shí)分析和編程方法,是目前功能最全的DSP開(kāi)發(fā)平臺(tái)[2]。配合DSP的代碼生成和代碼調(diào)試等開(kāi)發(fā)工具,我們可以在CCS下完成一個(gè)基本的DSP程序的設(shè)計(jì)。

        2.1 DSP程序的開(kāi)發(fā)流程

        一般來(lái)講,一個(gè)DSP程序的設(shè)計(jì)運(yùn)行需要經(jīng)過(guò)以下的操作流程:

        ⑴建立工程文件。

        ⑵編輯源文件、命令文件,庫(kù)文件等。源文件可以采用C語(yǔ)言或匯編語(yǔ)言或者二者混合進(jìn)行編輯,它是實(shí)現(xiàn)DSP程序功能的主體。CMD文件指定存儲(chǔ)分配。庫(kù)文件包含需要的一些系統(tǒng)函數(shù)或者數(shù)據(jù)定義。

        ⑶編譯鏈接源程序,生成目標(biāo)代碼程序和可執(zhí)行程序。盡管采用C語(yǔ)言會(huì)匯編語(yǔ)言作為編程語(yǔ)言,DSP程序的目標(biāo)及可執(zhí)行文件有其特有的格式設(shè)置,一般是COFF目標(biāo)文件和COFF可執(zhí)行文件。

        ⑷下載執(zhí)行程序,觀測(cè)運(yùn)行結(jié)果。在程序編譯好運(yùn)行之前,需要將其載入目標(biāo)扳。CCS的連接器輸出的目標(biāo)文件的后綴為.OUT。每次程序改動(dòng)之后,都要進(jìn)行重新編譯和載入[4]。

        2.2 DSP程序開(kāi)發(fā)運(yùn)行的要點(diǎn)

        DSP程序區(qū)別于一般的匯編語(yǔ)言程序或C語(yǔ)言程序,在開(kāi)發(fā)過(guò)程中有幾點(diǎn)非常關(guān)鍵:

        ⑴在遵循基本的編程語(yǔ)法和規(guī)則的基礎(chǔ)上,充分考慮DSP器件的特點(diǎn)。實(shí)際應(yīng)用中需要大量的硬件設(shè)置,這些都要通過(guò)軟件方式實(shí)現(xiàn)。其中,最關(guān)鍵的就是相關(guān)寄存器的操作,通過(guò)寄存器值的設(shè)置或讀取,可以完成對(duì)很多硬部件的操作設(shè)定也就是DSP需要使用的功能的設(shè)計(jì)或設(shè)備工作狀態(tài)的判定。因此,學(xué)會(huì)熟練的操作寄存器是DSP程序設(shè)計(jì)成功與否的關(guān)鍵。而DSP器件本身型號(hào)多種多樣,不同系類(lèi)的芯片也有很大的區(qū)別,所以一定要細(xì)心。

        ⑵熟悉相應(yīng)的開(kāi)發(fā)芯片的基本特征。一款DSP芯片上包含很多的部件,這些部件的有機(jī)配合完成了最終程序功能的實(shí)現(xiàn)。其中CMD文件的編寫(xiě)對(duì)于整個(gè)程序的順利執(zhí)行至關(guān)重要,因?yàn)樗械腄SP程序最終都需要在DSP芯片的內(nèi)部存儲(chǔ)器上存儲(chǔ)并最終運(yùn)行,而DSP芯片的存儲(chǔ)是有限的,因此,必須對(duì)程序中所涉及到的代碼和數(shù)據(jù)給出準(zhǔn)確的存儲(chǔ)映射,這樣程序存儲(chǔ)執(zhí)行時(shí)才能有條不紊的進(jìn)行。

        ⑶仿真實(shí)現(xiàn)的重要性。既然是通過(guò)軟件的方式操縱硬件,在設(shè)計(jì)階段,我們必須借助于仿真對(duì)程序進(jìn)行測(cè)試,因此仿真器的使用非常關(guān)鍵,有了它,計(jì)算機(jī)和DSP芯片間能實(shí)現(xiàn)有效的溝通,設(shè)計(jì)出的程序才更準(zhǔn)確。

        3 C語(yǔ)言編寫(xiě)的DSP程序?qū)嵗?/p>

        3.1 DSP下C的特點(diǎn)

        DSP下的C語(yǔ)言有著其自身的特點(diǎn):

        ⑴DSP的C語(yǔ)言是標(biāo)準(zhǔn)的ANSIC,它不包括同外設(shè)聯(lián)系的擴(kuò)展部分,如屏幕繪圖等。但在CCS中,為了方便調(diào)試,可以將數(shù)據(jù)通過(guò)printf函數(shù)的調(diào)用虛擬輸出到主機(jī)的屏幕上。

        ⑵DSP的C語(yǔ)言的編譯過(guò)程為,C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對(duì)應(yīng)關(guān)系非常明確,非常便于人工優(yōu)化。

        ⑶DSP的代碼需要絕對(duì)定位;主機(jī)的C的代碼有操作系統(tǒng)定位。

        ⑷DSP的C的效率較高,非常適合于嵌入系統(tǒng)。

        3.2 一個(gè)例子

        正因?yàn)闃?biāo)準(zhǔn)的C語(yǔ)言和DSP下的C語(yǔ)言使用有所區(qū)別,因此在運(yùn)行過(guò)程中會(huì)出現(xiàn)一些問(wèn)題,下面以安裝F2812開(kāi)發(fā)板的瑞泰創(chuàng)新實(shí)驗(yàn)系統(tǒng)作為程序開(kāi)發(fā)對(duì)象,在CCS2.2環(huán)境下給出一個(gè)簡(jiǎn)單的C語(yǔ)言程序的運(yùn)行給出說(shuō)明,該程序?qū)崿F(xiàn)簡(jiǎn)單的數(shù)據(jù)輸出,且在TURBORC下調(diào)試通過(guò),運(yùn)行得到正確結(jié)果,程序命名為Cprogram,全文如下:

        #include "stdio.h"

        main()

        { printf("Hello C-world?。躰");

        printf(" ****\n");

        printf(" *\n");

        printf(" * \n");

        printf(" ****\n");}

        將這一程序移植到CCS下,建立同名的工程,CMD文件,選擇庫(kù)文件后進(jìn)行編譯鏈接,結(jié)果出現(xiàn)兩個(gè)警告,程序得不到輸出結(jié)果。這也是大部分學(xué)生在編寫(xiě)了DSP程序后編譯時(shí)出現(xiàn)的警告信息。警告信息如下:

        "CProgram.c", line 7: warning: last line of file ends without a newline

        warning: creating output section .cio without SECTIONS specification

        ⑴警告信息的消除。第一個(gè)警告是因?yàn)镈SP下的C程序最后一行必須是空行,因此在源程序最后一行末尾按回車(chē)鍵換到下一行即可。第二個(gè)警告是因?yàn)榘瑂tdio.h中函數(shù)的.cio段在命令文件中未定義,將其加上后再編譯,所有的警告消除,但程序仍然不顯示結(jié)果。

        ⑵程序輸出的顯示。DSP下的printf函數(shù)非常占資源的指令,它的順利執(zhí)行需要棧(heap)的設(shè)置,因此,在命令文件中需要將-heap大小設(shè)為400h。此外,由于本例中要使用庫(kù)文件,最初設(shè)定的是rts2800.lib,但是仔細(xì)考慮后發(fā)現(xiàn)rts2800.lib和rts2800_ml.lib有較為明顯的應(yīng)用區(qū)別,盡管都支持C/C++運(yùn)行支持庫(kù),但rts2800_ml.lib支持的是大內(nèi)存模式且在指針訪問(wèn)區(qū)間上更占有是,因此將庫(kù)文件替換為rts2800_ml.lib后程序再經(jīng)過(guò)編譯鏈接下載運(yùn)行后得出了最終的輸出。

        4 結(jié)論

        DSP程序的開(kāi)發(fā)是一項(xiàng)復(fù)雜的工作,相比傳統(tǒng)的程序設(shè)計(jì)需要考慮的東西更多,更全面,因此,在學(xué)習(xí)中要堅(jiān)持謹(jǐn)慎、細(xì)心,把握好每個(gè)細(xì)節(jié),再能更好的完成特定功能的DSP程序開(kāi)發(fā)。

        [參考文獻(xiàn)]

        [1]王忠勇,陳恩慶.TMS320F2812DSP原理與應(yīng)用技術(shù)[M].電子工業(yè)出版社,2012:1-9.

        [2]何望春,蔡衛(wèi)平.CCS仿真軟件中的文件輸入輸出方法[J].中國(guó)科技信息,2012(2).

        [3]周德卿.CCS集成環(huán)境下C與匯編的混合編程實(shí)現(xiàn)[J].微電子技術(shù),2002(4).

        [4]李建國(guó).基于CCS的DSP軟件開(kāi)發(fā)方法[J].海軍航空工程學(xué)院學(xué)報(bào),2002(7).

        丝袜美腿在线播放一区二区| 蜜桃臀无码内射一区二区三区| 国产乱人视频在线看| 国产精品98福利小视频| 一区二区在线观看视频亚洲| 亚洲桃色视频在线观看一区| 久久成人国产精品免费软件 | 日韩精品人妻中文字幕有码| 少妇人妻精品久久888| 日韩夜夜高潮夜夜爽无码 | 一区二区特别黄色大片| 国产精品毛片极品久久| 国产综合精品一区二区三区 | 中文字幕精品乱码一二三区| 亚洲一区二区国产激情| 欧美人妻日韩精品| 亚洲精品456| 国产精品99久久不卡二区| av剧情演绎福利对白| 国产揄拍国产精品| 国产婷婷丁香五月麻豆| 久久久精品国产亚洲av网| 国产91人妻一区二区三区| 97精品一区二区视频在线观看| 午夜性刺激免费视频| 久久久婷婷综合亚洲av| 色熟妇人妻久久中文字幕| 狼人香蕉香蕉在线28 - 百度| 久久AV中文一区二区三区| 一本久道视频无线视频试看| 老女老肥熟女一区二区| 乱人伦中文无码视频在线观看 | 蜜桃日本免费看mv免费版| 亚洲综合伊人制服丝袜美腿| 亚洲一区二区三区国产精品| 又黄又刺激的网站久久| 欧美成人片一区二区三区| 亚洲精品中文字幕不卡在线| av男人的天堂第三区| 国产精品国产精品国产专区不卡| 亚洲另类自拍丝袜第五页|