第9章 TMS320C5402實驗.ppt_第1頁
第9章 TMS320C5402實驗.ppt_第2頁
第9章 TMS320C5402實驗.ppt_第3頁
第9章 TMS320C5402實驗.ppt_第4頁
第9章 TMS320C5402實驗.ppt_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1,TMS320C5402實驗,2,1) 實驗?zāi)康?(1) 了解CCS的安裝方法和設(shè)置方法 (2) 熟悉DSP集成開發(fā)環(huán)境; (3) 掌握使用CCS開發(fā)程序的步驟;,實驗1 CCS的使用與匯編語言程序設(shè)計入門,2) 實驗內(nèi)容 (1) 安裝和設(shè)置CCS; (2) 熟悉DSP集成開發(fā)環(huán)境;掌握基本的操作; (3)設(shè)計一匯編程序,實現(xiàn)2個數(shù)相加,并觀察其結(jié)果。,3,3) 預(yù)備知識 (1)復(fù)習(xí)教材第六章的內(nèi)容,熟悉CCS的安裝與設(shè)置;了解常用菜單的基本作用和使用方法;了解用CCS開發(fā)程序的基本過程和步驟 (2)熟悉七種基本的數(shù)據(jù)尋址模式和常用匯編指令、偽指令的使用方法 (3)熟悉匯編源文件的格式和書寫

2、規(guī)則 (4)編寫實現(xiàn)2個數(shù)相加的源程序和連接程序,4) 實驗設(shè)備 Windows 98或以上PC機操作系統(tǒng)、CCS集成開發(fā)環(huán)境。,4,5) 實驗步驟 (1) 安裝、設(shè)置、運行CCS軟件; (2) 用匯編語言設(shè)計一程序并輸入相應(yīng)的鏈接命令文件(.cmd文件),或輸入?yún)⒖汲绦蚣版溄用钗募?.cmd文件),使一組所給的數(shù)累加; (3) 新建一個工程; (4) 向工程添加匯編程序及鏈接命令文件(.cmd文件); (5) 編譯、鏈接工程中的所有文件,生成.out文件; (6) 裝載上述.out文件,并運行。,5,6) 實驗現(xiàn)象與結(jié)果 運行程序后, 用CCS觀察相應(yīng)的寄存器和存儲單元的變化情況,并察看結(jié)

3、果是否正確并抄下相應(yīng)寄存器和存儲單元的值作為試驗數(shù)據(jù)。,7) 思考題 修改參考程序, 實現(xiàn)所給的一組數(shù)的連乘。,6,.title ADD32 .mmregs .def start,_c_int00 .bss xhi , 2,1,1 .bss yhi , 2,1,1 .bss zhi , 2,1, 1 .data table .long 13578468H .long 1020B30AH .text _c_int00 b start nop nop start: LD #xhi ,DP STM#xhi,AR1 RPT #3 MVPDtable,*AR1+ DLDxhi , A DADDyhi ,

4、 A DSTA ,zhi END:B END .end,參考程序如下:,7,-o add32.out -m add32.map MEMORY PAGE 0:RAM: origin=1000h,length=80h PAGE 1: DARAM1: origin=0100h,length=500h SECTIONS .text :RAM PAGE 0 .data :RAM PAGE 0 .bss :DARAM1 PAGE 1 ,8,實驗2 CCS使用與數(shù)據(jù)塊傳送程序的設(shè)計,1) 實驗?zāi)康?(1) 熟悉DSP 集成開發(fā)環(huán)境; (2) 掌握TMS320C54x DSP程序空間的分配; (3) 掌握TM

5、S320C54x DSP數(shù)據(jù)空間的分配; (4) 掌握TMS320C54x DSP數(shù)據(jù)傳送指令。,9,2) 實驗內(nèi)容 設(shè)計一段匯編程序,在數(shù)據(jù)存儲器中初始化2個數(shù)組,并將其中的一個數(shù)組復(fù)制到數(shù)據(jù)存儲器的另一位置,將另一個數(shù)組復(fù)制到程序存儲器的某一位置。并上機調(diào)試,觀察其存放情況。,10,(1) 數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送,MVDK Smem,dmad MVKD dmad,Smem MVDD Xmem,Ymem,3) 預(yù)備知識 C54x有10條數(shù)據(jù)傳送指令,共分為四類:,11,(2) 數(shù)據(jù)存儲器與MMR之間的數(shù)據(jù)傳送,MVDM dmad,MMR MVMD MMR,dmad MVMM MMRx,MM

6、Ry,(3) 程序存儲器和數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送,MVPD pmad,Smem MVDP Smem,pmad READA Smem WRITA Smem,12,4) 實驗設(shè)備 Windows 98或以上PC機操作系統(tǒng)、CCS集成開發(fā)環(huán)境。,5) 實驗步驟 (1) 運行CCS軟件; (2) 用匯編語言設(shè)計一程序并輸入相應(yīng)的鏈接命令文件(.cmd文件),分別保存;或輸入?yún)⒖汲绦蚣跋鄳?yīng)的鏈接命令文件(.cmd文件); (3) 新建一個工程;,13,(4) 向工程添加匯編程序及鏈接命令文件(.cmd文件);(5) 編譯、鏈接工程中的所有文件,生成.out文件; (6) 裝載上述.out文件,并運行。

7、,6) 實驗現(xiàn)象與結(jié)果 運行程序后, 用CCS觀察相應(yīng)的存儲單元的變化情況,并察看結(jié)果是否正確并抄下存儲單元的值作為試驗數(shù)據(jù)。,14,參考程序如下:,.mmregs .def _c_int00 .data TBL: .word0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1 7,18,19 .word 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 PROM:.usect PROM,20 .bss a,20 .bss x,20 .bss y,20 DATA:.usectDATA,20 .text,15,_c_int00 b s

8、tart nop nop start: STM #a,AR1;a20=0,1,2,3,4,5,6,7,8,9,10, ;11,12,13,14,15,16,17,18,19 RPT #39 ;x20=1,1,1,1,1,1,1,1,1,1 MVPD TBL,*AR1+ ;1,1,1,1,1,1,1,1,1,1 STM #x,AR2;將數(shù)據(jù)存儲器中的數(shù)組x20復(fù)制到數(shù)組y20 STM #y,AR3 RPT #19 MVDD *AR2+,*AR3+,16,STM #a,AR1;將數(shù)據(jù)存儲器中的a20寫入到程序存儲器PROM LD #PROM,A STM #19,AR3 LOOPP: WRITA *

9、AR1+ ADD #1,A,A BANZ LOOPP,*AR3- LD #PROM-1,A ;讀程序存儲器PROM中20個數(shù)據(jù)存入DATA STM#DATA,AR1 ST #19,BRC RPTB LOOP2 ADD #1,A,A LOOP2: READA *AR1+ ;該指令為單字指令 WAIT: NOP B WAIT,17,-o mymove.out -m mymove.map MEMORY PAGE 0: RAM: origin=1000h,length=800h RAM1: origin=2000h,length=300h PAGE 1: DARAM1: origin=0100h,le

10、ngth=100h DARAM2: origin=0200h,length=100h ,18,實驗3 加、減、乘運算程序的設(shè)計,1) 實驗?zāi)康?(1) 熟悉DSP 集成開發(fā)環(huán)境; (2)掌握TMS320C54x DSP加、減、乘指令的用法; (3)學(xué)會使用斷點調(diào)試程序。,19,2) 實驗內(nèi)容 設(shè)計一段匯編程序,實現(xiàn):z1=x1+y1、z2x1-y1、 z3=x1y1、z4=x2y2。并上機調(diào)試,觀察其存放情 況和結(jié)果。 3) 預(yù)備知識 復(fù)習(xí)16位定點加法和定點減法有關(guān)的知識,掌握相關(guān) 的指令的用法;復(fù)習(xí)16位定點整數(shù)乘法和Q15小數(shù)乘法和 其它Q格式小數(shù)的乘法有關(guān)的知識,掌握相關(guān)指令的用 法。

11、,20,4) 實驗設(shè)備 Windows 98或以上PC機操作系統(tǒng)、CCS集成開發(fā)環(huán)境。,5) 實驗步驟 (1) 運行CCS軟件; (2) 用匯編語言設(shè)計一程序并輸入相應(yīng)的鏈接命令文件(.cmd文件),分別保存;或輸入?yún)⒖汲绦蚣跋鄳?yīng)的鏈接命令文件(.cmd文件); (3) 新建一個工程;,21,(4) 向工程添加匯編程序及鏈接命令文件(.cmd文件);(5) 編譯、鏈接工程中的所有文件,生成.out文件; (6) 裝載上述.out文件,并運行。,6) 實驗現(xiàn)象與結(jié)果 運行程序后, 得到試驗數(shù)據(jù)如下:,22,參考程序:,.title suanshu.asm.mmregs .def start,_c

12、_int00 .bss x1,1.bss x2,1 .bss y1,1.bss y2,1 .bss z1,1.bss z2,1.bss z3_h,1.bss z3_l,1.bss z4,1 v1.set 014H ; 20-x1 v2 .set 036H ; 54 -y1 v3.set 04000H ; 0.5(fraction)-x2 v4.set 00b548H ; -0.5837(fraction)-y2,23,_c_int00b start nopnop start: LD #x1 , DP ST #v1 , x1 ST #v2 , y1; * * * * * * * * * * te

13、st ADD * * * * * * * * * * * *LDx1 , A ; load x1 - A ADDy1 , A ; A + y1 - A STL A , z1 ; save A(low 16 bits) -z1NOP; * * * * * * * * * * test SUB* * * * * * * * * * * *LDx1 , ASUB y1 , ASTLA,z2NOP,24,; * * * * * * * * * * test MPY (integer)* * * * * * * * * * * * RSBX FRCT ; 準(zhǔn)備整數(shù)乘法 LD x1 , T ; x1 -

