dsp学习ti c64x中断向量表的配置_第1页
dsp学习ti c64x中断向量表的配置_第2页
dsp学习ti c64x中断向量表的配置_第3页
dsp学习ti c64x中断向量表的配置_第4页
dsp学习ti c64x中断向量表的配置_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TI C64X DSP 中断向量表的配置(硬件中断)(转)2009-03-03 19:151. 编写中断服务例程在.c 源文件中编写 ISR 函数 c_XX,用于中断处理,如:errupt void c_XX (void);注:对于硬件中断而言,XX = 0015。2初始化中断向量表,并在内存段中的中断向量表中配置好对应的中断向量首先是把中断向量表定位到某一内存段中,可以在cmd 文件中配置中断向量表的内存,如:MEMORYVECTORS:=00000000h,len=00000400hL2SRAM:len =00000400h,00100000hSDRAM:len=80000000h,=10

2、000000hSECTIONS.vecs:VECTORS.data:L2SRAM.text:L2SRAM.switch:L2SRAM.stack:L2SRAM.bss:L2SRAM.cinit:L2SRAM.far:L2SRAM.cio:L2SRAM.const:L2SRAM.sysmem:SDRAM.tables:L2SRAM然后建立一个.asm 文件,用以配置中断向量表中的中断向量,需要一些全局变量,以便其他源文件可以这些变量或者其他源文件的变量,如:.global _vectors.global _c_00.global _vector1.global_vector2.global_ve

3、ctor3.global_vector4.global_vector5.global_vector6.global_vector7.global_c_08;对应 main()函数的 c_08 中断服务例程(假设处理的是 EDMA 中断).global_vector9.global_vector10.global_vector11.global_vector12.global_vector13.global_vector14.global_vector15因为了 rts 的_c_00 中断,即 RESET 中断,因此需要引入这个符号:.ref_c_00为了把中断服务例程的地址,即中断向量宏:到中

4、断向量表中,可以定义一个VEC_ENTRY .macro addrSTWB0,*-B15MVKLaddr,B0MVKHaddr,B0BB0LDW*B15+,B0NOP2NOPNOP.endm为了初始化中断向量表中的中断向量,可以定义一个虚拟的中断向量:_vec_dummy:BB3NOP5接下来就可以配置中断向量表了:.sect “.vecs”.align 1024_vectors:_vector0:断VEC_ENTRY_c_00;RESET 中_vector1:VEC_ENTRY_vec_dummy;NMI 不可中断_vector2:VEC_ENTRY_vec_dummy;保留中断 1_vec

5、tor3:VEC_ENTRY_vec_dummy;保留中断 2_vector4:VEC_ENTRY_vec_dummy;外部中断4_vector5:VEC_ENTRY_vec_dummy;外部中断5_vector6:VEC_ENTRY_vec_dummy;外部中断6_vector7:VEC_ENTRY_vec_dummy;外部中断7_vector8:应于 c_VEC_ENTRY_c_08 ; EDMA 控制器中断 EDMA,对08ISR_vector9:VEC_ENTRY _vec_dummy;JTAGRTDX 中断_vector10:VEC_ENTRY_vec_dummy;EMIF_SDRA

6、M_Timer 中断_vector11:VEC_ENTRY_vec_dummy;McBSP_0_Receive 中断_vector12:VEC_ENTRY_vec_dummy;McBSP_1_Transmit 中断_vector13:VEC_ENTRY_vec_dummy;Host_Port_Host_to_DSP 中断_vector14:VEC_ENTRY _vec_dummy;Timer0 中断_vector15:VEC_ENTRY _vec_dummy;Timer1 中断3. 在C 程序中指定定义的中断向量表,并且启用 CPU 中断功能在C 程序中,用 CSL 的 IRQ 模块来设置中断比较方便,在设置之前,需要外部上面的 asm 程序的中断向量表符号:extern far void vectors();/之所以为 vectors,因为 C 编译器编译后自动改名其为_vectors了中断向量表之后,就可以设置中断了:IRQ_setVecs(vectors); /指向 asm 中定义的中断向量表IRQ_nmiEnable();IRQ_globalEnable();IRQ_map(IRQ_EVT_EDM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论