在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和定时器的中断同时用上,这个向量表又该如何配置呢