狠狠操网,91中文字幕在线观看,精品久久香蕉国产线看观看亚洲,亚洲haose在线观看

基于C語(yǔ)言設(shè)置TMS320 DSP中斷向量表

基于C語(yǔ)言設(shè)置TMS320 DSP中斷向量表

摘要: 隨著DSP芯片應(yīng)用的不斷深入,用C語(yǔ)言開(kāi)發(fā)DSP芯片,不僅可以使DSP芯片的開(kāi)發(fā)速度大大提高,也使得程序的修改和移植變得十分方便。C語(yǔ)言設(shè)置TMS320系列DSP中斷向量表是高級(jí)語(yǔ)言開(kāi)發(fā)DSP的一個(gè)具體應(yīng)用。

關(guān)鍵詞: C語(yǔ)言,中斷,中斷向量表,DSP。


Setting TMS320 DSP Interrupt Vectors Table in C
Abstract Along with the development of DSP chip, the exploiture of DSP in C not only accelerate the evolution of DSP ,but also make the program easy to modify and transplant. This is a practice application that setting TMS320 DSP interrupt vectors table in C.

Key Words C language, Interrupts, Interrupt vector table, DSP.

1、 引言
DSP(數(shù)字信號(hào)處理器)自二十世紀(jì)70年代末80年代初誕生以來(lái),得到了突飛猛進(jìn)的發(fā)展,在信號(hào)處理、通訊、雷達(dá)等方面應(yīng)用越來(lái)越廣泛,而且開(kāi)發(fā)手段和開(kāi)發(fā)設(shè)備也越來(lái)越多樣化。其中C語(yǔ)言在DSP開(kāi)發(fā)應(yīng)用中起著越來(lái)越重要的作用,以C語(yǔ)言編寫(xiě)的DSP應(yīng)用程序具有可讀性、可移植性,易于維護(hù)和修改。另外在DSP應(yīng)用系統(tǒng)中,中斷是完成數(shù)據(jù)傳遞、實(shí)時(shí)處理等的重要手段,因而用C語(yǔ)言完成對(duì)DSP中斷設(shè)置是DSP開(kāi)發(fā)的重要內(nèi)容。
DSP中斷的設(shè)置主要包括中斷服務(wù)程序的編寫(xiě),中斷向量表的設(shè)置,中斷寄存器的初始化等內(nèi)容。本文以TI公司TMS320系列DSP為例,說(shuō)明用C語(yǔ)言設(shè)置中斷向量表的方法。并給出實(shí)例進(jìn)行說(shuō)明。
2、 中斷向量表的定位
中斷服務(wù)程序的地址(中斷向量)要裝載到存儲(chǔ)器的合適區(qū)域。一般這些向量都定位在0x0開(kāi)始的程序存儲(chǔ)器中。但有些處理器要求或者可以在其他的存儲(chǔ)區(qū)域安裝中斷向量。
對(duì)于微處理器模式下的TMS320C25、TMS320C26、TMS320C28、TMS320C30、TMS320C31,中斷向量定位于0x0開(kāi)始的地址。對(duì)于微計(jì)算機(jī)/程序引導(dǎo)模式下的TMS320C31的中斷向量定位于0x809fc1,TMS320C26的中斷向量定位于0xffa0。TMS320C5X復(fù)位向量定位在0x0,其他中斷向量可以定位于任何2K字的程序存儲(chǔ)器中,中斷向量表的定位是與PMST寄存器的IPTR位有關(guān),有效的中斷向量表的基地址是0x0,0x800,0x1000,0x1800,0x2000,…0xf800。
TMS320C4X的復(fù)位向量定位在四個(gè)地址之一,這四個(gè)地址由外部引腳RESETLOC0和RESETLOC1決定。TMS320C4X的中斷向量可存在于任何512字范圍的存儲(chǔ)器中,中斷向量表的地址由中斷向量表指針(IVTP)寄存器決定。另外,TMS320C4X的自陷(trap)中斷向量可存放在512字范圍的存儲(chǔ)器中,自陷向量表的地址由自陷向量表指針(TVTP)寄存器決定。有效的中斷或者自陷向量表的基地址是0x0,0x200,0x400,0x800,0xa00,0xc00,0xe00,0x1000,0x1200…0xfffffe00,如表1所示。
有兩種方法可以初始化中斷向量表,下面講解這兩種方法:
方法一:利用已命名的.ASM段
生成向量表的最直接方法就是用匯編指令.sect來(lái)生成一個(gè)表。這個(gè)表包含中斷向量的地址和跳轉(zhuǎn)指令。
表1
處理器 向量表基地址 說(shuō)明
TMS320C2X 0x0 不包括微計(jì)算機(jī)/程序引導(dǎo)模式下的TMS320C26
TMS320C26 0xffa0 微計(jì)算機(jī)/程序引導(dǎo)模式
TMS320C30 0x0
TMS320C31 0x0 微處理器模式
TMS320C31 0x809fc1 微計(jì)算機(jī)/程序引導(dǎo)模式

TMS320C4X 復(fù)位 0x0,0x7fffffff,0x80000000,0xfffffff 外部引腳RESETLOC0和RESETLOC1決定
中斷向量 任意512字范圍 IVTP寄存器決定
自陷向量 任意512字范圍 TVTP寄存器決定
TMS320C5X 復(fù)位 0x0
中斷向量 任意2K字?jǐn)?shù)據(jù)頁(yè) PMST寄存器的IPTR位決定
在微計(jì)算機(jī)/程序引導(dǎo)模式下TMS320C2X、TMS320C5X和TMS320C31 從中斷向量的位置處執(zhí)行代碼,因而要用跳轉(zhuǎn)指令來(lái)代替中斷向量,如TMS320C31用24位指令BR來(lái)實(shí)現(xiàn):
INT1: BR _c_int01
在微處理器模式下TMS320C30、TMS320C31和TMS320C4X,中斷向量是下一條存取指令的地址,因而中斷服務(wù)程序的地址用匯編指令.word存儲(chǔ)在中斷向量處。例如,TMS320C4X中斷1 可用匯編語(yǔ)言定義如下:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 yyfangchan@163.com (舉報(bào)時(shí)請(qǐng)帶上具體的網(wǎng)址) 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除