資源描述:
《實(shí)驗(yàn)一 dsp集成開(kāi)發(fā)環(huán)境ccs》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、DSP原理與應(yīng)用實(shí)驗(yàn)實(shí)驗(yàn)一DSP集成開(kāi)發(fā)環(huán)境CCS一、實(shí)驗(yàn)?zāi)康?.熟悉CCS軟件運(yùn)行環(huán)境設(shè)置及基本操作。2.掌握CCS工程項(xiàng)目的創(chuàng)建、調(diào)試和分析。3.通過(guò)實(shí)例初步掌握在CCS環(huán)境下設(shè)計(jì)DSP程序。二、實(shí)驗(yàn)環(huán)境1.奔騰IV計(jì)算機(jī)2.CodeComposerStudio(CCS)軟件三、實(shí)驗(yàn)內(nèi)容1.乘法累加運(yùn)算設(shè)計(jì)DSP匯編語(yǔ)言程序,實(shí)現(xiàn):y=,其中:[a1a2a3a4]=[1,2,3,4];[x1x2x3x4]=[8642];(1)程序:1)dp1.asm(源程序).mmregs;將TMS320C54x各寄存器名定義為全局
2、符號(hào),這樣就可直接引用寄存器符號(hào)STACK.usect"STACK",10h;在數(shù)據(jù)存儲(chǔ)器中留出16個(gè)單元作為堆棧區(qū),名為“STACK”.bssa,4;為a分配4個(gè)存儲(chǔ)單元.bssx,4;為b分配4個(gè)存儲(chǔ)單元.bssy,1;為y分配1個(gè)存儲(chǔ)單元.defaa;在模塊”aa”中定義.data;data是數(shù)據(jù)段,在”data”之后是已初始化的數(shù)據(jù)table:.word1,2,3,4;在程序存儲(chǔ)器標(biāo)號(hào)為”table”開(kāi)始的8個(gè)單元中,存放初始化數(shù)據(jù).word8,6,4,2;在程序存儲(chǔ)器標(biāo)號(hào)為”table”開(kāi)始的8個(gè)單元中,存放初
3、始化數(shù)據(jù).text;text是文本段,.text之后是匯編語(yǔ)言的正文aa:STM#STACK+10h,SP;以SP=#STACK+10h作為棧底,以便在調(diào)用子程序時(shí),將程序寄存器PC的值以及一些重要的寄存器值進(jìn)行壓棧保護(hù),從而程序返回時(shí)能從間斷處繼續(xù)運(yùn)行STM#a,AR1;(AR1)=aRPT#7;將下一條指令重復(fù)7次MVPDtable,*AR1+;將程序存儲(chǔ)空間中標(biāo)號(hào)為”table”的地址里的數(shù)據(jù)存入AR1所指向的數(shù)據(jù)存儲(chǔ)空間,且地址AR1加1--------屬于絕對(duì)尋址CALLSUM;調(diào)用子程序SUMend:Bend
4、SUM:STM#a,AR3;(AR3)=a-----屬于立即尋址STM#x,AR4;(AR4)=xRPTZA,#3;將下一條指令重復(fù)執(zhí)行3次,并對(duì)ACC清0MAC*AR3+,*AR4+,A;乘法累加:將AR3和AR4指向的單元中的數(shù)據(jù)相乘,再與A中的數(shù)據(jù)相加,且地址AR3和AR4加1----屬于間接尋址7DSP原理與應(yīng)用實(shí)驗(yàn)STLA,@y;將A的低16位存入某頁(yè)的y存儲(chǔ)單元中RET;返回主程序.end;結(jié)束匯編命令2)dp1.cmd(鏈接命令文件)/*dp1.cmd*/-eaa-mmap.mapMEMORY{PAGE0:
5、EPROM:org=04000Hlen=0100HVECS:org=05000Hlen=0004HPAGE1:SPRAM:org=0060Hlen=0020HDARAM:org=0080Hlen=0100H}SECTIONS{.data:>EPROMPAGE0.bss:>SPRAMPAGE1STACK:>DARAMPAGE1.vectors:>VECSPAGE0}(2)設(shè)置CCS環(huán)境1)雙擊”SetupCCS2('C5000)”圖標(biāo),打開(kāi)CCS環(huán)境設(shè)置界面,在ImportConfiguration對(duì)話框中選擇C5402D
6、eviceSimulator,然后單擊”Import”按鈕,再單擊”SaveandQuit”按鈕后退出。圖12)單擊“InstallaDeviceDriver”,選擇驅(qū)動(dòng)程序:”tisim54x.dvr”,單擊”打開(kāi)”7DSP原理與應(yīng)用實(shí)驗(yàn)按鈕,隨后再單擊”O(jiān)K”。圖23)在”File”菜單里選擇”StartCodeComposerStudio”,啟動(dòng)CCS。圖3(3)工程項(xiàng)目的創(chuàng)建和調(diào)試1)新建一個(gè)工程:dp1.pjt。在CCS主界面“project”菜單中選”New…”,在出現(xiàn)的對(duì)話框中的“?project”?項(xiàng)中填
7、入“dp1”,再按”完成”。圖42)編寫源程序和鏈接命令文件,并添加到工程中。[1]按File---New---SourceFile,將源程序dp1.asm寫入并保存為“dp1.asm”,文件的路徑為:D:dp1。重復(fù)上述操作,將鏈接命令文件dp1.cmd寫入并保存為”dp1.cmd”。[2]按Project---AddFilestoProject,分別找到上述兩個(gè)文件,添加到工程中。(3)運(yùn)行程序并觀察結(jié)果。1)按Project—Rebuildall,編譯和鏈接程序,若無(wú)錯(cuò)誤,則按File—LoadProgram,
8、載入可執(zhí)行文件:dp1.out。2)按debug—Run,運(yùn)行程序。7DSP原理與應(yīng)用實(shí)驗(yàn)3)按View—Memory…,觀察數(shù)據(jù)存儲(chǔ)單元中的結(jié)果數(shù)據(jù)。圖54)觀察運(yùn)行結(jié)果,回答以下問(wèn)題:[1]a=1234,其初始存儲(chǔ)單元地址為:0060;x=8642,y=40。[2]將”MemoryWindowOptions”中的