⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at91intrctl.h

📁 包含makefile config.h rominit romstart userinit 等等文件
💻 H
字号:

#ifndef _AT91_AIC_DEFINE_HEADER
#define _AT91_AIC_DEFINE_HEADER


#define	AIC_BASE_ADDR	0xFFFFF000
#define	AIC_IDCR_OFFSET	0x124	
#define	AIC_INT_NUM_LEVELS	32	
#define	AT91_SRAM_START_ADDR	0x200000
	
	
#ifndef	_ASMLANGUAGE
	typedef	struct _AIC_S
	{
		AT91_REG AIC_SMR[AIC_INT_NUM_LEVELS];	/*Source Mode Register 0*/  
		AT91_REG AIC_SVR[AIC_INT_NUM_LEVELS];	/*Source Vector	Register 0*/
		AT91_REG AIC_IVR;		/*Interrupt Vector Register*/	  
		AT91_REG AIC_FVR;		/*Fast Interrupt Vector	Register*/
		AT91_REG AIC_ISR;		/*Interrupt Status Register*/	  
		AT91_REG AIC_IPR;		/*Interrupt Pending Register*/	  
		AT91_REG AIC_IMR;		/*Interrupt Mask Register*/	  
		AT91_REG AIC_CISR;		/*Core Interrupt Status	Register*/
		AT91_REG resv0;
		AT91_REG resv1;
		AT91_REG AIC_IECR;		/*Interrupt Enable Command Register*/ 
		AT91_REG AIC_IDCR;		/*Interrupt Disable Command Register*/
		AT91_REG AIC_ICCR;		/*Interrupt Clear Command Register*/  
		AT91_REG AIC_ISCR;		/*Interrupt Set	Command	Register*/    
		AT91_REG AIC_EOICR;		/*End of Interrupt Command Register*/ 
		AT91_REG AIC_SPU;		/*Spurious Interrupt Vector Register*/
		AT91_REG AIC_DCR;		/*Debug	Control	Register*/	      
		AT91_REG resv2;
		AT91_REG AIC_FFER;		/*Fast Forcing Enable Register*/			
		AT91_REG AIC_FFDR;		/*Fast Forcing Disable Register	AIC_FFDR Write-only */	
		AT91_REG AIC_FFSR;		/*Fast Forcing Status Register AIC_FFSR	Read-only 0x0*/	
	}AIC_S;	
	
#endif
	
	
#define	AIC_SMR_EDGETRIG	(1<<5)
#define AIC_SMR_PRIO_BIT	0

	
#define	INT_LVL_FIQ					PHER_AIC 		/*Advanced Interrupt Controller	FIQ*/
#define	INT_LVL_SYSIRQ				PHER_SYSIRQ 	
#define	INT_LVL_PIOA				PHER_PIOA 		/*Parallel I/O Controller A*/
#define	INT_LVL_PIOB				PHER_PIOB 		/*Parallel I/O Controller B*/
#define	INT_LVL_PIOC				PHER_PIOC 		/*Parallel I/O Controller C*/
#define	INT_LVL_PIOD				PHER_PIOD 		/*Parallel I/O Controller D*/
#define	INT_LVL_UART0				PHER_US0 		/* UART	0 */
#define	INT_LVL_UART1				PHER_US1 		/* UART	1 */
#define	INT_LVL_UART2				PHER_US2 		/* UART	2 */
#define	INT_LVL_UART3				PHER_US3 		/* UART	3 */
#define	INT_LVL_MULT_CARD			PHER_MCI 		/*Multimedia Card Interface*/
#define	INT_LVL_USB_DEV_PORT		PHER_UDP 		/*UDP USB Device Port*/	
#define	INT_LVL_TWO_WIRE_IF			PHER_TWI 		/*Two-wire Interface*/
#define	INT_LVL_SPI					PHER_SPI 		/*Serial Peripheral Interface*/	
#define	INT_LVL_SSC0				PHER_SSC0 		/*Synchronous Serial Controller	0*/
#define	INT_LVL_SSC1				PHER_SSC1 		/*Synchronous Serial Controller	1*/
#define	INT_LVL_SSC2				PHER_SSC2 		/*Synchronous Serial Controller	2*/
#define	INT_LVL_TC0					PHER_TC0 		/*Timer/Counter	0*/
#define	INT_LVL_TC1					PHER_TC1 		/*Timer/Counter	1*/
#define	INT_LVL_TC2					PHER_TC2 		/*Timer/Counter	2*/
#define	INT_LVL_TC3					PHER_TC3 		/*Timer/Counter	3*/
#define	INT_LVL_TC4					PHER_TC4 		/*Timer/Counter	4*/
#define	INT_LVL_TC5					PHER_TC5 		/*Timer/Counter	5*/
#define	INT_LVL_USB_HOST_PORT		PHER_UHP 		/*USB Host Port*/
#define	INT_LVL_EMAC				PHER_EMAC  		/*Ethernet MAC*/
#define	INT_LVL_EXT_IRQ0			PHER_AICIRQ0		
#define	INT_LVL_EXT_IRQ1			PHER_AICIRQ1			
#define	INT_LVL_EXT_IRQ2			PHER_AICIRQ2			
#define	INT_LVL_EXT_IRQ3			PHER_AICIRQ3			
#define	INT_LVL_EXT_IRQ4			PHER_AICIRQ4			
#define	INT_LVL_EXT_IRQ5			PHER_AICIRQ5			
#define	INT_LVL_EXT_IRQ6			PHER_AICIRQ6			
	
	
#define	INT_VEC_FIQ				IVEC_TO_INUM(INT_LVL_FIQ)			
#define	INT_VEC_SYSIRQ			IVEC_TO_INUM(INT_LVL_SYSIRQ)		
	
