📄 isr.h
字号:
/********************************************************************/
/* */
/* Board Specific Routines for KS32C5000 */
/* */
/*------------------------------------------------------------------*/
/* Copyright (C) 1997 Integrated System Inc. */
/* Copyright (C) 1997 Samsung Electronics. */
/*------------------------------------------------------------------*/
/* */
/* Modified, programmed by qorrha */
/* */
/* Description : 1998-05-01 first edited for KS32C5000 */
/********************************************************************/
/*Bit position of IRQ_SET_REG,RST_REG,MASK_REG */
#include "stdtype.h"
#define EXT0_INT 0x000001
#define EXT1_INT 0x000002
#define EXT2_INT 0x000004
#define EXT3_INT 0x000008
#ifdef KS32C50100 /* KS32C50100 */
#define UART0_TX_INT 0x000010
#define UART0_RX_ERR_INT 0x000020
#define UART1_TX_INT 0x000040
#define UART1_RX_ERR_INT 0x000080
#define GDMA0_INT 0x000100
#define GDMA1_INT 0x000200
#define TIMER0_INT 0x000400
#define TIMER1_INT 0x000800
#define HDLCTxA_INT 0x001000
#define HDLCRxA_INT 0x002000
#define HDLCTxB_INT 0x004000
#define HDLCRxB_INT 0x008000
#else /* KS32C5000 */
#define UART0_TX_INT 0x000010
#define UART0_RX_INT 0x000020
#define UART0_ERROR_INT 0x000040
#define UART1_TX_INT 0x000080
#define UART1_RX_INT 0x000100
#define UART1_ERROR_INT 0x000200
#define GDMA0_INT 0x000400
#define GDMA1_INT 0x000800
#define TIMER0_INT 0x001000
#define TIMER1_INT 0x002000
#define HDLCA_INT 0x004000
#endif
#define BDMA_TX_INT 0x010000
#define BDMA_RX_INT 0x020000
#define MAC_TX_INT 0x040000
#define MAC_RX_INT 0x080000
#define IIC_INT 0x100000
#define GLOBAL_INT 0x200000
#define nEXT0_INT 0
#define nEXT1_INT 1
#define nEXT2_INT 2
#define nEXT3_INT 3
#ifdef KS32C50100 /* KS32C50100 */
#define nUART0_TX_INT 4
#define nUART0_RX_ERR_INT 5
#define nUART1_TX_INT 6
#define nUART1_RX_ERR_INT 7
#define nGDMA0_INT 8
#define nGDMA1_INT 9
#define nTIMER0_INT 10
#define nTIMER1_INT 11
#define nHDLCTxA_INT 12
#define nHDLCRxA_INT 13
#define nHDLCTxB_INT 14
#define nHDLCRxB_INT 15
#else /* KS32C5000 */
#define nUART0_TX_INT 4
#define nUART0_RX_INT 5
#define nUART0_ERROR_INT 6
#define nUART1_TX_INT 7
#define nUART1_RX_INT 8
#define nUART1_ERROR_INT 9
#define nGDMA0_INT 10
#define nGDMA1_INT 11
#define nTIMER0_INT 12
#define nTIMER1_INT 13
#define nHDLCA_INT 14
#define nHDLCB_INT 15
#endif
#define nBDMA_TX_INT 16
#define nBDMA_RX_INT 17
#define nMAC_TX_INT 18
#define nMAC_RX_INT 19
#define nIIC_INT 20
#define nGLOBAL_INT 21
/* Macro fucntions */
#define Enable_Int(n) *ARM_INTMASK &= ~(1<<(n))
#define Disable_Int(n) *ARM_INTMASK |= (1<<(n))
#define Clear_PendingBit(n) *ARM_INTPEND = (1<<(n))
#define SetPendingBit(n) *ARM_INTPENDTST = (1<<(n))
/*
* Prototype for interrupt functions
*/
#define MAXHNDLRS 21 /* Maximum # of interrupt handlers */
/* Function Prototype for Interrupt */
extern void InitInterrupt(void) ;
extern void ClrIntStatus(void); // Clear all interrupt related register
/* Function Prototype for Exception Vector */
extern void ISR_UndefHandler(REG32 *adr) ;
extern void ISR_PrefetchHandler(REG32 *adr) ;
extern void ISR_AbortHandler(REG32 *adr) ;
extern void ISR_SwiHandler(void) ;
extern void ISR_IrqHandler(void) ;
extern void ISR_FiqHandler(void) ;
/* Function Prototype for Interrupt Setup */
extern void SysSetInterrupt(REG32 vector, void (*)()) ;
extern void SetPriority(void);
extern void SetIntMode(void);
/* =================================================
* Monitoring the interrupt related system register
* =================================================
*/
extern void IntConfig(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -