<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于C語言設(shè)置TMS320 DSP中斷向量表

    時間:2024-07-13 01:58:21 計算機畢業(yè)論文 我要投稿
    • 相關(guān)推薦

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

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

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

    TMS320C4X 復(fù)位 0x0,0x7fffffff,0x80000000,0xfffffff 外部引腳RESETLOC0和RESETLOC1決定
    中斷向量 任意512字范圍 IVTP寄存器決定
    自陷向量 任意512字范圍 TVTP寄存器決定
    TMS320C5X 復(fù)位 0x0
    中斷向量 任意2K字數(shù)據(jù)頁 PMST寄存器的IPTR位決定
    在微計算機/程序引導(dǎo)模式下TMS320C2X、TMS320C5X和TMS320C31 從中斷向量的位置處執(zhí)行代碼,因而要用跳轉(zhuǎn)指令來代替中斷向量,如TMS320C31用24位指令BR來實現(xiàn):
    INT1: BR _c_int01
    在微處理器模式下TMS320C30、TMS320C31和TMS320C4X,中斷向量是下一條存取指令的地址,因而中斷服務(wù)程序的地址用匯編指令.word存儲在中斷向量處。例如,TMS320C4X中斷1 可用匯編語言定義如下:
    INT1: .word _c_int01
    因為中斷服務(wù)的標識符在匯編語言模塊外部被聲明,所以標識符必須用.ref或.global來聲明。下面的例子是一個匯編語言模塊(vecs.asm)定義了一個包含TMS320C5X跳轉(zhuǎn)指令的段。
    .ref _c_int0, _c_int1 ;在外部定義中斷向量
    .sect “vectors” ;聲明一個一命名的段
    RS: b _c_int0 ;轉(zhuǎn)至復(fù)位向量
    I1: b _c_int1 ;轉(zhuǎn)至中斷向量1

    【基于C語言設(shè)置TMS320 DSP中斷向量表】相關(guān)文章:

    基于TMS320C549DSP實現(xiàn)CVSD語音編解碼03-07

    基于DSP的智能座椅系統(tǒng)的設(shè)計03-07

    基于DSP的信道譯碼算法優(yōu)化03-19

    基于DSP的語音處理系統(tǒng)的設(shè)計11-22

    基于DSP的Bluetooth嵌入式系統(tǒng)應(yīng)用03-20

    基于多核DSP的CDMA2000基帶處理03-07

    DNP3.0在基于DSP的FTU中的實現(xiàn)03-18

    基于DSP的跟蹤頻率變化的交流有樣技術(shù)12-07

    基于 DSP 的網(wǎng)絡(luò)通信程序設(shè)計03-20

    主站蜘蛛池模板: 精品日韩欧美国产| 国产精品无码久久综合| 嫩草伊人久久精品少妇AV| 国产精品视频免费一区二区| 国产精品国产亚洲精品看不卡 | 国亚洲欧美日韩精品| 国产精品无码久久综合| 中文成人无码精品久久久不卡| 国产三级精品三级在线观看专1| 国产精品久久久久9999高清| 色一乱一伦一图一区二区精品 | 亚洲欧美一级久久精品| 久久精品无码免费不卡| 国产精品亚洲二区在线观看| 777被窝午夜精品影院| 精品精品国产自在久久高清| 91精品在线看| 51视频国产精品一区二区| 精品麻豆丝袜高跟鞋AV| 日韩精品久久久久久久电影蜜臀| 伊人久久精品无码二区麻豆| 色哟哟国产精品免费观看| 青娱乐国产精品视频| 欧美成人精品第一区二区| 欧美精品黑人粗大欧| 亚洲AV永久无码精品一区二区| 四虎国产精品永久在线看| 日韩蜜芽精品视频在线观看| 少妇亚洲免费精品| 亚洲精品无码永久中文字幕| 亚洲av日韩精品久久久久久a | 亚洲精品无码久久不卡| 亚洲国产综合精品一区在线播放 | 亚洲国产精品一区二区第四页| 日批日出水久久亚洲精品tv| 亚洲国产精品自在拍在线播放| 在线观看91精品国产网站| 色一乱一伦一图一区二区精品| 久久久国产精品亚洲一区| 国产精品丝袜一区二区三区| 国产精品久久久久aaaa|