📄 isr_table.asm
字号:
/* ************************************************************************************ */
/* */
/* ADSP-21161 INTERRUPT VECTOR TABLE */
/* */
/* For use with the 21161 EZ-Kit-LITE */
/* */
/* J.T. */
/* ADI DSP Central Applications Engineering */
/* 10/3/00 */
/* ************************************************************************************ */
.EXTERN _main;
.EXTERN Init_DSP;
.EXTERN Count_SPORT1_RX_IRQs;
.EXTERN Count_SPORT3_TX_IRQs;
.EXTERN Process_AD1836_Audio_Samples;
.EXTERN change_filter_coeffs;
.segment /dm dm_data;
/* SPORT TX ISR counter, for debug purposes */
.VAR SPORT2_TXDMA_counter = 0;
.endseg;
.SEGMENT/PM isr_tbl; /* 21161 Interrupt Service Table */
/* 0x00 Reserved Interrupt */
/* 0x00 0x01 0x02 0x03 */
/* NOP; NOP; NOP; NOP; */ // Reserved interrupt
// Vector for RESET:
/* 0x04 - reset vector starts at location 0x40005 */
RSTI_scv: /* IDLE; */ // Implicit IDLE instruction for boot kernel cleanup
call Init_DSP;
NOP;
jump _main;
/* 0x08 - Vector address for illegal input condition detected */
IICD_svc: RTI;
RTI;
RTI;
RTI;
/* 0x0C - Vector address for status stack/loop stack overflow or PC stack full: */
SOVFI_svc: RTI;
RTI;
RTI;
RTI;
// 0x10 - Vector address for high priority timer interrupt:
TMZHI_svc: RTI;
RTI;
RTI;
RTI;
// 0x14 - Vector address for Vector Interrupt:
VIRPTI_svc: RTI;
RTI;
RTI;
RTI;
// 0x18 - Vector address for Hardware Interrupt 2 (IRQ2):
IRQ2I_svc: JUMP change_filter_coeffs;
RTI;
RTI;
RTI;
// 0x1C - Vector address for Hardware Interrupt 1 (IRQ1):
IRQ1I_svc: JUMP change_filter_coeffs;
RTI;
RTI;
RTI;
// 0x20 - Vector address for Hardware Interrupt 0 (IRQ0):
IRQ0I_svc: JUMP change_filter_coeffs;
RTI;
RTI;
RTI;
/* 0x24 - Reserved interrupt */
reserved_0x24: NOP;NOP;NOP;NOP; // Reserved interrupt
// Vectors for Serial port DMA channels:
/* 0x28 - Vector address for serial port 0 primary A, secondary B RX/TX buffers (DMA Channels 0 & 1) */
SP0I_svc: JUMP Process_AD1836_Audio_Samples;
RTI;
RTI;
RTI;
/* 0x2C - Vector address for serial port 1 primary A, secondary B RX/TX buffers (DMA Channel 2 & 3) */
SP1I_svc: JUMP Count_SPORT1_RX_IRQs;
RTI;
RTI;
RTI;
/* 0x30 - Vector address for serial port 2 primary A, secondary B RX/TX buffers (DMA Channel 4 & 5) */
SP2I_svc: r0=dm(SPORT2_TXDMA_counter); /* get last count */
RTI(db);
r0=r0+1; /* increment count */
dm(SPORT2_TXDMA_counter)=r0; /* save updated count */
/* 0x34 - Vector address for serial port 3 primary A, secondary B RX/TX buffers (DMA Channel 6 & 7) */
SP3I_svc: JUMP Count_SPORT3_TX_IRQs;
RTI;
RTI;
RTI;
// Vectors for link port DMA channels:
/* 0x38 - Vector address for Link Buffer 0 (DMA Channel 8) */
LP0I_svc: RTI;
RTI;
RTI;
RTI;
/* 0x3C - Vector address for Link Buffer 1 (DMA Channel 9) */
LP1I_svc: RTI;
RTI;
RTI;
RTI;
/* 0x40 - Vector address for SPI Receive (DMA Channel 8) */
SPIRI_svc: RTI;
RTI;
RTI;
RTI;
/* 0x44 - Vector address for SPI Receive (DMA Channel 9) */
SPITI_svc: RTI;
RTI;
RTI;
RTI;
/* 0x48 - Reserved Interrupt */
reserved_0x48: RTI; RTI; RTI; RTI;
/* 0x4C - Reserved Interrupt */
reserved_0x4C: RTI; RTI; RTI; RTI;
// Vectors for External port DMA channels:
/* 0x50 - Vector address for External Port Buffer 0 (DMA Channel 10) */
EP0I_svc: RTI;
RTI;
RTI;
RTI;
/* 0x54 - Vector address for External Port Buffer 0 (DMA Channel 11) */
EP1I_svc: RTI;
RTI;
RTI;
RTI;
/* 0x58 - Vector address for External Port Buffer 0 (DMA Channel 12) */
EP2I_svc: RTI;
RTI;
RTI;
RTI;
/* 0x5C - Vector address for External Port Buffer 0 (DMA Channel 13) */
EP3I_svc: RTI;
RTI;
RTI;
RTI;
// 0x60 - Vector address for Link service request:
LSRQI_svc: RTI;
RTI;
RTI;
RTI;
// 0x64 - Vector address for DAG1 buffer 7 circular buffer overflow:
CB7I_svc: RTI;
RTI;
RTI;
RTI;
// 0x68 - Vector address for DAG2 buffer 15 circular buffer overflow:
CB15I_svc: RTI;
RTI;
RTI;
RTI;
// 0x6C - Vector address for lower priority timer interrupt:
TMZLI_svc: RTI;
RTI;
RTI;
RTI;
// 0x70 - Vector address for fixed-point overflow interrupt:
FIXI_svc: RTI;
RTI;
RTI;
RTI;
// 0x74 - Vector address for floating-point overflow exception interrupt:
FLTOI_svc: RTI;
RTI;
RTI;
RTI;
// 0x78 - Vector address for floating-point underflow exception interrupt:
FLTUI_svc: RTI;
RTI;
RTI;
RTI;
// 0x7C - Vector address for floating-point invalid exception interrupt:
FLTII_svc: RTI;
RTI;
RTI;
RTI;
// 0x80 - Vector address for user software interrupt 0:
SFT0I_svc: RTI;
RTI;
RTI;
RTI;
// 0x84 - Vector address for user software interrupt 1:
SFT1I_svc: RTI;
RTI;
RTI;
RTI;
// 0x88 - Vector address for user software interrupt 2:
SFT2I_svc: RTI;
RTI;
RTI;
RTI;
// 0x8C - Vector address for user software interrupt 3:
SFT3I_svc: RTI;
RTI;
RTI;
RTI;
/* 0x90 - Reserved Interrupt */
reserved_0x90: RTI; RTI; RTI; RTI;
.ENDSEG;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -