嵌入式C語(yǔ)言開(kāi)發(fā)ADSP21XX系列DSP
掃描二維碼
隨時(shí)隨地手機(jī)看文章
來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用; 作者:胡 楷 潘孟春 單慶曉摘要:詳細(xì)介紹使用VisualDSP開(kāi)發(fā)工具進(jìn)行ADSP21XX的C語(yǔ)言編程的方法;分析其C語(yǔ)言運(yùn)行庫(kù)的結(jié)構(gòu),并且結(jié)合實(shí)例介紹C語(yǔ)言工具的使用方法,包括C語(yǔ)言與匯編語(yǔ)言混合編程的方法,從C運(yùn)行庫(kù)提取代碼用于自己的匯編語(yǔ)言程序的方法、修改運(yùn)行庫(kù)的源代碼以適應(yīng)自己開(kāi)發(fā)需要的方法等。
關(guān)鍵詞:DSP VisualDSP 嵌入式C語(yǔ)言 匯編語(yǔ)言
引言長(zhǎng)期以來(lái),在DSP系統(tǒng)開(kāi)發(fā)中,一直把匯編語(yǔ)言作為主要的開(kāi)發(fā)工具;但匯編語(yǔ)言與自然語(yǔ)言差距很大,不易常,而且匯編語(yǔ)言是依賴于處理器的,不利于軟件的可重復(fù)利用和系統(tǒng)的穩(wěn)定性,程序不易移植,給開(kāi)發(fā)工作帶來(lái)了很大的困難。隨著嵌入式系統(tǒng)復(fù)雜程度的不斷提高,用匯編語(yǔ)言編寫(xiě)一個(gè)巨大的程度將是困難,甚至是不可能的。為此,AD公司推出了針對(duì)ADSP21XX系列DSP的嵌入式C和C++語(yǔ)言集成開(kāi)發(fā)工具,分別是VisualDSP和VisualDSP++系列,這些開(kāi)發(fā)工具提供了C語(yǔ)言和C++語(yǔ)音的開(kāi)發(fā)功能。以下就以筆者在實(shí)際開(kāi)發(fā)中的一些經(jīng)驗(yàn),結(jié)合VisualDSP6.1版本,介紹用C語(yǔ)言開(kāi)發(fā)VisualDSP6.1版本,介紹用C語(yǔ)言開(kāi)發(fā)ADSP21XX的方法。VisualDSP提供了一個(gè)開(kāi)放源碼軟件組織GNU的C編譯器,和一套成熟穩(wěn)定的C運(yùn)行時(shí)間庫(kù)(C Run time Library)等。GNU的編譯器一向以編譯效率高著稱,在編譯后的代碼長(zhǎng)度和運(yùn)行速度方面非常優(yōu)秀;C運(yùn)行時(shí)間庫(kù)則把很多重復(fù)性的工作,如浮點(diǎn)運(yùn)行、三角函數(shù)、FFT等作為C語(yǔ)言的庫(kù)函數(shù),提供給用戶,大大提高了用戶的開(kāi)發(fā)效率和程序的穩(wěn)定性,降低了開(kāi)發(fā)難度,另外,由于把這些庫(kù)函數(shù)的源代碼提供給了用戶,還提高了C語(yǔ)言與匯編語(yǔ)言之間的透明性,使用戶開(kāi)發(fā)的程序兼具兩者的優(yōu)點(diǎn)。
1 Visual DSP簡(jiǎn)介VisualDSP是AD公司的DSP開(kāi)發(fā)工具,主要由可執(zhí)行文件、庫(kù)文件和各種幫助文檔組成。6.1版本還帶有一個(gè)基于圖形界面,針對(duì)21XX系列DSP的軟件仿真和調(diào)試工具。
VisualDSP的可執(zhí)行文件包括匯編、編譯、鏈接工具以及可執(zhí)行文件重新格式化工具等,見(jiàn)表1。
表1 VisualDSP的可執(zhí)行文件及用途
可執(zhí)行文件名
用;;;;; 途
Asmpp.exe*
匯編預(yù)處理程序
Asm2.exe*
21XX系列匯編程序的匯編程序
Asm21.exe
21XX系列命令行匯編程序
Ld21.exe
21XX系列鏈接工具
G21.exe
基于GNU的21XX系列C編譯器
Bld21.exe
系統(tǒng)編譯工具,產(chǎn)生相應(yīng)于不同硬件體系的.ACH文件
Lib21.exe
21XX系列的庫(kù)管理工具
Hspl21.exe
把21XX系列可執(zhí)行文件變成HIP口可加載的格式
Spl21.exe
把21XX系列可執(zhí)行文件變成PROM可燒寫(xiě)的格式