📄 isr_table.asm
字号:
/* ************************************************************************************ */
/* */
/* ADSP-21065L INTERRUPT VECTOR TABLE */
/* */
/* For use with the 21065L EZ-LAB Evaluation Platform. The Interrupt Table is */
/* split into 2 sections- low and high. IRQ0 is removed, so that the UART */
/* remains functional and is not overwritten after downloading of user code */
/* */
/* (JT - 1/11/99) */
/* ************************************************************************************ */
.EXTERN Process_AD1819_Audio_Samples;
.EXTERN Process_I2S_Stereo_Data;
.EXTERN _main;
.EXTERN Init_DSP;
.GLOBAL spt1_svc;
.SEGMENT/PM isr_tbl; /* 21065L Interrupt Service Table, up to IRQ0 */
/* 0x00 Reserved Interrupt */
/* 0x00 0x01 0x02 0x03 0x04 */
/* reserved_0: NOP; NOP; NOP; NOP; NOP; */
/* *** Reset vector *** */
/* 0x05 - reset vector starts at location 0x8005 */
rst_svc: call Init_DSP;
NOP;
jump _main;
/* 0x08 - Reserved interrupt */
reserved_0x8: NOP; NOP; NOP; NOP;
/* 0x0C - Vector for status stack/loop stack overflow or PC stack full: */
sovfi_svc: RTI; RTI; RTI; RTI;
/* 0x10 - Vector for high priority timer interrupt: */
tmzhi_svc: RTI; RTI; RTI; RTI;
/* 0x14 - Vectors for external interrupts: */
vrpti_svc: RTI; RTI; RTI; RTI;
/* 0x18 - IRQ2 Interrupt Service Routine (ISR) */
irq2_svc: RTI; RTI; RTI; RTI;
/* 0x1C - IRQ1 Interrupt Service Routine (ISR) */
irq1_svc: RTI; RTI; RTI; RTI;
/* IRQ0 INTERRUPT VECTOR */
/* ---------------------------------------------------------- */
/* IRQ0 Interrupt, Used by the UART and Debug Monitor Program */
/* This is separated from rest of the Interrupt Vector Table to prevent the user
from overwriting this location, since it is used by the host monitor program
Do not use unless develping an application which requires it's use without
the host monitor program.
This vector location is written during power-on and protected from over-writing
by rewriting it after writing data to memory (so this declaration
is redundant, but a good reminder). Over-writing this vector will stop the kernel.
The user may over-write it from his/her code - but will lose the capability
to communicate over the RS-232 interface.*/
/* *** 0x20 - IRQ0 Interrupt Service Routine (ISR) , 4 locations max *** */
irq0_svc:
/* JUMP KERNEL_UART_ISR; */ RTI; RTI; RTI; RTI;
/* 0x24 - Reserved interrupt */
reserved_0x24: NOP; NOP; NOP; NOP;
/* 0x28 - Vectors for Serial Port 0 Receive A & B DMA channels 0/1 */
spr0_svc: jump Process_I2S_Stereo_Data; RTI; RTI; RTI;
/* 0x2C - Vectors for Serial Port 1 Receive A & B DMA channels 2/3 */
spr1_svc: RTI; RTI; RTI; RTI;
/* 0x30 - Vectors for Serial Port 0 Transmint A & B DMA channels 4/5 */
spt0_svc: RTI; RTI; RTI; RTI;
/* 0x34 - Vectors for Serial Port 1 Transmit A & B DMA channels 6/7 */
/* Note: In this example, the host monitor's codec routine ' JUMP KERNEL_CODEC_ISR'
is overwritten. This is ok as long as the user does not require host software
control of the codec, as in this demo */
/* Also, after codec initialization, the following instruction will be
installed at this vector for normal codec processing:
'JUMP Process_AD1819_Audio_Samples;' */
spt1_svc: RTI; RTI; RTI; RTI;
/* 0x38 - Reserved Interrupt */
reserved_0x38: RTI; RTI; RTI; RTI;
/* 0x3C - Reserved Interrupt */
reserved_0x3c: RTI; RTI; RTI; RTI;
/* 0x40 - Vector for External Port DMA channel 8 */
ep0_svc: RTI; RTI; RTI; RTI;
/* 0x44 - Vector for External Port DMA channel 9 */
ep1_svc: RTI; RTI; RTI; RTI;
/* 0x48 - Reserved Interrupt */
reserved_0x48: RTI; RTI; RTI; RTI;
/* 0x4C - Reserved Interrupt */
reserved_0x4c: RTI; RTI; RTI; RTI;
/* 0x50 - Reserved Interrupt */
reserved_0x50: RTI; RTI; RTI; RTI;
/* 0x54 - Vector for DAG1 buffer 7 circular buffer overflow */
cb7_svc: RTI; RTI; RTI; RTI;
/* 0x58 - Vector for DAG2 buffer 15 circular buffer overflow */
cb15_svc: RTI; RTI; RTI; RTI;
/* 0x5C - Vector for lower priority timer interrupt */
tmzl_svc: RTI; RTI; RTI; RTI;
/* 0x60 - Vector for fixed-point overflow */
fix_svc: RTI; RTI; RTI; RTI;
/* 0x64 - Floating-point overflow exception */
flt0_svc: RTI; RTI; RTI; RTI;
/* 0x68 - Floating-point underflow exception */
fltu_svc: RTI; RTI; RTI; RTI;
/* 0x6C - Floating-point invalid exception */
flti_svc: RTI; RTI; RTI; RTI;
/* 0x70 - User software interrupt 0 */
sft0_svc: RTI; RTI; RTI; RTI;
/* 0x74 - User software interrupt 1 */
sft1_svc: RTI; RTI; RTI; RTI;
/* 0x78 - User software interrupt 2 */
sft2_svc: RTI; RTI; RTI; RTI;
/* 0x7C - User software interrupt 3 */
/* SW interrupt 3 is used on the ADSP-21065L EZ-LAB Host Software
to give the ability to send messages from user code to the debugger.
Unless your are implementing an embedded application, we recommend
not overwriting this location so the monitor has functionality after
downloading of code.
*/
sft3_svc: /* JUMP KERNEL_SWI3_ISR; */ RTI; RTI; RTI; RTI;
.ENDSEG;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -