📄 at91sam9rl.h
字号:
#define AT91C_MATRIX_FIXED_DEFMSTR6_PDC ((unsigned int) 0x2 << 18) // (MATRIX) PDC Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR6_LCDC ((unsigned int) 0x3 << 18) // (MATRIX) LCDC Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR6_2DGC ((unsigned int) 0x4 << 18) // (MATRIX) 2DGC Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR6_ISI ((unsigned int) 0x5 << 18) // (MATRIX) ISI Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR6_DMA ((unsigned int) 0x6 << 18) // (MATRIX) DMA Controller Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR6_EMAC ((unsigned int) 0x7 << 18) // (MATRIX) EMAC Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR6_USB ((unsigned int) 0x8 << 18) // (MATRIX) USB Master is Default Master// -------- MATRIX_SCFG7 : (MATRIX Offset: 0x5c) Slave Configuration Register 7 -------- #define AT91C_MATRIX_FIXED_DEFMSTR7 ((unsigned int) 0x3 << 18) // (MATRIX) Fixed Index of Default Master#define AT91C_MATRIX_FIXED_DEFMSTR7_ARM926I ((unsigned int) 0x0 << 18) // (MATRIX) ARM926EJ-S Instruction Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR7_ARM926D ((unsigned int) 0x1 << 18) // (MATRIX) ARM926EJ-S Data Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR7_PDC ((unsigned int) 0x2 << 18) // (MATRIX) PDC Master is Default Master#define AT91C_MATRIX_FIXED_DEFMSTR7_DMA ((unsigned int) 0x6 << 18) // (MATRIX) DMA Controller Master is Default Master// -------- MATRIX_PRAS0 : (MATRIX Offset: 0x80) PRAS0 Register -------- #define AT91C_MATRIX_M0PR ((unsigned int) 0x3 << 0) // (MATRIX) ARM926EJ-S Instruction priority#define AT91C_MATRIX_M1PR ((unsigned int) 0x3 << 4) // (MATRIX) ARM926EJ-S Data priority#define AT91C_MATRIX_M2PR ((unsigned int) 0x3 << 8) // (MATRIX) PDC priority#define AT91C_MATRIX_M3PR ((unsigned int) 0x3 << 12) // (MATRIX) LCDC priority#define AT91C_MATRIX_M4PR ((unsigned int) 0x3 << 16) // (MATRIX) 2DGC priority#define AT91C_MATRIX_M5PR ((unsigned int) 0x3 << 20) // (MATRIX) ISI priority#define AT91C_MATRIX_M6PR ((unsigned int) 0x3 << 24) // (MATRIX) DMA priority#define AT91C_MATRIX_M7PR ((unsigned int) 0x3 << 28) // (MATRIX) EMAC priority// -------- MATRIX_PRBS0 : (MATRIX Offset: 0x84) PRBS0 Register -------- #define AT91C_MATRIX_M8PR ((unsigned int) 0x3 << 0) // (MATRIX) USB priority// -------- MATRIX_PRAS1 : (MATRIX Offset: 0x88) PRAS1 Register -------- // -------- MATRIX_PRBS1 : (MATRIX Offset: 0x8c) PRBS1 Register -------- // -------- MATRIX_PRAS2 : (MATRIX Offset: 0x90) PRAS2 Register -------- // -------- MATRIX_PRBS2 : (MATRIX Offset: 0x94) PRBS2 Register -------- // -------- MATRIX_PRAS3 : (MATRIX Offset: 0x98) PRAS3 Register -------- // -------- MATRIX_PRBS3 : (MATRIX Offset: 0x9c) PRBS3 Register -------- // -------- MATRIX_PRAS4 : (MATRIX Offset: 0xa0) PRAS4 Register -------- // -------- MATRIX_PRBS4 : (MATRIX Offset: 0xa4) PRBS4 Register -------- // -------- MATRIX_PRAS5 : (MATRIX Offset: 0xa8) PRAS5 Register -------- // -------- MATRIX_PRBS5 : (MATRIX Offset: 0xac) PRBS5 Register -------- // -------- MATRIX_PRAS6 : (MATRIX Offset: 0xb0) PRAS6 Register -------- // -------- MATRIX_PRBS6 : (MATRIX Offset: 0xb4) PRBS6 Register -------- // -------- MATRIX_PRAS7 : (MATRIX Offset: 0xb8) PRAS7 Register -------- // -------- MATRIX_PRBS7 : (MATRIX Offset: 0xbc) PRBS7 Register -------- // -------- MATRIX_MRCR : (MATRIX Offset: 0x100) MRCR Register -------- #define AT91C_MATRIX_RCA926I ((unsigned int) 0x1 << 0) // (MATRIX) Remap Command Bit for ARM926EJ-S Instruction#define AT91C_MATRIX_RCA926D ((unsigned int) 0x1 << 1) // (MATRIX) Remap Command Bit for ARM926EJ-S Data#define AT91C_MATRIX_RCB2 ((unsigned int) 0x1 << 2) // (MATRIX) Remap Command Bit for PDC#define AT91C_MATRIX_RCB3 ((unsigned int) 0x1 << 3) // (MATRIX) Remap Command Bit for LCD#define AT91C_MATRIX_RCB4 ((unsigned int) 0x1 << 4) // (MATRIX) Remap Command Bit for 2DGC#define AT91C_MATRIX_RCB5 ((unsigned int) 0x1 << 5) // (MATRIX) Remap Command Bit for ISI#define AT91C_MATRIX_RCB6 ((unsigned int) 0x1 << 6) // (MATRIX) Remap Command Bit for DMA#define AT91C_MATRIX_RCB7 ((unsigned int) 0x1 << 7) // (MATRIX) Remap Command Bit for EMAC#define AT91C_MATRIX_RCB8 ((unsigned int) 0x1 << 8) // (MATRIX) Remap Command Bit for USB// *****************************************************************************// SOFTWARE API DEFINITION FOR AHB CCFG Interface// *****************************************************************************typedef struct _AT91S_CCFG { AT91_REG Reserved0[1]; // AT91_REG CCFG_TCMR; // TCM configuration AT91_REG Reserved1[1]; // AT91_REG CCFG_UDPHS; // USB Device HS configuration AT91_REG CCFG_EBICSA; // EBI Chip Select Assignement Register AT91_REG Reserved2[54]; // AT91_REG CCFG_MATRIXVERSION; // Version Register} AT91S_CCFG, *AT91PS_CCFG;// -------- CCFG_TCMR : (CCFG Offset: 0x4) TCM Configuration -------- #define AT91C_CCFG_ITCM_SIZE ((unsigned int) 0xF << 0) // (CCFG) Size of ITCM enabled memory block#define AT91C_CCFG_ITCM_SIZE_0KB ((unsigned int) 0x0) // (CCFG) 0 KB (No ITCM Memory)#define AT91C_CCFG_ITCM_SIZE_16KB ((unsigned int) 0x5) // (CCFG) 16 KB#define AT91C_CCFG_ITCM_SIZE_32KB ((unsigned int) 0x6) // (CCFG) 32 KB#define AT91C_CCFG_DTCM_SIZE ((unsigned int) 0xF << 4) // (CCFG) Size of DTCM enabled memory block#define AT91C_CCFG_DTCM_SIZE_0KB ((unsigned int) 0x0 << 4) // (CCFG) 0 KB (No DTCM Memory)#define AT91C_CCFG_DTCM_SIZE_16KB ((unsigned int) 0x5 << 4) // (CCFG) 16 KB#define AT91C_CCFG_DTCM_SIZE_32KB ((unsigned int) 0x6 << 4) // (CCFG) 32 KB#define AT91C_CCFG_RM ((unsigned int) 0xF << 8) // (CCFG) Read Margin registers// -------- CCFG_UDPHS : (CCFG Offset: 0xc) USB Device HS configuration -------- #define AT91C_CCFG_DONT_USE_UTMI_LOCK ((unsigned int) 0x1 << 0) // (CCFG) #define AT91C_CCFG_DONT_USE_UTMI_LOCK_DONT_USE_LOCK ((unsigned int) 0x0) // (CCFG) // -------- CCFG_EBICSA : (CCFG Offset: 0x10) EBI Chip Select Assignement Register -------- #define AT91C_EBI_CS1A ((unsigned int) 0x1 << 1) // (CCFG) Chip Select 1 Assignment#define AT91C_EBI_CS1A_SMC ((unsigned int) 0x0 << 1) // (CCFG) Chip Select 1 is assigned to the Static Memory Controller.#define AT91C_EBI_CS1A_SDRAMC ((unsigned int) 0x1 << 1) // (CCFG) Chip Select 1 is assigned to the SDRAM Controller.#define AT91C_EBI_CS3A ((unsigned int) 0x1 << 3) // (CCFG) Chip Select 3 Assignment#define AT91C_EBI_CS3A_SMC ((unsigned int) 0x0 << 3) // (CCFG) Chip Select 3 is only assigned to the Static Memory Controller and NCS3 behaves as defined by the SMC.#define AT91C_EBI_CS3A_SM ((unsigned int) 0x1 << 3) // (CCFG) Chip Select 3 is assigned to the Static Memory Controller and the SmartMedia Logic is activated.#define AT91C_EBI_CS4A ((unsigned int) 0x1 << 4) // (CCFG) Chip Select 4 Assignment#define AT91C_EBI_CS4A_SMC ((unsigned int) 0x0 << 4) // (CCFG) Chip Select 4 is only assigned to the Static Memory Controller and NCS4 behaves as defined by the SMC.#define AT91C_EBI_CS4A_CF ((unsigned int) 0x1 << 4) // (CCFG) Chip Select 4 is assigned to the Static Memory Controller and the CompactFlash Logic (first slot) is activated.#define AT91C_EBI_CS5A ((unsigned int) 0x1 << 5) // (CCFG) Chip Select 5 Assignment#define AT91C_EBI_CS5A_SMC ((unsigned int) 0x0 << 5) // (CCFG) Chip Select 5 is only assigned to the Static Memory Controller and NCS5 behaves as defined by the SMC#define AT91C_EBI_CS5A_CF ((unsigned int) 0x1 << 5) // (CCFG) Chip Select 5 is assigned to the Static Memory Controller and the CompactFlash Logic (second slot) is activated.#define AT91C_EBI_DBPUC ((unsigned int) 0x1 << 8) // (CCFG) Data Bus Pull-up Configuration#define AT91C_EBI_SUPPLY ((unsigned int) 0x1 << 16) // (CCFG) EBI supply set to 1.8// *****************************************************************************// SOFTWARE API DEFINITION FOR Advanced Interrupt Controller// *****************************************************************************typedef struct _AT91S_AIC { AT91_REG AIC_SMR[32]; // Source Mode Register AT91_REG AIC_SVR[32]; // Source Vector Register AT91_REG AIC_IVR; // IRQ Vector Register AT91_REG AIC_FVR; // FIQ 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 Reserved0[2]; // 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 Vector Register AT91_REG AIC_DCR; // Debug Control Register (Protect) AT91_REG Reserved1[1]; // AT91_REG AIC_FFER; // Fast Forcing Enable Register AT91_REG AIC_FFDR; // Fast Forcing Disable Register AT91_REG AIC_FFSR; // Fast Forcing Status Register} AT91S_AIC, *AT91PS_AIC;// -------- AIC_SMR : (AIC Offset: 0x0) Control Register -------- #define AT91C_AIC_PRIOR ((unsigned int) 0x7 << 0) // (AIC) Priority Level#define AT91C_AIC_PRIOR_LOWEST ((unsigned int) 0x0) // (AIC) Lowest priority level#define AT91C_AIC_PRIOR_HIGHEST ((unsigned int) 0x7) // (AIC) Highest priority level#define AT91C_AIC_SRCTYPE ((unsigned int) 0x3 << 5) // (AIC) Interrupt Source Type#define AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE ((unsigned int) 0x0 << 5) // (AIC) Internal Sources Code Label Level Sensitive#define AT91C_AIC_SRCTYPE_INT_EDGE_TRIGGERED ((unsigned int) 0x1 << 5) // (AIC) Internal Sources Code Label Edge triggered#define AT91C_AIC_SRCTYPE_EXT_HIGH_LEVEL ((unsigned int) 0x2 << 5) // (AIC) External Sources Code Label High-level Sensitive#define AT91C_AIC_SRCTYPE_EXT_POSITIVE_EDGE ((unsigned int) 0x3 << 5) // (AIC) External Sources Code Label Positive Edge triggered// -------- AIC_CISR : (AIC Offset: 0x114) AIC Core Interrupt Status Register -------- #define AT91C_AIC_NFIQ ((unsigned int) 0x1 << 0) // (AIC) NFIQ Status#define AT91C_AIC_NIRQ ((unsigned int) 0x1 << 1) // (AIC) NIRQ Status// -------- AIC_DCR : (AIC Offset: 0x138) AIC Debug Control Register (Protect) -------- #define AT91C_AIC_DCR_PROT ((unsigned int) 0x1 << 0) // (AIC) Protection Mode#define AT91C_AIC_DCR_GMSK ((unsigned int) 0x1 << 1) // (AIC) General Mask// *****************************************************************************// SOFTWARE API DEFINITION FOR Peripheral DMA Controller// *****************************************************************************typedef struct _AT91S_PDC { AT91_REG PDC_RPR; // Receive Pointer Register AT91_REG PDC_RCR; // Receive Counter Register AT91_REG PDC_TPR; // Transmit Pointer Register AT91_REG PDC_TCR; // Transmit Counter Register AT91_REG PDC_RNPR; // Receive Next Pointer Register AT91_REG PDC_RNCR; // Receive Next Counter Register AT91_REG PDC_TNPR; // Transmit Next Pointer Register AT91_REG PDC_TNCR; // Transmit Next Counter Register AT91_REG PDC_PTCR; // PDC Transfer Control Register AT91_REG PDC_PTSR; // PDC Transfer Status Register} AT91S_PDC, *AT91PS_PDC;// -------- PDC_PTCR : (PDC Offset: 0x20) PDC Transfer Control Register -------- #define AT91C_PDC_RXTEN ((unsigned int) 0x1 << 0) // (PDC) Receiver Transfer Enable#define AT91C_PDC_RXTDIS ((unsigned int) 0x1 << 1) // (PDC) Receiver Transfer Disable#define AT91C_PDC_TXTEN ((unsigned int) 0x1 << 8) // (PDC) Transmitter Transfer Enable#define AT91C_PDC_TXTDIS ((unsigned int) 0x1 << 9) // (PDC) Transmitter Transfer Disable// -------- PDC_PTSR : (PDC Offset: 0x24) PDC Transfer Status Register -------- // *****************************************************************************// SOFTWARE API DEFINITION FOR Debug Unit// *****************************************************************************typedef struct _AT91S_DBGU { AT91_REG DBGU_CR; // Control Register AT91_REG DBGU_MR; // Mode Register AT91_REG DBGU_IER; // Interrupt Enable Register AT91_REG DBGU_IDR; // Interrupt Disable Register AT91_REG DBGU_IMR; // Interrupt Mask Register
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -