为什么我的emac通信主程序中加了中断地址入口的程序就运行不了了?IRQ_setVecs(vectors); //Sets the base address of the interrupt vectors 我在主函数main()中添加的一句话,哪位高手给指点一下? 以下是ves_dm642.asm的程序,我没有动: * * Copyright (C) 2003 Texas Instruments Incorporated * All Rights Reserved * * *---------vecs_edma1.asm--------- * * Assembly file to set up interrupt service table (IST) *
*------------------------------------------------------------------------------ * Global symbols defined here and exported out of this file *------------------------------------------------------------------------------ .global _vectors .global _c_int00 .global _vector1 .global _vector2 .global _vector3 .global _vector4 .global _vector5 .global _vector6 .global _vector7 .global _vector8 .global _vector9 .global _vector10 .global _vector11 ; Hookup the c_int08 ISR in main() .global _vector12 ; Hookup the c_int08 ISR in main() .global _vector13 .global _vector14 .global _vector15
*------------------------------------------------------------------------------ * Global symbols referenced in this file but defined somewhere else. * Remember that your interrupt service routines need to be referenced here. *------------------------------------------------------------------------------ .ref _c_int00
*------------------------------------------------------------------------------ * This is a 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
*------------------------------------------------------------------------------ * This is a dummy interrupt service routine used to initialize the IST. *------------------------------------------------------------------------------ _vec_dummy: B B3 NOP 5
*------------------------------------------------------------------------------ * This is the actual interrupt service table (IST). It is properly aligned and * is located in the subsection .text:vecs. This means if you don't explicitly * specify this section in your linker command file, it will default and link * into the .text section. Remember to set the ISTP register to point to this * table. *------------------------------------------------------------------------------ .sect ".text:vecs" .align 1024
_vectors: _vector0: VEC_ENTRY _c_int00 ;RESET _vector1: VEC_ENTRY _vec_dummy ;NMI _vector2: VEC_ENTRY _vec_dummy ;RSVD _vector3: VEC_ENTRY _vec_dummy _vector4: VEC_ENTRY _vec_dummy _vector5: VEC_ENTRY _vec_dummy _vector6: VEC_ENTRY _vec_dummy _vector7: VEC_ENTRY _vec_dummy _vector8: VEC_ENTRY _vec_dummy _vector9: VEC_ENTRY _vec_dummy _vector10: VEC_ENTRY _vec_dummy _vector11: VEC_ENTRY _vec_dummy ; Hookup the c_int08 ISR in main() _vector12: VEC_ENTRY _vec_dummy ; Hookup the c_int08 ISR in main() _vector13: VEC_ENTRY _vec_dummy _vector14: VEC_ENTRY _vec_dummy _vector15: VEC_ENTRY _vec_dummy
*------------------------------------------------------------------------------
相关头文件我也加了: #include <csl.h> #include <csl_emifa.h> #include <csl_irq.h>
|