14、T MPY y1 ,A ; x1*y1 - A (result is 32 bit) STH A , z3_h ; 乘法結(jié)果高16位在 z3_h單元中 STLA , z3_l ; 乘法結(jié)果低16位在z3_l單元中 NOP ST #v3 , x2 ST #v4 , y2 ; * * * * * * * * * * test MPY (fraction) * * * * * * * * * * * * * ; * * * * * * * 0.5*(-0.58374)=-0.29187(0 x0daa4) * * * * * * * * SSBX FRCT ; 準(zhǔn)備小數(shù)乘法 LD x2 , 16 ,

15、A ; load x2 into A (high 16 bits) MPYA y2 ; x2*y2 - B, and y2 - T STHB , z4 ; 結(jié)果在 z4 單元中 nop end: B end,25,實驗4 除法運算程序的設(shè)計,1) 實驗?zāi)康?(1) 熟悉DSP 集成開發(fā)環(huán)境; (2)掌握TMS320C54x DSP除法指令的用法; (3)學(xué)會查看寄存器的值和利用CCS修改寄存器的值。,26,2) 實驗內(nèi)容 設(shè)計一段匯編程序,先實現(xiàn)被除數(shù)的絕對值小于除數(shù)的絕對值的兩個數(shù)相除,然后修改程序,再實現(xiàn)被除數(shù)的絕對值大于除數(shù)的絕對值的兩個數(shù)相除。并上機調(diào)試,觀察其結(jié)果。,27,3) 預(yù)備

16、知識,條件減法指令: SUBC Smem, src 功能:(src)-(Smem)15ALU輸出端 若ALU輸出0,則(ALU輸出)1+1src 否則(src)1src,重復(fù)指令: RPT #K 功能:RC=#K,重復(fù)執(zhí)行下條指令K+1次。,28,4) 實驗設(shè)備 Windows 98或以上PC機操作系統(tǒng)、CCS集成開發(fā)環(huán)境。,5) 實驗步驟 (1) 運行CCS軟件; (2) 用匯編語言設(shè)計一程序并輸入相應(yīng)的鏈接命令文件(.cmd文件),分別保存;或輸入?yún)⒖汲绦蚣跋鄳?yīng)的鏈接命令文件(.cmd文件); (3) 新建一個工程;,29,(4) 向工程添加匯編程序及鏈接命令文件(.cmd文件);(5)

17、編譯、鏈接工程中的所有文件,生成.out文件; (6) 裝載上述.out文件,并運行。,6) 實驗現(xiàn)象與結(jié)果 運行程序后, 得到試驗數(shù)據(jù)如下:,參考程序:見書例7-6,30,實驗5 長字運算程序的設(shè)計,1) 實驗?zāi)康?(1) 熟悉DSP 集成開發(fā)環(huán)境; (2)掌握TMS320C54x DSP長字指令的用法; (3)掌握長操作數(shù)偶地址尋址法和奇地址尋址法。,2) 實驗內(nèi)容 設(shè)計一段匯編程序,實現(xiàn)W64=X64+Y64-Z64的程序。并上機調(diào)試,觀察其結(jié)果。,31,長字指令: DLD Lmem,dst DST src,Lmem DADD Lmem,src,dst DSUB Lmem,src,dst

18、 DRSUB Lmem,src,dst,;dst=Lmem 單周期 ;Lmem=src 雙周期 ;dst=src+Lmem 單周期 ;dst=src-Lmem 單周期 ;dst=Lmem-src 單周期,C54x可以利用32位長操作數(shù)進行長字運算。,3) 預(yù)備知識,32,運算過程:,W64:,X64:,w3 w2 w1 w0,x3 x2 x1 x0,+,s1 s0,C,s3 s2,S64:,S64=s3s2s1s0,s1s0=w1w0+x1x0,s3s2=w3w2+x3x2+C,Y64:,y3 y2 y1 y0,-,z1 z0,C,z3 z2,Z64:,Z64=z3z2z1z0,z1z0=s1

19、s0-y1y0,z3z2=s3s2-y3y2- C,33,4) 實驗設(shè)備 Windows 98或以上PC機操作系統(tǒng)、CCS集成開發(fā)環(huán)境。,5) 實驗步驟 (1) 運行CCS軟件; (2) 用匯編語言設(shè)計一程序并輸入相應(yīng)的鏈接命令文件(.cmd文件),分別保存;或輸入?yún)⒖汲绦蚣跋鄳?yīng)的鏈接命令文件(.cmd文件); (3) 新建一個工程;,34,(4) 向工程添加匯編程序及鏈接命令文件(.cmd文件);(5) 編譯、鏈接工程中的所有文件,生成.out文件; (6) 裝載上述.out文件,并運行。,6) 實驗現(xiàn)象與結(jié)果 運行程序后, 得到試驗數(shù)據(jù)如下:,參考程序:見書例7-9,35,實驗6 并行運算程序的設(shè)計,1) 實驗?zāi)康?(1) 熟悉DSP 集成開發(fā)環(huán)境; (2)掌握TMS320C54x DSP并行指令的用法; (3)掌握(ASM-16)移位方式的處理方法。,2) 實驗內(nèi)容 利用并行指令設(shè)計一段匯編程序,實現(xiàn)Z=X+Y和F=D+E的程序。并上機調(diào)試,觀察其結(jié)果。,36

溫馨提示

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

最新文檔

評論

0/150

提交評論