想问一下工程中的中断向量表在哪里查看,还有就是怎么自己在工程中编写并加载中断向量表。
Shine:
工程中的中断向量表是你自己要编写和添加的,见下面intvecs.asm文件,是timer中断向量表例子。
;*—————————————————————————–;* Project: TIMER_interrupt_dspL138;* File: intvecs.asm;*;*—————————————————————————–;* ;* intvecs.asm;* ———–;*;* Description:;* This file includes a generic setup to map the DSP interrupt service ;* table (IST) to the corresponding interrupt service routines (ISR).;*;*—————————————————————————–
; Global symbols defined here .global _intcVectorTable .global _c_int00 .global _TIMER0_12_isr
;******************************************************************************;* VEC_ENTRY: Macro that instantiates one entry in the interrupt service table.;******************************************************************************VEC_ENTRY .macro addr STW B0,*–B15 MVKL addr,B0 MVKH addr,B0 B B0 LDW *B15++,B0 NOP 2 NOP NOP .endm
;******************************************************************************;* vec_dummy: Dummy interrupt service routine used to initialize the IST.;******************************************************************************_vec_dummy: B B3 NOP 5
;***************************************************************************************;* Map interrupt service table (IST) to corresponding interrupt service routines (ISR);*************************************************************************************** .sect ".vecs" .align 1024
_intcVectorTable:_vector0: VEC_ENTRY _c_int00 ;RESET_vector1: VEC_ENTRY _vec_dummy ;NMI_vector2: VEC_ENTRY _vec_dummy ;RSVD_vector3: VEC_ENTRY _vec_dummy ;RSVD_vector4: VEC_ENTRY _TIMER0_12_isr ;DSP Maskable INT4 : Mapped to func 'TIMER0_12_isr'_vector5: VEC_ENTRY _vec_dummy ;DSP Maskable INT5 : Empty_vector6: VEC_ENTRY _vec_dummy ;DSP Maskable INT6 : Empty_vector7: VEC_ENTRY _vec_dummy ;DSP Maskable INT7 : Empty_vector8: VEC_ENTRY _vec_dummy ;DSP Maskable INT8 : Empty_vector9: VEC_ENTRY _vec_dummy ;DSP Maskable INT9 : Empty_vector10: VEC_ENTRY _vec_dummy ;DSP Maskable INT10: Empty_vector11: VEC_ENTRY _vec_dummy ;DSP Maskable INT11: Empty_vector12: VEC_ENTRY _vec_dummy ;DSP Maskable INT12: Empty_vector13: VEC_ENTRY _vec_dummy ;DSP Maskable INT13: Empty_vector14: VEC_ENTRY _vec_dummy ;DSP Maskable INT14: Empty_vector15: VEC_ENTRY _vec_dummy ;DSP Maskable INT15: Empty
64932136:
回复 Shine:
shine你好,请问方便留一下邮箱或者什么联系方式吗?
Shine:
回复 64932136:
德仪论坛是一个很好的工程师之间交流的平台。
如果后续还有问题的话,建议发到论坛上,谢谢!
Mr.a.mike:
回复 Shine:
能解释下这段汇编是什么意思吗?
;* VEC_ENTRY: Macro that instantiates one entry in the interrupt service table. ;****************************************************************************** VEC_ENTRY .macro addr STW B0,*--B15 MVKL addr,B0 MVKH addr,B0 B B0 LDW *B15++,B0 NOP 2 NOP NOP .endm;****************************************************************************** ;* vec_dummy: Dummy interrupt service routine used to initialize the IST. ;****************************************************************************** _vec_dummy: B B3 NOP 5
Shine:
回复 Mr.a.mike:
定义一个VEC_ENTY宏,这个宏的作用是跳转到相应的地址运行。如结合下面的语句看,这条指令是跳转到_c_int00 addr执行。_vector0: VEC_ENTRY _c_int00 ;RESET
TI中文支持网