#define	INT_VEC_PIOA			IVEC_TO_INUM(INT_LVL_PIOA)		
#define	INT_VEC_PIOB			IVEC_TO_INUM(INT_LVL_PIOB)		
#define	INT_VEC_PIOC			IVEC_TO_INUM(INT_LVL_PIOC)		
#define	INT_VEC_PIOD			IVEC_TO_INUM(INT_LVL_PIOD)		
	
#define	INT_VEC_UART0			IVEC_TO_INUM(INT_LVL_UART0)		
#define	INT_VEC_UART1			IVEC_TO_INUM(INT_LVL_UART1)		
#define	INT_VEC_UART2			IVEC_TO_INUM(INT_LVL_UART2)		
#define	INT_VEC_UART3			IVEC_TO_INUM(INT_LVL_UART3)		
	
#define	INT_VEC_MULT_CARD		IVEC_TO_INUM(INT_LVL_MULT_CARD)	      
#define	INT_VEC_USB_DEV_PORT	IVEC_TO_INUM(INT_LVL_USB_DEV_PORT)	      
#define	INT_VEC_TWO_WIRE_IF		IVEC_TO_INUM(INT_LVL_TWO_WIRE_IF)	      
#define	INT_VEC_SPI				IVEC_TO_INUM(INT_LVL_SPI)		      
#define	INT_VEC_SSC0			IVEC_TO_INUM(INT_LVL_SSC0)		      
#define	INT_VEC_SSC1			IVEC_TO_INUM(INT_LVL_SSC1)		      
#define	INT_VEC_SSC2			IVEC_TO_INUM(INT_LVL_SSC2)		      
	
#define	INT_VEC_TC0				IVEC_TO_INUM(INT_LVL_TC0)		      
#define	INT_VEC_TC1				IVEC_TO_INUM(INT_LVL_TC1)		      
#define	INT_VEC_TC2				IVEC_TO_INUM(INT_LVL_TC2)		      
#define	INT_VEC_TC3				IVEC_TO_INUM(INT_LVL_TC3)		      
#define	INT_VEC_TC4				IVEC_TO_INUM(INT_LVL_TC4)		      
#define	INT_VEC_TC5				IVEC_TO_INUM(INT_LVL_TC5)		      
#define	INT_VEC_USB_HOST_PORT	IVEC_TO_INUM(INT_LVL_USB_HOST_PORT)	      
#define	INT_VEC_EMAC			IVEC_TO_INUM(INT_LVL_EMAC)		      
#define	INT_VEC_EXT_IRQ0		IVEC_TO_INUM(INT_LVL_EXT_IRQ0)	      
#define	INT_VEC_EXT_IRQ1		IVEC_TO_INUM(INT_LVL_EXT_IRQ1)	      
#define	INT_VEC_EXT_IRQ2		IVEC_TO_INUM(INT_LVL_EXT_IRQ2)	      
#define	INT_VEC_EXT_IRQ3		IVEC_TO_INUM(INT_LVL_EXT_IRQ3)	      
#define	INT_VEC_EXT_IRQ4		IVEC_TO_INUM(INT_LVL_EXT_IRQ4)	      
#define	INT_VEC_EXT_IRQ5		IVEC_TO_INUM(INT_LVL_EXT_IRQ5)	      
#define	INT_VEC_EXT_IRQ6		IVEC_TO_INUM(INT_LVL_EXT_IRQ6)	

#endif /*_AT91_AIC_DEFINE_HEADER*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -