?? interrupt.h
字號:
/* ISR */
//#define pISR_RESET (*(unsigned *)(_ISR_STARTADDRESS+0x0))
//#define pISR_UNDEF (*(unsigned *)(_ISR_STARTADDRESS+0x4))
//#define pISR_SWI (*(unsigned *)(_ISR_STARTADDRESS+0x8))
//#define pISR_PABORT (*(unsigned *)(_ISR_STARTADDRESS+0xc))
//#define pISR_DABORT (*(unsigned *)(_ISR_STARTADDRESS+0x10))
//#define pISR_RESERVED (*(unsigned *)(_ISR_STARTADDRESS+0x14))
//#define pISR_IRQ (*(unsigned *)(_ISR_STARTADDRESS+0x18))
//#define pISR_FIQ (*(unsigned *)(_ISR_STARTADDRESS+0x1c))
#define SVRBase 0x80024010
#define pISR_PMU (*(unsigned int*)(SVRBase))
#define pISR_DMA (*(unsigned int*)(SVRBase+4))
#define pISR_LCD (*(unsigned int*)(SVRBase+4*2))
#define pISR_SOUND (*(unsigned int*)(SVRBase+4*3))
#define pISR_I2S (*(unsigned int*)(SVRBase+4*4))
#define pISR_USB (*(unsigned int*)(SVRBase+4*5))
#define pISR_MMC (*(unsigned int*)(SVRBase+4*6))
#define pISR_RTC (*(unsigned int*)(SVRBase+4*7))
#define pISR_UART0 (*(unsigned int*)(SVRBase+4*8))
#define pISR_UART1 (*(unsigned int*)(SVRBase+4*9))
#define pISR_UART2 (*(unsigned int*)(SVRBase+4*10))
#define pISR_UART3 (*(unsigned int*)(SVRBase+4*11))
#define pISR_KBD (*(unsigned int*)(SVRBase+4*12))
#define pISR_PS2 (*(unsigned int*)(SVRBase+4*13))
#define pISR_AIC (*(unsigned int*)(SVRBase+4*14))
#define pISR_TIMER0 (*(unsigned int*)(SVRBase+4*15))
#define pISR_TIMER123 (*(unsigned int*)(SVRBase+4*16))
#define pISR_WDT (*(unsigned int*)(SVRBase+4*17))
#define pISR_CAN0 (*(unsigned int*)(SVRBase+4*18))
#define pISR_CAN1 (*(unsigned int*)(SVRBase+4*19))
#define pISR_EXT0 (*(unsigned int*)(SVRBase+4*20))
#define pISR_EXT1 (*(unsigned int*)(SVRBase+4*21))
#define pISR_GPIOA (*(unsigned int*)(SVRBase+4*22))
#define pISR_GPIOB (*(unsigned int*)(SVRBase+4*23))
#define pISR_GPIOC (*(unsigned int*)(SVRBase+4*24))
#define pISR_GPIOD (*(unsigned int*)(SVRBase+4*25))
#define pISR_GPIOE (*(unsigned int*)(SVRBase+4*26))
#define pISR_COMMRX (*(unsigned int*)(SVRBase+4*27))
#define pISR_COMMTX (*(unsigned int*)(SVRBase+4*28))
#define pISR_SMC (*(unsigned int*)(SVRBase+4*29))
#define pISR_SWI (*(unsigned int*)(SVRBase+4*30))
#define UNMASK_PMU 0x1
#define UNMASK_DMA 0x2
#define UNMASK_LCD 0x4
#define UNMASK_SOUND 0x8
#define UNMASK_I2S 0x10
#define UNMASK_USB 0x20
#define UNMASK_MMC 0x40
#define UNMASK_RTC 0x80
#define UNMASK_UART0 0x100
#define UNMASK_UART1 0x200
#define UNMASK_UART2 0x400
#define UNMASK_UART3 0x800
#define UNMASK_KBD 0x1000
#define UNMASK_PS2 0x2000
#define UNMASK_AIC 0x4000
#define UNMASK_TIMER0 0x8000
#define UNMASK_TIMER123 0x10000
#define UNMASK_WDT 0x20000
#define UNMASK_CAN0 0x40000
#define UNMASK_CAN1 0x80000
#define UNMASK_EXT0 0x100000
#define UNMASK_EXT1 0x200000
#define UNMASK_GPIOA 0x400000
#define UNMASK_GPIOB 0x800000
#define UNMASK_GPIOC 0x1000000
#define UNMASK_GPIOD 0x2000000
#define UNMASK_GPIOE 0x4000000
#define UNMASK_COMMRX 0x8000000
#define UNMASK_COMMTX 0x10000000
#define UNMASK_SMC 0x20000000
#define UNMASK_SWI 0x40000000
#define N_INTR 31
#define N_IRQ N_INTR
/* Defines Interrupt Level */
/* And each level means device ID in INTC */
#define PMU_LEVEL 0 // 0x00000001
#define DMA_LEVEL 1 // 0x00000002
#define LCD_LEVEL 2 // 0x00000004
#define SOUND_LEVEL 3 // 0x00000008
#define I2S_LEVEL 4 // 0x00000010
#define USB_LEVEL 5 // 0x00000020
#define MMC_LEVEL 6 // 0x00000040
#define RTC_LEVEL 7 // 0x00000080
#define UART0_LEVEL 8 // 0x00000100
#define UART1_LEVEL 9 // 0x00000200
#define UART2_LEVEL 10// 0x00000400
#define UART3_LEVEL 11// 0x00000800
#define KBD_LEVEL 12// 0x00001000
#define PS2_LEVEL 13// 0x00002000
#define AIC_LEVEL 14// 0x00004000
#define TIMER0_LEVEL 15// 0x00008000
#define TIMERX_LEVEL 16// 0x00010000
#define WDT_LEVEL 17// 0x00020000
#define CAN0_LEVEL 18// 0x00040000
#define CAN1_LEVEL 19// 0x00080000
#define EXT0_LEVEL 20// 0x00100000
#define EXT1_LEVEL 21// 0x00200000
#define GPIOA_LEVEL 22// 0x00400000
#define GPIOB_LEVEL 23// 0x00800000
#define GPIOC_LEVEL 24// 0x01000000
#define GPIOD_LEVEL 25// 0x02000000
#define GPIOE_LEVEL 26// 0x04000000
#define COMMRX_LEVEL 27// 0x08000000
#define COMMTX_LEVEL 28// 0x10000000
//#define RESERVED 29// 0x20000000
#define SMC_LEVEL 29// 0x20000000
#define Soft_LEVEL 30// 0x40000000
//#define RESERVED 31// 0x80000000
#define NOFIQ_FLAG 31// 0x80000000
/*****************************************************************************/
/* function declear
/*****************************************************************************/
void init_int();
void EXT1();
void interrupt_test();
int unmaskInterrupt(int);
int maskInterrupt(int);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -