欢迎来到天天文库
浏览记录
ID:23898216
大小:74.50 KB
页数:11页
时间:2018-11-11
《基于c语言设置tms320 dsp中断向量表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于C语言设置TMS320DSP中断向量表摘要:随着DSP芯片应用的不断深入,用C语言开发DSP芯片,不仅可以使DSP芯片的开发速度大大提高,也使得程序的修改和移植变得十分方便。C语言设置TMS320系列DSP中断向量表是高级语言开发DSP的一个具体应用。关键词:C语言,中断,中断向量表,DSP。SettingTMS320DSPInterruptVectorsTableinCAbstractAlongentofDSPchip,theexploitureofDSPinCnotonlyacceleratetheevolutionofDSP,butalsomakethe
2、programeasytomodifyandtransplant.ThisisapracticeapplicationthatsettingTMS320DSPinterruptvectorstableinC.KeyS320系列DSP为例,说明用C语言设置中断向量表的方法。并给出实例进行说明。2、中断向量表的定位中断服务程序的地址(中断向量)要装载到存储器的合适区域。一般这些向量都定位在0x0开始的程序存储器中。但有些处理器要求或者可以在其他的存储区域安装中断向量。对于微处理器模式下的TMS320C25、TMS320C26、TMS320C28、TMS320C30、T
3、MS320C31,中断向量定位于0x0开始的地址。对于微计算机/程序引导模式下的TMS320C31的中断向量定位于0x809fc1,TMS320C26的中断向量定位于0xffa0。TMS320C5X复位向量定位在0x0,其他中断向量可以定位于任何2K字的程序存储器中,中断向量表的定位是与PMST寄存器的IPTR位有关,有效的中断向量表的基地址是0x0,0x800,0x1000,0x1800,0x2000,…0xf800。TMS320C4X的复位向量定位在四个地址之一,这四个地址由外部引脚RESETLOC0和RESETLOC1决定。TMS320C4X的中断向量可存在
4、于任何512字范围的存储器中,中断向量表的地址由中断向量表指针(IVTP)寄存器决定。另外,TMS320C4X的自陷(trap)中断向量可存放在512字范围的存储器中,自陷向量表的地址由自陷向量表指针(TVTP)寄存器决定。有效的中断或者自陷向量表的基地址是0x0,0x200,0x400,0x800,0xa00,0xc00,0xe00,0x1000,0x1200…0xfffffe00,如表1所示。有两种方法可以初始化中断向量表,下面讲解这两种方法:方法一:利用已命名的ASM段生成向量表的最直接方法就是用汇编指令.sect来生成一个表。这个表包含中断向量的地址和跳转
5、指令。表1处理器向量表基地址说明TMS320C2X0x0不包括微计算机/程序引导模式下的TMS320C26TMS320C260xffa0微计算机/程序引导模式TMS320C300x0TMS320C310x0微处理器模式TMS320C310x809fc1微计算机/程序引导模式TMS320C4X复位0x0,0x7fffffff,0x80000000,0xfffffff外部引脚RESETLOC0和RESETLOC1决定中断向量任意512字范围IVTP寄存器决定自陷向量任意512字范围TVTP寄存器决定TMS320C5X复位0x0中断向量任意2K字数据页PMST寄存器的I
6、PTR位决定在微计算机/程序引导模式下TMS320C2X、TMS320C5X和TMS320C31从中断向量的位置处执行代码,因而要用跳转指令来代替中断向量,如TMS320C31用24位指令BR来实现:INT1:BR_c_int01在微处理器模式下TMS320C30、TMS320C31和TMS320C4X,中断向量是下一条存取指令的地址,因而中断服务程序的地址用汇编指令.)定义了一个包含TMS320C5X跳转指令的段。.ref_c_int0,_c_int1;在外部定义中断向量.sect“vectors”;声明一个一命名的段RS:b_c_int0;转至复位向量I1:b
7、_c_int1;转至中断向量1处理保留和未使用的区域有时中断向量表中包含保留的地址,例如微计算机/程序引导模式下的TMS320C26或者TMS320C4X和TMS320C5X的复位和中断向量不连续的情形。TMS320C31也会发生这种情形,系统中并不是所有的中断都能被用到。为了处理向量映象中的保留地址,就要使用汇编指令.space。注意对于定点设备.space保留的是位,对于浮点设备.space保留的字。例如,微计算机/程序引导模式下TMS320C26,假设所有中断都是可用的.sect“vectors”;为复位和中断向量定义已命名的段.space2
8、*16;保
此文档下载收益归作者所有