📄 isr.h
字号:
/*
* File: isr.h
*/
#ifndef __ISR_H__
#define __ISR_H__
#if !defined(__TTYPE_H__)
#include "ttype.h"
#endif
/*--------------------- Export Definitions ------------------------*/
//--------------------------------------
// Interrupt Controller
//--------------------------------------
#define ASIC_INT_MODE (*VPUINT32 (0x03FF0000UL + 0x4000))
#define ASIC_INT_PEND (*VPUINT32 (0x03FF0000UL + 0x4004))
#define ASIC_INT_MASK (*VPUINT32 (0x03FF0000UL + 0x4008))
#define ASIC_INT_PRI0 (*VPUINT32 (0x03FF0000UL + 0x400C))
#define ASIC_INT_PRI1 (*VPUINT32 (0x03FF0000UL + 0x4010))
#define ASIC_INT_PRI2 (*VPUINT32 (0x03FF0000UL + 0x4014))
#define ASIC_INT_PRI3 (*VPUINT32 (0x03FF0000UL + 0x4018))
#define ASIC_INT_PRI4 (*VPUINT32 (0x03FF0000UL + 0x401C))
#define ASIC_INT_PRI5 (*VPUINT32 (0x03FF0000UL + 0x4020))
#define ASIC_INT_OFFSET (*VPUINT32 (0x03FF0000UL + 0x4024))
//
// Bits in the ASIC_INT_PEND register
//
#define PEND_CLSALL 0x001FFFFF
//
// Interrupt vector for each device
//
#define VEC_EXT0_INT 0
#define VEC_EXT1_INT 1
#define VEC_EXT2_INT 2
#define VEC_EXT3_INT 3
#define VEC_UART0_TX_INT 4
#define VEC_UART0_RX_ERR_INT 5
#define VEC_UART1_TX_INT 6
#define VEC_UART1_RX_ERR_INT 7
#define VEC_GDMA0_INT 8
#define VEC_GDMA1_INT 9
#define VEC_TIMER0_INT 10
#define VEC_TIMER1_INT 11
#define VEC_HDLC_A_TX_INT 12
#define VEC_HDLC_A_RX_INT 13
#define VEC_HDLC_B_TX_INT 14
#define VEC_HDLC_B_RX_INT 15
#define VEC_BDMA_TX_INT 16
#define VEC_BDMA_RX_INT 17
#define VEC_MAC_TX_INT 18
#define VEC_MAC_RX_INT 19
#define VEC_I2C_INT 20
#define VEC_GLOBAL_INT 21
//
// Bits in the ASIC_INT_MASK register
//
#define MASK_EXT0_INT (0x00000001)
#define MASK_EXT1_INT (0x00000001 << VEC_EXT1_INT)
#define MASK_EXT2_INT (0x00000001 << VEC_EXT2_INT)
#define MASK_EXT3_INT (0x00000001 << VEC_EXT3_INT)
#define MASK_UART0_TX_INT (0x00000001 << VEC_UART0_TX_INT)
#define MASK_UART0_RX_ERR_INT (0x00000001 << VEC_UART0_RX_ERR_INT)
#define MASK_UART1_TX_INT (0x00000001 << VEC_UART1_TX_INT)
#define MASK_UART1_RX_ERR_INT (0x00000001 << VEC_UART1_RX_ERR_INT)
#define MASK_GDMA0_INT (0x00000001 << VEC_GDMA0_INT)
#define MASK_GDMA1_INT (0x00000001 << VEC_GDMA1_INT)
#define MASK_TIMER0_INT (0x00000001 << VEC_TIMER0_INT )
#define MASK_TIMER1_INT (0x00000001 << VEC_TIMER1_INT )
#define MASK_HDLC_A_TX_INT (0x00000001 << VEC_HDLC_A_TX_INT )
#define MASK_HDLC_A_RX_INT (0x00000001 << VEC_HDLC_A_RX_INT )
#define MASK_HDLC_B_TX_INT (0x00000001 << VEC_HDLC_B_TX_INT )
#define MASK_HDLC_B_RX_INT (0x00000001 << VEC_HDLC_B_RX_INT )
#define MASK_BDMA_TX_INT (0x00000001 << VEC_BDMA_TX_INT )
#define MASK_BDMA_RX_INT (0x00000001 << VEC_BDMA_RX_INT )
#define MASK_MAC_TX_INT (0x00000001 << VEC_MAC_TX_INT )
#define MASK_MAC_RX_INT (0x00000001 << VEC_MAC_RX_INT )
#define MASK_I2C_INT (0x00000001 << VEC_I2C_INT )
#define MASK_GLOBAL_INT (0x00000001 << VEC_GLOBAL_INT)
#define MASK_ALL 0x003FFFFF
/*--------------------- Export Types ------------------------------*/
/*--------------------- Export Macros -----------------------------*/
#define ASIC_Enable_Int(n) ASIC_INT_MASK &= ~(1<<(n))
#define ASIC_Disable_Int(n) ASIC_INT_MASK |= (1<<(n))
/*--------------------- Export Classes ----------------------------*/
/*--------------------- Export Variables --------------------------*/
extern PFN_HOOK INTR_apfnIntrHandler[];
/*--------------------- Export Functions --------------------------*/
//
// Interrupt Handler Function
//
void IISR_vDummyHandler(void);
//
// Exception Handler Function
//
void EISR_ExcptHndlr_Undef(PUINT8 pu8RegAdr);
void EISR_ExcptHndlr_Prefetch(PUINT8 pu8RegAdr);
void EISR_ExcptHndlr_Abort(PUINT8 pu8RegAdr);
void EISR_ExcptHndlr_Fiq(void);
// critical section functions
void INTR_vCriticalSectionEnter(void);
void INTR_vCriticalSectionLeave(void);
void INTR_vDisable(void);
void INTR_vInit(void);
PFN_HOOK INTR_vGetHandler(UINT8 u8Vector);
void INTR_vSetHandler(UINT8 u8Vector, PFN_HOOK pfnHandler);
void INTR_vSwitchEnable(void);
void INTR_vSwitchDisable(void);
void INTR_vSwitchDma0Enable(void);
void INTR_vSwitchDma0Disable(void);
#endif /* __ISR_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -