DSP原理與應(yīng)用課程作業(yè)最終版_第1頁
DSP原理與應(yīng)用課程作業(yè)最終版_第2頁
DSP原理與應(yīng)用課程作業(yè)最終版_第3頁
DSP原理與應(yīng)用課程作業(yè)最終版_第4頁
DSP原理與應(yīng)用課程作業(yè)最終版_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、12 february 2002第第 1 次作業(yè)次作業(yè)1.1 寫出本課程相關(guān)以下縮寫的中英文全稱:寫出本課程相關(guān)以下縮寫的中英文全稱:dsp、ti、 mips、mflops答:答:dsp: digital signal processor 數(shù)字信號處理器,數(shù)字信號處理器,dsp芯片芯片ti:texas instruments 德州儀器德州儀器mips:million instructions per second每秒百萬條指令每秒百萬條指令mflops: million floating point operations per second每秒百萬次浮點(diǎn)操作每秒百萬次浮點(diǎn)操作112 febr

2、uary 2002第第 1 次作業(yè)次作業(yè)1.2 簡述簡述dsp芯片選擇原則。芯片選擇原則。答:答:dsp芯片選擇原則主要包括芯片選擇原則主要包括dsp芯片生產(chǎn)廠家芯片生產(chǎn)廠家的選擇、運(yùn)算速度、數(shù)據(jù)的傳輸能力、片內(nèi)存的選擇、運(yùn)算速度、數(shù)據(jù)的傳輸能力、片內(nèi)存儲(chǔ)器大小、存儲(chǔ)器容量、集成外設(shè)、功耗、芯儲(chǔ)器大小、存儲(chǔ)器容量、集成外設(shè)、功耗、芯片價(jià)格、芯片的供貨狀況、開發(fā)工具。片價(jià)格、芯片的供貨狀況、開發(fā)工具。212 february 20021.3 簡述簡述dsp應(yīng)用系統(tǒng)的一般設(shè)計(jì)過程應(yīng)用系統(tǒng)的一般設(shè)計(jì)過程答:確定系統(tǒng)性能指標(biāo)答:確定系統(tǒng)性能指標(biāo) 核心算法模擬和驗(yàn)證核心算法模擬和驗(yàn)證 選擇選擇dsp芯片

3、及其他系統(tǒng)組件芯片及其他系統(tǒng)組件 軟件設(shè)計(jì)和調(diào)試軟件設(shè)計(jì)和調(diào)試 硬件設(shè)計(jì)和調(diào)試硬件設(shè)計(jì)和調(diào)試 系統(tǒng)測試。集成系統(tǒng)測試。集成312 february 2002第第 1 次作業(yè)次作業(yè)2.1 tms320c55x dsp 有哪些特性?有哪些特性? 答:答: tms320c55x dsp 主要特性如下所示主要特性如下所示先進(jìn)的多總線結(jié)構(gòu)先進(jìn)的多總線結(jié)構(gòu)40位算術(shù)邏輯運(yùn)算單元位算術(shù)邏輯運(yùn)算單元(alu),能夠進(jìn)行,能夠進(jìn)行 高精度的算高精度的算術(shù)和邏輯操作。術(shù)和邏輯操作。16位輔助位輔助alu單元,能夠和主單元,能夠和主alu并并行進(jìn)行簡單的算術(shù)運(yùn)算。行進(jìn)行簡單的算術(shù)運(yùn)算。兩個(gè)兩個(gè)17位位17位的位的m

4、ac(multiply and accumulate)單單元,能夠在單周期內(nèi)執(zhí)行兩組乘法與加法操作元,能夠在單周期內(nèi)執(zhí)行兩組乘法與加法操作64字節(jié)的指令緩沖隊(duì)列,能夠用作程序字節(jié)的指令緩沖隊(duì)列,能夠用作程序cache,高效完,高效完成塊重復(fù)操作成塊重復(fù)操作412 february 20024個(gè)個(gè)40位的累加器,能夠存儲(chǔ)計(jì)算結(jié)果,減少對存位的累加器,能夠存儲(chǔ)計(jì)算結(jié)果,減少對存儲(chǔ)器的訪問儲(chǔ)器的訪問8個(gè)增強(qiáng)的輔助寄存器,可用作數(shù)據(jù)尋址。個(gè)增強(qiáng)的輔助寄存器,可用作數(shù)據(jù)尋址。4個(gè)暫個(gè)暫存數(shù)據(jù)寄存器滿足數(shù)據(jù)處理的要求。存數(shù)據(jù)寄存器滿足數(shù)據(jù)處理的要求。循環(huán)尋址,最多支持循環(huán)尋址,最多支持5個(gè)循環(huán)緩沖個(gè)循環(huán)緩

5、沖單指令重復(fù)、塊重復(fù)操作支持。單指令重復(fù)、塊重復(fù)操作支持。源代碼全兼容所有的源代碼全兼容所有的tms329c54x器件。器件。512 february 2002第第 1 次作業(yè)次作業(yè)2.2 簡述簡述tms320c55x dsp的的cpu的組成?的組成? 請寫出請寫出c55x 所包含的累加器,并回答累加器所包含的累加器,并回答累加器有多少位?有多少位?答:答: tms320c55x dsp的的cpu主要由內(nèi)部地址總主要由內(nèi)部地址總線和數(shù)據(jù)總線、存儲(chǔ)器接口單元、指令緩沖單線和數(shù)據(jù)總線、存儲(chǔ)器接口單元、指令緩沖單元元(i unit)、程序流單元、程序流單元(p unit)組成。組成。c55x包包含含

6、4個(gè)累加器,分別是個(gè)累加器,分別是ac0,ac1,ac2,ac3累加器有累加器有40位。位。612 february 20022.3 c55x 支持多少個(gè)中斷?如果需要使能支持多少個(gè)中斷?如果需要使能tms320vc5509a 的的int1,ier0或或ier1及及intm的值分別應(yīng)為多少?的值分別應(yīng)為多少?答:答:c55x支持支持32個(gè)中斷。如果需要使能個(gè)中斷。如果需要使能tms320c5509a的的int1,ier1的第的第0位必須為位必須為1.intm的值應(yīng)為的值應(yīng)為0(全局使能全局使能)。712 february 2002第第 1 次作業(yè)次作業(yè)2.4 tms320c55x dsp提供了

7、一個(gè)統(tǒng)一的數(shù)據(jù)提供了一個(gè)統(tǒng)一的數(shù)據(jù)/程序空間,其尋程序空間,其尋址空間為多大?當(dāng)址空間為多大?當(dāng)cpu 從程序空間讀取程序代碼時(shí),使用從程序空間讀取程序代碼時(shí),使用多少位地址?程序空間字節(jié)地址范圍是多少?多少位地址?程序空間字節(jié)地址范圍是多少? 當(dāng)當(dāng)cpu訪問訪問數(shù)據(jù)空間時(shí),使用多少位地址?數(shù)據(jù)空間數(shù)據(jù)空間時(shí),使用多少位地址?數(shù)據(jù)空間字地址字地址范圍是多范圍是多少?一個(gè)字有多少位?少?一個(gè)字有多少位?答:答: tms320c55x dsp提供了一個(gè)統(tǒng)一的數(shù)據(jù)提供了一個(gè)統(tǒng)一的數(shù)據(jù)/程序空間的尋址程序空間的尋址空間為空間為16mb(16兆字節(jié)兆字節(jié))或或8mw(8兆字兆字)。當(dāng)。當(dāng)cpu從程序空從

8、程序空間讀取程序代碼時(shí),使用間讀取程序代碼時(shí),使用24位地址。程序空間字節(jié)地址范位地址。程序空間字節(jié)地址范圍是圍是0 x000000-0 xffffff 當(dāng)當(dāng)cpu訪問數(shù)據(jù)空間時(shí),使用訪問數(shù)據(jù)空間時(shí),使用23位地址。位地址。 數(shù)據(jù)空間字地址范圍是數(shù)據(jù)空間字地址范圍是0 x000000-0 x7fffff。 一個(gè)字一個(gè)字(word)為為16位。位。812 february 2002第第 1 次作業(yè)次作業(yè)2.5 tms320vc5509a片內(nèi)存儲(chǔ)器片內(nèi)存儲(chǔ)器daram字地址字地址范圍是多少?范圍是多少?daram的大小為多少?存儲(chǔ)器的大小為多少?存儲(chǔ)器映射寄存器位于什么地方?有多大?映射寄存器位于

9、什么地方?有多大? 映射的映射的地址可以定位程序的代碼和數(shù)據(jù)嗎?地址可以定位程序的代碼和數(shù)據(jù)嗎?答:答: tms320vc5509a片內(nèi)存儲(chǔ)器片內(nèi)存儲(chǔ)器daram字地址字地址范圍是范圍是0 x0000000 x007fff。daram的大小的大小為為64kb。存儲(chǔ)器映射寄存器位于數(shù)據(jù)空間的。存儲(chǔ)器映射寄存器位于數(shù)據(jù)空間的最前面的最前面的96個(gè)地址個(gè)地址(0 x000000-0 x00005f 字地字地址址),大小為,大小為96個(gè)字或個(gè)字或192個(gè)字節(jié)。映射的地址個(gè)字節(jié)。映射的地址不能定位程序的代碼和數(shù)據(jù)不能定位程序的代碼和數(shù)據(jù)912 february 2002第第 2 次作業(yè)次作業(yè)2.6 ic

10、etek-vc5509-a評估板上評估板上字節(jié)地址字節(jié)地址起止范起止范圍為圍為0 x0480000 x04ffff對應(yīng)的哪種存儲(chǔ)器對應(yīng)的哪種存儲(chǔ)器?這段存儲(chǔ)空間有多大?這段存儲(chǔ)空間有多大? 外擴(kuò)寄存器地址外擴(kuò)寄存器地址 0 x400001(字地址字地址) 對應(yīng)的哪個(gè)對應(yīng)的哪個(gè)ce空間?空間? 答:這段地址對應(yīng)的存儲(chǔ)器為答:這段地址對應(yīng)的存儲(chǔ)器為sdram。這段存儲(chǔ)。這段存儲(chǔ)空間的大小空間的大小32kb。外擴(kuò)存儲(chǔ)器地址。外擴(kuò)存儲(chǔ)器地址0 x400001(字地址字地址)對應(yīng)的對應(yīng)的ce2空間??臻g。1012 february 2002第第 2 次作業(yè)次作業(yè)3.1 ccs軟件開發(fā)工具有哪些功能?軟件

11、開發(fā)工具有哪些功能?答:答:ccs軟件開發(fā)工具具有:軟件開發(fā)工具具有:集成開發(fā)環(huán)境集成開發(fā)環(huán)境(軟件仿真和硬件仿真軟件仿真和硬件仿真)工程管理器和代碼編輯器工程管理器和代碼編輯器代碼產(chǎn)生工具代碼產(chǎn)生工具代碼調(diào)試工具代碼調(diào)試工具代碼分析工具代碼分析工具(profiler的使用的使用)1112 february 2002第第 2 次作業(yè)次作業(yè)3.2 何謂何謂dsk,evm?答:答:dsk:dsp初學(xué)者套件(初學(xué)者套件(dsp starter kit)dsk是是ti公司提供給初學(xué)者進(jìn)行公司提供給初學(xué)者進(jìn)行dsp編程學(xué)習(xí)的一套廉價(jià)的實(shí)編程學(xué)習(xí)的一套廉價(jià)的實(shí)時(shí)軟件調(diào)試工具時(shí)軟件調(diào)試工具(包括包括ccs限

12、定版和限定版和dsk板板)。tms320c55x low-power optimization dsp starter kit (dsk)tms320c5509(u.s part number) 495 $u.stms320c55xtm dsp starter kit(dsk), tms320c5510 dsp based 395 su.sevm:評估模板評估模板(evaluation module)評估模板是一種低成本的開發(fā)板,在評估模板是一種低成本的開發(fā)板,在evm板上一般配置了一板上一般配置了一定數(shù)量的硬件資源,可用來進(jìn)行定數(shù)量的硬件資源,可用來進(jìn)行dsp芯片評價(jià)、性能評估和有芯片評價(jià)、

13、性能評估和有限的系統(tǒng)調(diào)試限的系統(tǒng)調(diào)試1212 february 2002第第 2 次作業(yè)次作業(yè)3.3 ccs的的simulator和和emulator有何區(qū)別,在哪些情有何區(qū)別,在哪些情況下合適使用況下合適使用simulator調(diào)試程序,哪些情況下必須調(diào)試程序,哪些情況下必須使用使用emulator調(diào)試程序。調(diào)試程序。答:答:ccs程序的仿真有兩種模式:軟件仿真程序的仿真有兩種模式:軟件仿真(simulator)和硬件仿真和硬件仿真(emulator).ccs的的simulator是指是指ccs工作在純軟件仿真環(huán)境中,工作在純軟件仿真環(huán)境中,就是由軟件在就是由軟件在pc機(jī)內(nèi)存中構(gòu)造一個(gè)虛擬的機(jī)

14、內(nèi)存中構(gòu)造一個(gè)虛擬的dsp環(huán)境,環(huán)境,可以調(diào)試、運(yùn)行程序。但一般軟件無法構(gòu)造可以調(diào)試、運(yùn)行程序。但一般軟件無法構(gòu)造dsp中中的外設(shè),所以軟件仿真通常用于調(diào)試純軟件的算法的外設(shè),所以軟件仿真通常用于調(diào)試純軟件的算法和進(jìn)行效率分析等。軟件仿真無需目標(biāo)板和仿真器和進(jìn)行效率分析等。軟件仿真無需目標(biāo)板和仿真器等硬件就可以開始軟件編程,缺點(diǎn)是仿真速度慢而等硬件就可以開始軟件編程,缺點(diǎn)是仿真速度慢而且無法仿真某些外設(shè)的功能。且無法仿真某些外設(shè)的功能。1312 february 2002第第 2 次作業(yè)次作業(yè)硬件仿真需要用戶具備目標(biāo)板,如硬件仿真需要用戶具備目標(biāo)板,如ti的的dsk、evm及及用戶設(shè)計(jì)的系統(tǒng)板

15、,仿真程序會(huì)利用開發(fā)系統(tǒng)將代碼用戶設(shè)計(jì)的系統(tǒng)板,仿真程序會(huì)利用開發(fā)系統(tǒng)將代碼下載到下載到dsp芯片中。程序在目標(biāo)板中運(yùn)行,仿真軟件芯片中。程序在目標(biāo)板中運(yùn)行,仿真軟件只是將結(jié)果讀出來顯示。目標(biāo)板一般是通過只是將結(jié)果讀出來顯示。目標(biāo)板一般是通過usb接口接口xds510或高速或高速xds560開發(fā)系統(tǒng)與主機(jī)相連。硬件仿開發(fā)系統(tǒng)與主機(jī)相連。硬件仿真的優(yōu)點(diǎn)是仿真速度快,仿真結(jié)果與系統(tǒng)實(shí)際一致。真的優(yōu)點(diǎn)是仿真速度快,仿真結(jié)果與系統(tǒng)實(shí)際一致。軟件仿真通常用于調(diào)試軟件的算法和進(jìn)行效率分析等,軟件仿真通常用于調(diào)試軟件的算法和進(jìn)行效率分析等,在外設(shè)程序調(diào)試及系統(tǒng)程序聯(lián)調(diào)時(shí)需使用硬件仿真在外設(shè)程序調(diào)試及系統(tǒng)程序

16、聯(lián)調(diào)時(shí)需使用硬件仿真1412 february 2002第第 2 次作業(yè)次作業(yè)3.4 簡述采用簡述采用ccs及及dsp系統(tǒng)系統(tǒng)開發(fā)開發(fā)dsp 程序的主要步驟程序的主要步驟(包括軟包括軟件仿真件仿真simulator和硬件仿真和硬件仿真emulator)。答:答:1.創(chuàng)建新的工程文件。創(chuàng)建新的工程文件。2.創(chuàng)建、編寫源代碼文件創(chuàng)建、編寫源代碼文件(包括包括.c、.asm、.h等源文件等源文件)和鏈接器和鏈接器命令文件命令文件(.cmd)。3.將工程文件中應(yīng)包含將工程文件中應(yīng)包含.c和和.asm源代碼文件、鏈接器命令文件、源代碼文件、鏈接器命令文件、庫文件庫文件(.lib)添加到工程中。添加到工程

17、中。4.編譯產(chǎn)生庫文件編譯產(chǎn)生庫文件(.lib)和可執(zhí)行程序和可執(zhí)行程序(.out)。(通常(通常1-4步步simulator )5.加載和運(yùn)行可執(zhí)行程序。調(diào)試代碼,修改程序錯(cuò)誤,重新編加載和運(yùn)行可執(zhí)行程序。調(diào)試代碼,修改程序錯(cuò)誤,重新編譯產(chǎn)生、加載和運(yùn)行科執(zhí)行程序譯產(chǎn)生、加載和運(yùn)行科執(zhí)行程序(.out)-算法軟件(通常先算法軟件(通常先simulator ,然后,然后emulator )-驅(qū)動(dòng)軟件(通常驅(qū)動(dòng)軟件(通常emulator ,需連接,需連接dsp硬件系統(tǒng))硬件系統(tǒng))1512 february 2002第第 3 次作業(yè)次作業(yè)3.5 在本章課上講解的圖形顯示示例的輸入窗口在本章課上講解

18、的圖形顯示示例的輸入窗口“graph property dialog”對話框?yàn)槭裁匆獙D形的標(biāo)題、起始對話框?yàn)槭裁匆獙D形的標(biāo)題、起始地址、緩沖區(qū)大小、顯示數(shù)據(jù)大小、地址、緩沖區(qū)大小、顯示數(shù)據(jù)大小、dsp數(shù)據(jù)類型、自數(shù)據(jù)類型、自動(dòng)標(biāo)尺屬性及最大動(dòng)標(biāo)尺屬性及最大y值作如下更改?值作如下更改?graph title :inputstart address :inp_bufferacquisition buffer size :100display data size :100dsp data type :16-bit signed integerautoscale :offmaximum y-va

19、lue :10001612 february 2002第第 3 次作業(yè)次作業(yè)graph title :input給輸入數(shù)據(jù)圖形顯示窗口命名為給輸入數(shù)據(jù)圖形顯示窗口命名為“input”,有助于區(qū)分多,有助于區(qū)分多個(gè)同時(shí)打開的窗口。個(gè)同時(shí)打開的窗口。start addresss :inp_buffer顯示由從顯示由從sine.dat文件讀入到文件讀入到inp_buffer指針內(nèi)正弦曲線數(shù)指針內(nèi)正弦曲線數(shù)據(jù)據(jù)acquisition buffer size :100獲取的緩沖個(gè)數(shù)為獲取的緩沖個(gè)數(shù)為100.display data size :100顯示數(shù)據(jù)個(gè)數(shù)為顯示數(shù)據(jù)個(gè)數(shù)為100.1712 febr

20、uary 2002dsp data type :16-bit signed integer應(yīng)與待顯示數(shù)據(jù)類型一致,輸入正弦波數(shù)據(jù)位應(yīng)與待顯示數(shù)據(jù)類型一致,輸入正弦波數(shù)據(jù)位16比特有符比特有符號的整數(shù)。號的整數(shù)。autoscale :off缺省為缺省為on,縱軸的最大值就是所顯示數(shù)據(jù)的最大值。為比,縱軸的最大值就是所顯示數(shù)據(jù)的最大值。為比較處理前后的幅值的放大,將自動(dòng)標(biāo)尺關(guān)閉。較處理前后的幅值的放大,將自動(dòng)標(biāo)尺關(guān)閉。maximum y-value :1000將最大將最大y值設(shè)置為值設(shè)置為1000.輸入正弦曲線最大值為輸入正弦曲線最大值為99,最大放,最大放大倍數(shù)為大倍數(shù)為10,最大,最大y值值1

21、000能顯示放大后曲線所有的點(diǎn)。能顯示放大后曲線所有的點(diǎn)。1812 february 20023.6給出給出ccs提供的代碼分析工具提供的代碼分析工具profiler各項(xiàng)統(tǒng)計(jì)數(shù)據(jù)的各項(xiàng)統(tǒng)計(jì)數(shù)據(jù)的含義?含義?答:答:code size 代碼長度代碼長度incl./excl.count 命中次數(shù)命中次數(shù)incl./excl.total 執(zhí)行始終周期總和執(zhí)行始終周期總和incl./excl.maximum 最大時(shí)鐘周期數(shù)最大時(shí)鐘周期數(shù)incl./excl.minimum 最小時(shí)鐘周期數(shù)最小時(shí)鐘周期數(shù)incl./excl.average 平均時(shí)鐘周期數(shù)平均時(shí)鐘周期數(shù)以以incl.為前綴的統(tǒng)計(jì)信息表示將

22、剖析區(qū)域的子程序調(diào)用計(jì)為前綴的統(tǒng)計(jì)信息表示將剖析區(qū)域的子程序調(diào)用計(jì)算在內(nèi)。算在內(nèi)。以以excl.為前綴的統(tǒng)計(jì)信息表示將剖析區(qū)域的子程序調(diào)用排為前綴的統(tǒng)計(jì)信息表示將剖析區(qū)域的子程序調(diào)用排除在外。除在外。1912 february 2002第第 3 次作業(yè)次作業(yè)4.1 tms320c55x dsp支持哪支持哪3種類型的尋址模種類型的尋址模式?它們是如何尋址的?式?它們是如何尋址的?答:答: tms320c55x dsp支持的支持的3種類型的尋址方種類型的尋址方式分別是絕對尋址模式、直接尋址模式、間接式分別是絕對尋址模式、直接尋址模式、間接尋址模式。尋址模式。絕對尋址方式:指令里有一個(gè)地址的全部或部

23、分,絕對尋址方式:指令里有一個(gè)地址的全部或部分,指示目的地址。指示目的地址。直接尋址方式:使用偏移地址指示目的地址。直接尋址方式:使用偏移地址指示目的地址。間接尋址方式:使用指針指示目的地址。間接尋址方式:使用指針指示目的地址。2012 february 2002第第 3 次作業(yè)次作業(yè)4.2 設(shè)指令執(zhí)行前設(shè)指令執(zhí)行前dph=3, dp=.dp=0 x2000, xar0=0 x32000 data memory 0 x032000 0 x032001 0 x032002 0 x032003 分別指出下列指令所使用的尋址方式及指令執(zhí)行后分別指出下列指令所使用的尋址方式及指令執(zhí)行后xar0、 ac

24、0、t2和和t3的值:的值:(1)mov *ar0+, ac0(2)mov 2003h, t2(3)mov *abs16(#2002h), t30 x00000 x11110 x22220 x33332112 february 2002答答:(1)mov*ar0+,ac0;間接尋址方式間接尋址方式執(zhí)行后:執(zhí)行后:ac0=0 x0000,xar0=0 x32001,其他不變。其他不變。(2)mov 2003h,t2;直接尋址方式直接尋址方式執(zhí)行后:執(zhí)行后:t2=0 x3333,其它不變。,其它不變。(3)mov*abs16(#2002h),t3;絕對尋址方式絕對尋址方式執(zhí)行后:執(zhí)行后:t3=0

25、x2222,其它不變。,其它不變。2212 february 2002第第 3 次作業(yè)次作業(yè)4.3 tms320c55x dsp的指令集包含了哪幾種基本類的指令集包含了哪幾種基本類型的指令?型的指令?答:算術(shù)運(yùn)算指令答:算術(shù)運(yùn)算指令 邏輯運(yùn)算指令邏輯運(yùn)算指令 移動(dòng)指令移動(dòng)指令 程序控制指令程序控制指令2312 february 2002第第 3 次作業(yè)次作業(yè)4.4 分析下列分析下列 tms320c55x dsp 匯編語言代碼,請匯編語言代碼,請?jiān)诿恳恍姓Z句后在每一行語句后對其功能進(jìn)行注釋對其功能進(jìn)行注釋。 mpym *ar2+,*ar3+,ac0;ac0=(*ar2)*(*ar3);ar2=a

26、r2+1,ar3=ar3+1| rpt #4;與上條指令并行,下一條指令執(zhí)行與上條指令并行,下一條指令執(zhí)行5次次 masm *ar2+,*ar3+,ac0;ac0=ac0-(*ar2)*(*ar3);ar2=ar2+1,ar3=ar3+12412 february 2002第第4次作業(yè)次作業(yè)5.1 簡述增強(qiáng)性能的簡述增強(qiáng)性能的dsp代碼開發(fā)流程。代碼開發(fā)流程。 答:增強(qiáng)性能的答:增強(qiáng)性能的dsp代碼開發(fā)流程可分為代碼開發(fā)流程可分為4個(gè)步驟:個(gè)步驟:步驟步驟1:寫:寫c代碼代碼根據(jù)任務(wù)寫根據(jù)任務(wù)寫c語言程序,用語言程序,用ccs代碼產(chǎn)生工具編譯產(chǎn)生代碼產(chǎn)生工具編譯產(chǎn)生dsp內(nèi)可運(yùn)行代碼,證明其功

27、能的正確性。剖析代碼,分內(nèi)可運(yùn)行代碼,證明其功能的正確性。剖析代碼,分析確定代碼是否足夠有效如果足夠有效,如果足夠有效,析確定代碼是否足夠有效如果足夠有效,如果足夠有效,則代碼開發(fā)完成;如果不是,進(jìn)入步驟則代碼開發(fā)完成;如果不是,進(jìn)入步驟2步驟步驟2:優(yōu)化:優(yōu)化c代碼代碼利用利用c代碼優(yōu)化方法對代碼進(jìn)行優(yōu)化,再次編譯、剖析。代碼優(yōu)化方法對代碼進(jìn)行優(yōu)化,再次編譯、剖析。進(jìn)行更多的進(jìn)行更多的c優(yōu)化。如果仍然有效性不夠,進(jìn)入步驟優(yōu)化。如果仍然有效性不夠,進(jìn)入步驟3。2512 february 2002步驟步驟3:寫匯編代碼:寫匯編代碼分析分析c代碼中存在的影響性能的關(guān)鍵低效率段,用代碼中存在的影響性

28、能的關(guān)鍵低效率段,用匯編代碼編寫它們,再次剖析。如果仍然有效匯編代碼編寫它們,再次剖析。如果仍然有效性不夠,進(jìn)入步驟性不夠,進(jìn)入步驟4.步驟步驟4:優(yōu)化匯編代碼:優(yōu)化匯編代碼優(yōu)化匯編代碼,再次優(yōu)化,直至足夠有效。優(yōu)化匯編代碼,再次優(yōu)化,直至足夠有效。2612 february 2002第第4次作業(yè)次作業(yè)5.2 為什么通常需要采用為什么通常需要采用c語言和匯編語言的混合語言和匯編語言的混合編程?編程?答:在數(shù)字信號處理器的軟件開發(fā)中一直存在一答:在數(shù)字信號處理器的軟件開發(fā)中一直存在一個(gè)兩難的選擇:個(gè)兩難的選擇:c/c+語言開發(fā)容易、移植性強(qiáng)、語言開發(fā)容易、移植性強(qiáng)、但效率較低,不能滿足實(shí)時(shí)性要求

29、;匯編語言效但效率較低,不能滿足實(shí)時(shí)性要求;匯編語言效率高,對硬件的操作更為直接,但程序編寫復(fù)雜率高,對硬件的操作更為直接,但程序編寫復(fù)雜易讀性差、移植性不好。易讀性差、移植性不好。 比較好的方法是在二者間折中,即程序的主比較好的方法是在二者間折中,即程序的主體框架和對實(shí)時(shí)性要求不高的部分采用體框架和對實(shí)時(shí)性要求不高的部分采用c/c+語言,語言,而算法則采用匯編語言,這樣能夠充分發(fā)揮二者而算法則采用匯編語言,這樣能夠充分發(fā)揮二者的優(yōu)點(diǎn),解決易讀性和效率之間的矛盾。的優(yōu)點(diǎn),解決易讀性和效率之間的矛盾。2712 february 2002第第4次作業(yè)次作業(yè)5.3 何謂小存儲(chǔ)器模式?何謂大存儲(chǔ)器模式

30、?何謂小存儲(chǔ)器模式?何謂大存儲(chǔ)器模式?答:在小存儲(chǔ)器模式下,代碼段和數(shù)據(jù)段的長度和位置受到一定的答:在小存儲(chǔ)器模式下,代碼段和數(shù)據(jù)段的長度和位置受到一定的限制。如下列段都必須在長度為限制。如下列段都必須在長度為64kw的存儲(chǔ)器的一個(gè)單頁中:的存儲(chǔ)器的一個(gè)單頁中:.bss和和.data段段(存放所有的靜態(tài)和全局變量存放所有的靜態(tài)和全局變量).stack和和.sysstack段段*(the primary and secondary system stacks:主:主系統(tǒng)堆棧和二級系統(tǒng)堆棧系統(tǒng)堆棧和二級系統(tǒng)堆棧).sysmem段段(動(dòng)態(tài)存儲(chǔ)空間動(dòng)態(tài)存儲(chǔ)空間).const段段在小存儲(chǔ)器模式下,在小存

31、儲(chǔ)器模式下,.test段段 (代碼段代碼段)、.switch(狀態(tài)轉(zhuǎn)化段狀態(tài)轉(zhuǎn)化段)及及.cinit/.pint段段(變量初始化段變量初始化段)的長度和位置不受限制。的長度和位置不受限制。在小存儲(chǔ)器模式下,編譯器的數(shù)據(jù)指針為在小存儲(chǔ)器模式下,編譯器的數(shù)據(jù)指針為16位。位。23-bit xarn寄存寄存器的高器的高7位指向位指向.bss段,并在程序運(yùn)行時(shí)始終指向該段。段,并在程序運(yùn)行時(shí)始終指向該段。*sysstack段為段為c55xdsp所特有所特有2812 february 2002如果在編譯中設(shè)置如果在編譯中設(shè)置-ml選項(xiàng),則編譯器按照大存儲(chǔ)器模選項(xiàng),則編譯器按照大存儲(chǔ)器模式編譯程序。式編譯

32、程序。大存儲(chǔ)器模式下可以更加方便地存放數(shù)據(jù),而不必過大存儲(chǔ)器模式下可以更加方便地存放數(shù)據(jù),而不必過多的考慮數(shù)據(jù)頁的限制,數(shù)據(jù)指針為多的考慮數(shù)據(jù)頁的限制,數(shù)據(jù)指針為23位,而主堆棧位,而主堆棧和二級堆棧必須放到同一頁中;除了代碼段可以跨越和二級堆棧必須放到同一頁中;除了代碼段可以跨越頁邊界以外,其它段都不能跨越頁邊界,也就是說除頁邊界以外,其它段都不能跨越頁邊界,也就是說除代碼段外的其它所有的段都只能放在一頁存儲(chǔ)器之中代碼段外的其它所有的段都只能放在一頁存儲(chǔ)器之中,不能跨頁存放,但和小存儲(chǔ)器模式相比,這些段可,不能跨頁存放,但和小存儲(chǔ)器模式相比,這些段可以分別放在不同的葉中,而不需要放在同一頁中

33、。以分別放在不同的葉中,而不需要放在同一頁中。2912 february 2002第第4次作業(yè)次作業(yè)5.4 分析下列分析下列icetek-vc5509-a 評估板評估板 c語言代碼,請?jiān)诿空Z言代碼,請?jiān)诿恳灰徽Z句后語句后對其對其功能進(jìn)行功能進(jìn)行注釋注釋。并說明。并說明px 指向的存儲(chǔ)器區(qū)的物理存儲(chǔ)器的類型。指向的存儲(chǔ)器區(qū)的物理存儲(chǔ)器的類型。 main()/主函數(shù)主函數(shù)int i;/定義局部整型變量定義局部整型變量iunsigned int * px; /定義指向無符號整型變量的指針變量定義指向無符號整型變量的指針變量pxpx=(unsigned int *) 0 x20000; /px字地址為

34、字地址為0 x20000,字節(jié)地址為,字節(jié)地址為0 x40000 /且且px指向指向unsigned int 類型類型 for ( i=0; i32;i+,px+ ) (*px)=0; /以上以上for循環(huán)的功能是從字地址循環(huán)的功能是從字地址0 x20000開始開始32個(gè)字清個(gè)字清0在在icetek-vc5509-a評估板中評估板中px指向的存儲(chǔ)器區(qū)的物理存儲(chǔ)器為指向的存儲(chǔ)器區(qū)的物理存儲(chǔ)器為sdram3012 february 2002第第4次作業(yè)次作業(yè)5.5 tms320c55x dsp匯編語句包含哪幾個(gè)部分?編匯編語句包含哪幾個(gè)部分?編寫匯編語句需要注意哪些問題?寫匯編語句需要注意哪些問題

35、?答:匯編語言語句格式可以包含答:匯編語言語句格式可以包含4個(gè)部分,標(biāo)號域、個(gè)部分,標(biāo)號域、助記符域、操作數(shù)域和注釋域。助記符域、操作數(shù)域和注釋域。匯編語言語句格式如下:匯編語言語句格式如下:mnemonic syntax:label:mnemonicoperand list;comment標(biāo)號標(biāo)號:助記符助記符操作數(shù)列表操作數(shù)列表;注釋;注釋3112 february 20021編寫匯編語句需要注意如下編寫匯編語句需要注意如下6個(gè)方面的問題:個(gè)方面的問題: 2語句必須以標(biāo)號、空格、星號語句必須以標(biāo)號、空格、星號(*)、分號、分號(;)開始開始。3包含匯編器偽指令的語句必須完全在一行指定包含匯

36、編器偽指令的語句必須完全在一行指定 標(biāo)號為可選項(xiàng),如要使用標(biāo)號,則必須從第標(biāo)號為可選項(xiàng),如要使用標(biāo)號,則必須從第1列開列開始。始。4每個(gè)域必須有每個(gè)域必須有1個(gè)或多個(gè)空格分開。個(gè)或多個(gè)空格分開。tab等效于空格。等效于空格。5注釋為可選項(xiàng),開始于第注釋為可選項(xiàng),開始于第1列的列的須用星號或分號須用星號或分號(*或或;)開始,但其它列開始的注開始,但其它列開始的注釋前面只能標(biāo)分號。釋前面只能標(biāo)分號。6源程序可通過前一行以反源程序可通過前一行以反斜杠(斜杠()結(jié)尾與下一行相連結(jié)尾與下一行相連3212 february 2002第第4次作業(yè)次作業(yè)5.6 匯編偽指令匯編偽指令.def,.ref和和.g

37、lobal 起到了什么作用?起到了什么作用?答:答:.def符號符號(symbol)-在當(dāng)前模塊定義一個(gè)符號,在當(dāng)前模塊定義一個(gè)符號,可以被其它模塊使用。可以被其它模塊使用。.ref符號符號-在其它文件中定義,可以在本文件中使在其它文件中定義,可以在本文件中使用的符號。用的符號。.global符號符號-其作用相當(dāng)于其作用相當(dāng)于.def、.ref效果之和。效果之和。3312 february 2002第第4次作業(yè)次作業(yè)5.7 tms320c55x dsp c語言和匯編語言的混合編程方法主要語言和匯編語言的混合編程方法主要有哪兩種?各有什么特點(diǎn)?有哪兩種?各有什么特點(diǎn)?答:答:c語言和匯編語言的混

38、合編程有如下主要方法和特點(diǎn):語言和匯編語言的混合編程有如下主要方法和特點(diǎn):1.在在c語言中直接嵌套匯編語句語言中直接嵌套匯編語句特點(diǎn):嵌套匯編語句的語法十分簡單,只要把需要嵌套的匯編特點(diǎn):嵌套匯編語句的語法十分簡單,只要把需要嵌套的匯編語句前面加上語句前面加上asm標(biāo)示符,左右加上一個(gè)雙引號并用小括號括標(biāo)示符,左右加上一個(gè)雙引號并用小括號括住即可住即可asm(“assembler text”);比較適合完成對硬件進(jìn)行簡單操作。直接嵌套的方法要十分小比較適合完成對硬件進(jìn)行簡單操作。直接嵌套的方法要十分小心,心,c語言編譯器并不檢查和分析嵌入的匯編語句,而嵌入的語言編譯器并不檢查和分析嵌入的匯編語

39、句,而嵌入的匯編語句很可能改變匯編語句很可能改變c語言的運(yùn)行環(huán)境。采用該方法實(shí)現(xiàn)較復(fù)語言的運(yùn)行環(huán)境。采用該方法實(shí)現(xiàn)較復(fù)雜的功能,會(huì)造成程序的可讀性較差,并影響程序的可移植性。雜的功能,會(huì)造成程序的可讀性較差,并影響程序的可移植性。3412 february 20022.c語言和匯編模塊的接口語言和匯編模塊的接口特點(diǎn):獨(dú)立編寫特點(diǎn):獨(dú)立編寫c語言程序和匯編程序,語言程序和匯編程序,c語言通語言通過函數(shù)調(diào)用匯編子程序,這樣既可以提高程序的過函數(shù)調(diào)用匯編子程序,這樣既可以提高程序的運(yùn)行效率,又保證了程序的可移植性,而且程序運(yùn)行效率,又保證了程序的可移植性,而且程序的結(jié)構(gòu)性較好,并不影響的結(jié)構(gòu)性較好,

40、并不影響c語言編譯器的優(yōu)化功能語言編譯器的優(yōu)化功能。必須遵從。必須遵從c語言調(diào)用子函數(shù)的規(guī)則,這些規(guī)則包語言調(diào)用子函數(shù)的規(guī)則,這些規(guī)則包括括c/c+中寄存器的使用、函數(shù)的結(jié)構(gòu)及調(diào)用規(guī)則中寄存器的使用、函數(shù)的結(jié)構(gòu)及調(diào)用規(guī)則等。等。3512 february 2002第第4次作業(yè)次作業(yè)5.8 定義如下結(jié)構(gòu)體類型定義如下結(jié)構(gòu)體類型struct big,請分別給出以下,請分別給出以下3個(gè)個(gè)c函數(shù)傳送參數(shù)和返回值所用的寄存器或堆棧。函數(shù)傳送參數(shù)和返回值所用的寄存器或堆棧。struct big long x10; ; (1) long fn(int *p1, int i2, int i3, int i4)

41、;(2) int fn(struct big b, int *p1);(3) void fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10);3612 february 2002struct biglong x10;ac0 ar0 t0 t1 ar1(1)long fn(int *p1,int i2,int i3,int i4);t0 ar0 ar1(2)int fn(struct big b,int *p1) ; ac0 ac1 ac2 ar0 ar1(3)voi

42、d fn(long l1,long l2,long l3,int *p4,int *p5, ar2 ar3 ar4 t0 t1int *p6,int *p7,int *p8,int i9,int i10 ); 3712 february 2002第第4次作業(yè)次作業(yè)5.9 c語言主程序如下:語言主程序如下:extern int exp(int *, int *); int ai8=100,2,3,4,5,6,7,8;int xi8=9,3,2,0,1,9,7,1; int y;void main() y = exp(ai, xi);用用c55x匯編語言實(shí)現(xiàn)匯編語言實(shí)現(xiàn)c可調(diào)用函數(shù)可調(diào)用函數(shù)int

43、 exp(int *, int *),計(jì)算,計(jì)算388 ,-1-11100 lxaxaxayll12 february 2002.global _exp.text_exp mpym *ar0+,*ar1+,ac0| rpt #6 masm *ar0+, *ar1+,ac0 mov ac0,t0ret.end3912 february 2002第第5次作業(yè)次作業(yè)5.10 dsp/bios 支持的支持的4種類型線程,按優(yōu)先級由種類型線程,按優(yōu)先級由低到高低到高給出這給出這4種線程種線程。說明任務(wù)說明任務(wù)(tsk) 的優(yōu)先級范圍。的優(yōu)先級范圍。答:按優(yōu)先級由低到高答:按優(yōu)先級由低到高dsp/bios

44、支持的支持的4種線程種線程為:后臺(tái)線程為:后臺(tái)線程(idl)、任務(wù)、任務(wù)(tsk)、軟件中斷、軟件中斷(swi)、硬件中斷、硬件中斷(hwi)。任務(wù)任務(wù)(tsk)的優(yōu)先級為的優(yōu)先級為1(最低最低)-15(最高最高)。4012 february 2002第第5次作業(yè)次作業(yè)6.1 16位定點(diǎn)數(shù)位定點(diǎn)數(shù)0 xd000,分別計(jì)算該數(shù),分別計(jì)算該數(shù)q15和和q0十進(jìn)制數(shù)的十進(jìn)制數(shù)的大小。大小。答:答:0 xd000=1101 0000 0000 0000bq15:-20+2-1+2-3=-1+0.5+0.125=-0.375q0:-215+214+212=-3*212=-3*4096=-12288411

45、2 february 2002第第5次作業(yè)次作業(yè)6.2 已知已知x=0.4567,試將該數(shù)轉(zhuǎn)換為,試將該數(shù)轉(zhuǎn)換為q15定點(diǎn)數(shù)定點(diǎn)數(shù)(考慮舍入和不舍入兩種情況)。(考慮舍入和不舍入兩種情況)。答:答:0.4567*32768=14965.1456舍入舍入 14965(十進(jìn)制十進(jìn)制)或或0 x3a75(十六進(jìn)制十六進(jìn)制)不舍入不舍入 14965(十進(jìn)制十進(jìn)制)或或0 x3a75(十六進(jìn)制十六進(jìn)制)4212 february 2002第第5次作業(yè)次作業(yè)6.3 采用完整的采用完整的tms320c55x dsp 的的c語言實(shí)現(xiàn)語言實(shí)現(xiàn)n點(diǎn)點(diǎn)q15 定標(biāo)的余弦波信號產(chǎn)生函數(shù)。要求信號定標(biāo)的余弦波信號產(chǎn)生函

46、數(shù)。要求信號采樣頻率為采樣頻率為44100hz,包含,包含2400hz、16000hz 兩種頻率成份,幅度均為兩種頻率成份,幅度均為0.48。解:解:c語言編程實(shí)現(xiàn)如下:語言編程實(shí)現(xiàn)如下:#include #define t 1/44100 /0.0000226757#define f1 2400#define f2 16000#define pi 3february 2002#define two_pi _f1_t (2*pi*f1*t) /*2*pi*f1/fs*/#define two_pi_f2_t (2*pi*f2*t) /*2*pi*f2/fs*/void signal_gen(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論