TI中文支持网
TI专业的中文技术问题搜集分享网站

对C6678的中断向量表很困惑

在TI工程师帮助下,试了几个官方的裸机例程,里面好些都有对应的中断函数,但看了汇编的中断向量表的配置后,很是费解,下面是从GPIO例程和TIMER例程中复制的汇编的中断向量表的配置

这是定时器的

;interrupt vector table .sect "vecs"
.align 1024
vectors:
VEC_RESET Nested_Exception_service_routine ;Nested exception VEC_ENTRY NMI_ISR ;NMI/Exception
VEC_DUMMY ;RSVD
VEC_DUMMY ;RSVD
VEC_DUMMY ;interrupt 4
VEC_DUMMY ;interrupt 5
VEC_DUMMY ;interrupt 6 VEC_DUMMY ;interrupt 7 VEC_DUMMY ;interrupt 8 VEC_DUMMY ;interrupt 9
VEC_DUMMY ;interrupt 10
VEC_DUMMY ;interrupt 11
VEC_DUMMY ;interrupt 12
VEC_DUMMY ;interrupt 13
VEC_ENTRY Timer_ISR ;interrupt 14
VEC_ENTRY Timer_ISR ;interrupt 15
.end

这是GPIO的

;interrupt vector table .sect "vecs"
.align 1024
vectors:
VEC_RESET Nested_Exception_service_routine ;Nested exception VEC_ENTRY NMI_ISR ;NMI/Exception
VEC_DUMMY ;RSVD
VEC_DUMMY ;RSVD
VEC_DUMMY ;interrupt 4
VEC_DUMMY ;interrupt 5
VEC_DUMMY ;interrupt 6 VEC_DUMMY ;interrupt 7 VEC_DUMMY ;interrupt 8 VEC_DUMMY ;interrupt 9
VEC_DUMMY ;interrupt 10
VEC_DUMMY ;interrupt 11
VEC_DUMMY ;interrupt 12
VEC_DUMMY ;interrupt 13
VEC_DUMMY ;interrupt 14
VEC_ENTRY GPIO_ISR ;interrupt 15
.end

从这两个外设的中断向量表的配置来看,GPIO的中断和TIMER那不是在同一个地方了吗,这个中断向量表的配置依据的是什么规则啊,而且在定时器的那个配置中,是两个完全同名的ISR,一个是编号14的中断,一个是编号15的中断,看的很费解,假如我要把GPIO和定时器的中断同时用上,这个向量表又该如何配置呢

Nancy Wang:

同时使用GPIO和定时器的中断,映射到不同的中断号上就可以了。timer例程对应中断事件不同。gpCGEM_regs->INTMUX3 = (CSL_GEM_TINTLN<<CSL_CGEM_INTMUX3_INTSEL14_SHIFT) |(CSL_GEM_TINT8L<<CSL_CGEM_INTMUX3_INTSEL15_SHIFT)

可以查看手册TMS320C6678 System Event Inputs。

建议仔细看一下以下链接第六章节Interrupts部分的内容。www.ti.com/…/sprugh7.pdf这个文档也看一下。processors.wiki.ti.com/…/Configuring_Interrupts_on_Keystone_Devices

user18914063:

回复 Nancy Wang:

好的,非常感谢

赞(0)
未经允许不得转载:TI中文支持网 » 对C6678的中断向量表很困惑
分享到: 更多 (0)