




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上C28x系列DSP尋址方式詳解1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建議使用LF24xx系列替代C24x系列,LF24xx系列的價(jià)格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。 C28x系列主要用于大存儲(chǔ)設(shè)備管理,高性能的控制場(chǎng)合。 2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推薦使用VC33。C3x系列是TI浮點(diǎn)DSP的基礎(chǔ),不可能停產(chǎn),但價(jià)格不會(huì)進(jìn)一步下調(diào)。 3.TMS320C5x TMS320C5x系列已不推薦使用,建議使用C24x或C5000系列替代。 4
2、.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。其中VC54xx還不斷有新的器件出現(xiàn),如:TMS320VC5471(DSPARM7)。 C55x系列是TI的第三代DSP,功耗為VC54xx的1/6,性能為VC54xx的5倍,是一個(gè)正在發(fā)展的系列。 C5000系列是目前TI DSP的主流DSP,它涵蓋了從低檔到中高檔的應(yīng)用領(lǐng)域,目前也是用戶最多的系列。 5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的高檔DSP系列。其中C62xx系列是定點(diǎn)的DSP,系列芯片種類較豐富,是主要的應(yīng)用系列。 C67xx系列是
3、浮點(diǎn)的DSP,用于需要高速浮點(diǎn)處理的領(lǐng)域。 C64xx系列是新發(fā)展,性能是C62xx的10倍。 6.OMAP系列 是TI專門用于多媒體領(lǐng)域的芯片,它是C55ARM9,性能卓越,非常適合于手持設(shè)備、Internet終端等多媒體應(yīng)用。感謝作者總結(jié)C28x系列DSP有四種基本尋址方式: 直接尋址 16位的寄存器DP用作,固定頁(yè)指針(段指針),DP中存放當(dāng)前變量所在頁(yè)的首地址,指令中的6位或7位二進(jìn)制數(shù)給出變量的偏移量(段偏移量)。用于訪問(wèn)固定地址的數(shù)據(jù)結(jié)構(gòu),如片上外設(shè)或C/C+中的全局變量和靜態(tài)變量。 棧尋址通過(guò)使用棧指針SP訪問(wèn)變量,在C28x中棧是從低地址向高地址增長(zhǎng)的,SP始終指向下一個(gè)可用的
4、空棧單元。SP值減去指令中6位二進(jìn)制數(shù)給出的偏移量為變量地址,或者該偏移量給出分別在壓棧(或出棧)操作時(shí)SP需要后加(或先減)的量。 間接尋址 32位的輔助寄存器XAR0XAR7用作通用32位數(shù)據(jù)指針。指令可以進(jìn)行直接的后加、先減/后減,或者通過(guò)三位二進(jìn)制立即數(shù)給出對(duì)哪個(gè)寄存器操作,也可以用另外一個(gè)16位輔助寄存器內(nèi)容給出當(dāng)前用的寄存器。 寄存器尋址 直接對(duì)寄存器內(nèi)容操作,寄存器可以是操作的源或目的地。這就使得C28x架構(gòu)可以直接進(jìn)行寄存器對(duì)寄存器的操作。 DSP其它的尋址方式: 數(shù)據(jù)/程序/IO空間立即尋址 存儲(chǔ)器地址操作數(shù)直接嵌入在指令中。 程序空間間接尋址 某些指令可以使用某個(gè)間接指針來(lái)
5、訪問(wèn)程序空間。因?yàn)镃28x CPU中存儲(chǔ)器之一致的,因此這種尋址模式可以完成在同一條指令中同時(shí)讀兩個(gè)操作數(shù)的操作。 說(shuō)明:尋址模式由指令中的八位編碼給出,狀態(tài)寄存器ST1中的尋址模式選擇位AMODE給出了編譯器所使用的編碼方式。 AMODE=0 復(fù)位時(shí)默認(rèn)的尋址模式,也是C28x的C/C+編譯器使用的默認(rèn)模式。但某些尋址方式C2xLP器件不兼容,此時(shí)段偏移量由六位二進(jìn)制數(shù)給出(C2xLP器件是七位的),因此僅支持部分C2xLP器件的間接尋址方式。 AMODE=1 包含了C2xLP器件全兼容的尋址模式。此時(shí)段偏移量為七位二進(jìn)制數(shù)給出,支持C2xLP器件所有的尋址方式。 注意:(1)C28x器件和
6、C2xLP器件間接尋址指令的不同在于,C28x的指令中輔助寄存器指針是隱含的,也就是指令中標(biāo)明了對(duì)哪個(gè)寄存器操作。而在Cx2LP的指令中,對(duì)哪個(gè)寄存器操作是由3位的輔助寄存器指針ARP(在ST1中)給出的,并且可以同時(shí)給出下一條指令要使用輔助寄存器指針(第三個(gè)操作數(shù));(2)在C28x的指令中,目的操作數(shù)總是在源操作數(shù)的左邊。請(qǐng)看下例: 假如要完成這樣的操作,把XAR4所指的數(shù)據(jù)讀出加到AL中,隨后把XAR4的內(nèi)容加一,C28x的指令為:ADD AL,*XAR4+;C2xLP的指令可以為:ADD AL,*+(此時(shí)ARP=4)。而C2xLP的指令A(yù)DD AL,*+,ARP5則在完成上述操作的同時(shí)
7、,把ARP的內(nèi)容更新為5,即令A(yù)RP指向ARP5。 具體的區(qū)別請(qǐng)參見(jiàn)TI的文檔spru430d中第五章的表5-1。 操作符*和的作用:*表示取后面的變量值或寄存器的內(nèi)容作為地址,取該地址所指向的存儲(chǔ)空間的內(nèi)容作為操作數(shù)。表示直接取后面的變量值或寄存器的內(nèi)容作為操作數(shù)。 如何改變編譯器的處理模式: 編譯器總是默認(rèn)為AMODE=0,通過(guò)兩種方式改變編譯器的處理方式,一種是命令行參數(shù)法,當(dāng)使用-v28時(shí)使編譯器默認(rèn)為AMODE=0模式,當(dāng)使用-v28 -m20時(shí)默認(rèn)為AMODE=1模式。另一種是源文件中指定法,如下面的文件(假設(shè)編譯器命令行參數(shù)為-v28) ; 文件開(kāi)始 . . . SETC AMO
8、DE ; AMODE位置一 .lp_amode ; 通知編譯器檢查C27x/C28x的語(yǔ)法,該段代碼只能用AMODE=1的尋址方式 . . . CLRC AMODE ; AMODE位清零 .c28_amode ; 通知編譯器檢查C28x的語(yǔ)法,該段代碼只能用AMODE=0的尋址方式 . . . ; 文件結(jié)束 DSP指令實(shí)例: DSP直接尋址(只能尋址C28x的低4M數(shù)據(jù)地址空間): (1)6位二進(jìn)制立即數(shù)方式,適用于AMODE=0,地址高10位為0,地址次高16位為DP的低16位,地址低6位為6位二進(jìn)制立即數(shù),可尋址DP以上的0到63字的地址范圍: ; VarA和VarB在同一個(gè)長(zhǎng)度為64字的
9、分頁(yè)中,VarC和VarD同在另外一個(gè)長(zhǎng)度為64字的分頁(yè)中 MOVW DP,#VarA ; 把變量VarA所在頁(yè)的首地址載入段指針DP中 ADD AL,VarA ; 把變量VarA的內(nèi)容加到AL中 MOV VarB,AL ; 把AL的內(nèi)容寫進(jìn)變量VarB中 MOVW DP,#VarC ; SUB AL,VarC ; MOV VarD,AL ; (2)7位二進(jìn)制立即數(shù)方式,適用于AMODE=1,地址高10位為0,地址次高15位為DP的低15:1位,地址低7位為7位二進(jìn)制立即數(shù),可尋址DP以上的0到127字的地址范圍: SETC AMODE .lp_amode MOVW DP,#VarA ADD
10、AL,VarA MOV VarB,AL MOVW DP,#VarC SUB AL,VarC MOV VarD,AL 棧尋址(只能尋址C28x的低64k數(shù)據(jù)地址空間): (2) *-SP6位二進(jìn)制立即數(shù)方式,適用于AMODE=0,高16位地址為0,低16位地址為SP-6位二進(jìn)制立即數(shù),SP不變,可尋址低于SP的0到63個(gè)字地址范圍: ADD AL,*-SP5 ; 棧頂減5個(gè)字所指向的內(nèi)容(16位)加到AL中,SP不變 MOV *-SP8,AL ; AL的內(nèi)容(16位)寫到棧頂減8個(gè)字所指向的位置,SP不變 ADDL ACC,*-SP12 ; 棧頂減12個(gè)字所指向的內(nèi)容(32位)加到ACC中,SP
11、不變 MOVL *-SP34,ACC ; ACC的內(nèi)容(32位)寫到棧頂減32個(gè)字所指向的位置,SP不變 (2) *SP+方式,適用于AMODE=x,16位操作時(shí)SP=SP+1,32位操作時(shí)SP=SP+2,高16位地址為0,低16位地址為SP: MOV *SP+,AL ; AL的內(nèi)容(16位)壓入棧頂 MOVL *SP+,P ; P的內(nèi)容(32位)壓入棧頂 (3) *-SP方式,適用于AMODE=x,16位操作時(shí)SP=SP-1,32位操作時(shí)SP=SP-2,高16位地址為0,低16位地址為SP: ADD AL,*-SP ; 棧頂內(nèi)容彈出并加到AL中(16位) MOVL ACC,*-SP ; 棧頂
12、內(nèi)容彈出到ACC中(32位) C28x間接尋址: (1)*XARn+方式,適用于AMODE=x,ARP=n,32位地址為XARn,16位操作時(shí)XARn=XARn+1,32位操作時(shí)XARn=XARn+2: MOVL XAR2,#Array1 ; 載入Array1的首地址到XAR2中 MOVL XAR3,#Array2 ; 載入Array2的首地址到XAR3中 MOV AR0,#N-1 ; 載入循環(huán)計(jì)數(shù)N到AR0中 Loop: MOVL ACC,*XAR2+ ; 載入XAR2指向的內(nèi)容到ACC中,XAR2后加1 MOVL *XAR3+,ACC ; ACC的內(nèi)容寫入XAR3指向的地址,XAR3后加1
13、 BANZ Loop,AR0- ; 循環(huán)到AR0 = 0,AR0后加1 (2)*-XARn方式,適用于AMODE=x,ARP=n,32位地址為XARn,16位操作時(shí)XARn=XARn-1,32位操作時(shí)XARn=XARn-2: MOVL XAR2,#Array1+N*2 ; 載入Array1的末地址到XAR2中 MOVL XAR3,#Array2+N*2 ; 載入Array1的末地址到XAR2中 MOV AR0,#N-1 ; 載入循環(huán)計(jì)數(shù)N到AR0中 Loop: MOVL ACC,*-XAR2 ; XAR2先減1,載入XAR2所指向的內(nèi)容到ACC中 MOVL *-XAR3,ACC ; XAR3先
14、減,ACC內(nèi)容寫入XAR3所指的位置 BANZ Loop,AR0- ; 循環(huán)到 AR0 = 0, AR0后加1 (3)*+XARnAR0或(AR1)方式,適用于AMODE=x,ARP=n,32位地址為XARnAR0(或AR1),XAR0(或XAR1)的低16位作為無(wú)符號(hào)數(shù)加到XARn中,忽略高16位,可能會(huì)產(chǎn)生到XARn高16位的溢出: MOVW DP,#Array1Ptr ; 指向Array1Ptr的段 MOVL XAR2,Array1Ptr ; 載入Array1的首地址到XAR2中 MOVB XAR0,#16 ; AR0 = 16, AR0H = 0 MOVB XAR1,#68 ; AR1
15、 = 68, AR1H = 0 MOVL ACC,*+XAR2AR0 ; 把Array116和Array168內(nèi)容互換,首先載入Array116內(nèi)容到ACC MOVL P,*+XAR2AR1 ; 把Array168內(nèi)容到P MOVL *+XAR2AR1,ACC ; 寫入ACC內(nèi)容到Array168 MOVL *+XAR2AR0,P ; 寫入P內(nèi)容到Array116,完成互換 (4)*+XARn3位二進(jìn)制立即數(shù)方式,適用于AMODE=x,ARP=n,32位地址為XARn無(wú)符號(hào)3位二進(jìn)制立即數(shù),*XARn等價(jià)于*+XARn0: MOVW DP,#Array1Ptr ; 指向Array1Ptr的段
16、MOVL XAR2,Array1Ptr ; 載入Array1的首地址到XAR2 MOVL ACC,*+XAR22 ; 把Array12和Array15內(nèi)容互換,首先載入Array12內(nèi)容到ACC MOVL P,*+XAR25 ; 把Array15內(nèi)容到P MOVL *+XAR25,ACC ; 寫入ACC內(nèi)容到Array15 MOVL *+XAR22,P ; 寫入P內(nèi)容到Array12,完成互換 循環(huán)間接尋址: DSP寄存器尋址: (1)32位操作,使用寄存器ACC,XT,P,XARn,當(dāng)ACC作為目的操作數(shù)時(shí),可能會(huì)影響Z,N,V,C,OVC標(biāo)志位。 (2)16位操作,使用寄存器AL,AH,P
17、L,PH,TH,SP,ARn,當(dāng)AL或AH作為目的操作數(shù)時(shí),可能會(huì)影響Z,N,V,C,OVC標(biāo)志位。對(duì)應(yīng)的高16位或低16位不受影響。 數(shù)據(jù)/程序/IO空間立即尋址: (1) *(16位二進(jìn)制立即數(shù))方式,地址的高16位為0,低16位為16位二進(jìn)制立即數(shù)。當(dāng)該指令連續(xù)使用時(shí),每次地址都會(huì)后加。只能尋址低64k數(shù)據(jù)空間??捎弥噶睿?MOV loc16,*(0:16bit) ; loc16 = 0:16bit MOV *(0:16bit),loc16 ; loc16 = 0:16bit (2) *(PA)方式,地址的高16位為0,低16位為PA中的16位二進(jìn)制立即數(shù)。當(dāng)該指令連續(xù)使用時(shí),每次地址都
18、會(huì)后加。該模式尋址時(shí),在訪問(wèn)IO空間時(shí),IO選通信號(hào)被置位。用數(shù)據(jù)地址線訪問(wèn)IO空間??捎弥噶睿?OUT *(PA),loc16 ; IOspace0:PA = loc16 UOUT *(PA),loc16 ; IOspace0:PA = loc16 (unprotected) IN loc16,*(PA) ; loc16 = IOspace0:PA (3) 0:pma方式,22位的地址高6位為0,低16位為16位二進(jìn)制立即數(shù)pma,當(dāng)該指令連續(xù)使用時(shí),每次地址都會(huì)后加。只能尋址低64k程序空間。可用指令: MAC P,loc16,0:pma ; ACC = ACC + P <<
19、PM,P = loc16 * ProgSpace0:pma (4) *(pma)方式,22位的地址高6位為0,低16位為16位二進(jìn)制立即數(shù)pma,當(dāng)該指令連續(xù)使用時(shí),每次地址都會(huì)后加。只能尋址低64k程序空間??捎弥噶睿?XPREAD loc16,*(pma) ; loc16 = ProgSpace0x3F:pma XMAC P,loc16,*(pma) ; ACC = ACC + P << PM,P = loc16 * ProgSpace0x3F:pma XMACD P,loc16,*(pma) ; ACC = ACC + P << PM,P = loc16 * Pr
20、ogSpace0x3F:pma,loc16+1 = loc16 DSP程序空間間接尋址: (1) *(AL)方式,22位的地址高6位為0x3F,低16位為AL,當(dāng)該指令連續(xù)使用時(shí),AL的內(nèi)容被復(fù)制到一個(gè)影子寄存器中,并在每次地址后加,AL的內(nèi)容不變。只能尋址低64k程序空間??捎弥噶睿?XPREAD loc16,*AL ; loc16 = ProgSpace0x3F:AL XPWRITE *AL,loc16 ; ProgSpace0x3F:AL = loc16 (2) *XAR7方式,22位地址為XAR7,當(dāng)在指令XPREAD或XPWRITE中連續(xù)使用時(shí),XAR7的內(nèi)容被復(fù)制到一個(gè)影子寄存器中
21、,并每次地址后加,XAR7的內(nèi)容不變。其它指令則不會(huì)??捎弥噶睿?MAC P,loc16,*XAR7 ; ACC = ACC + P << PM,P = loc16 * ProgSpace*XAR7 DMAC ACC:P,loc32,*XAR7 ; ACC = (loc32.MSW * ProgSpace*XAR7.MSW) >> PM, ; P = (loc32.LSW * ProgSpace*XAR7.MSW) >> PM QMACL P,loc32,*XAR7 ; ACC = ACC + P >> PM, ; P = (loc32 * Pr
22、ogSpace*XAR7) >> 32 IMACL P,loc32,*XAR7 ; ACC = ACC + P, ; P = (loc32 * ProgSpace*XAR7) << PM PREAD loc16,*XAR7 ; loc16 = ProgSpace*XAR7 PWRITE *XAR7,loc16 ; ProgSpace*XAR7 = loc16 (2) *XAR7+方式,22位地址為XAR7, 16位操作時(shí)XAR7=XAR7+1,32位操作時(shí)XAR7=XAR7+2,指令重復(fù)時(shí),地址后加。可用指令: MAC P,loc16,*XAR7+ ; ACC = AC
23、C + P << PM,P = loc16 * ProgSpace*XAR7+ DMAC ACC:P,loc32,*XAR7+ ; ACC=(loc32.MSW * ProgSpace*XAR7+.MSW)>>PM, ; P=(loc32.LSW * ProgSpace*XAR7+.MSW)>>PM QMACL P,loc32,*XAR7+ ; ACC = ACC + P >> PM, P = (loc32 * ProgSpace*XAR7+) >> 32 IMACL P,loc32,*XAR7+ ; ACC = ACC + P, P
24、 = (loc32 * ProgSpace*XAR7+) << PM DSP字節(jié)尋址: *+XARnAR0,*+XARnAR0,*+XARn3位二進(jìn)制立即數(shù),32位地址為XARn偏移量(AR0/AR1/3位二進(jìn)制立即數(shù)),如果偏移量為偶數(shù)值,則訪問(wèn)16位存儲(chǔ)器位置的低有效位,高有效位不變;如果為奇數(shù),則訪問(wèn)16位存儲(chǔ)器位置的高有效位,低有效位不變。其它所有尋址模式,只訪問(wèn)訪問(wèn)尋址位置的低有效位,不改變高有效位??捎弥噶睿?MOVB AX.LSB,loc16 ; if( address mode = *+XARnAR0/AR1/3bit ) ; if( offset = even ) ; AX.LSB = loc16.LSB; ; AX.MSB = 0x00; ; if( offset = odd ) ; AX.LSB = loc16.MSB; ;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語(yǔ)文-福建省漳州市2025屆高三畢業(yè)班第三次教學(xué)質(zhì)量檢測(cè)(漳州三檢)試題和答案
- 《探索與發(fā)現(xiàn):三角形邊的關(guān)系》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年四年級(jí)下冊(cè)數(shù)學(xué)北師大版
- 鄉(xiāng)村公路養(yǎng)護(hù)合同范例
- 幼兒園小班角色游戲與社會(huì)認(rèn)知計(jì)劃
- 賣車正規(guī)交易合同范例
- 高中教師工作計(jì)劃
- 如何在變化中保持年度目標(biāo)的穩(wěn)定計(jì)劃
- 加強(qiáng)行業(yè)知識(shí)的學(xué)習(xí)目標(biāo)計(jì)劃
- 信貸行業(yè)月度個(gè)人工作計(jì)劃
- 社團(tuán)資源整合優(yōu)化計(jì)劃
- 化學(xué)-江蘇省鎮(zhèn)江市2024-2025學(xué)年高三下學(xué)期期初質(zhì)量監(jiān)測(cè)試題和答案
- 2025年中考語(yǔ)文一輪復(fù)習(xí):民俗類散文閱讀 講義(含練習(xí)題及答案)
- 【正版授權(quán)】 IEC 63310:2025 EN Functional performance criteria for AAL robots used in connected home environment
- 2025屆新高考政治沖刺備考復(fù)習(xí)把握高考趨勢(shì)+科學(xué)高效命題
- 最終版附件1:“跨學(xué)科主題學(xué)習(xí)”教學(xué)設(shè)計(jì)(2025年版)
- 2025年春季安全教育主題班會(huì)教育記錄
- 2024年春季學(xué)期低年級(jí)學(xué)雷鋒講奉獻(xiàn)主題班會(huì)
- 2025年度環(huán)保咨詢與評(píng)估服務(wù)合同范本模板
- 全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)試題及答案(5套)
- 外貿(mào)報(bào)關(guān)用發(fā)票、裝箱單、合同、報(bào)關(guān)單模板
- 確認(rèn)民族成分申請(qǐng)書
評(píng)論
0/150
提交評(píng)論