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

📄 at91sam7s.h

📁 μITRON4.0 source code for ARM
💻 H
📖 第 1 页 / 共 3 页
字号:
/* *  MEMORY CONTROLLER (MC) */#define TADR_MC_BASE     0xFFFFFF00		/* Memory Controller BASE address */#define TOFF_MC_RCR      0x0000			/* MC Remap Control Register (W) */#define TOFF_MC_ASR      0x0004			/* MC Abort Status Register (R) */#define TOFF_MC_AASR     0x0008			/* MC Abort Address Status Register (R) */#define TOFF_MC_FMR      0x0060			/* MC Flash Mode Register(R/W) */  #define MC_FMR_FWS_0FWS        (0<<8)  #define MC_FMR_FWS_1FWS        (1<<8)  #define MC_FMR_FWS_2FWS        (2<<8)  #define MC_FMR_FWS_3FWS        (3<<8)  #define MC_FMR_FMCN_SHIFT      16#define TOFF_MC_FCR      0x0064			/* MC Flash Command Register (W) */#define TOFF_MC_FSR      0x0068			/* MC Flash Status Register (R) *//* *  TIMER COUNTER */#define TADR_TC_BASE	0xFFFA0000		/* Timer Counter BASE ADDRESS */#define TC_WINDOW       0x0040			/* Timer Counter window size */#define TOFF_TC_CCR     0x0000			/* Channel Control Register (W) */  #define TC_CLKEN              (1<<0)	/* (TC) Counter Clock Enable Command */  #define TC_CLKDIS             (1<<1)	/* (TC) Counter Clock Disable Command */  #define TC_SWTRG              (1<<2)	/* (TC) Software Trigger Command */#define TOFF_TC_CMR     0x0004			/* Channel Mode Register (R/W) */  #define TC_CLKS               0x7  #define TC_CLKS_MCK2          0x0  #define TC_CLKS_MCK8          0x1  #define TC_CLKS_MCK32         0x2  #define TC_CLKS_MCK128        0x3  #define TC_CLKS_MCK1024       0x4  #define TC_WAVESEL00          (0<<13)	/* (TC) UP mode without atomatic trigger on RC Compare */  #define TC_WAVESEL01          (1<<13)	/* (TC) UPDOWN mode without automatic trigger on RC Compare */  #define TC_WAVESEL10          (2<<13)	/* (TC) UP mode with automatic trigger on RC Compare */  #define TC_WAVESEL11          (3<<13)	/* (TC) UPDOWN mode with automatic trigger on RC Compare */#define TOFF_TC_CV      0x0010			/* Counter Value (R) */#define TOFF_TC_RA      0x0014			/* Register A (R/W) */#define TOFF_TC_RB      0x0018			/* Register B (R/W) */#define TOFF_TC_RC      0x001C			/* Register C (R/W) */#define TOFF_TC_SR      0x0020			/* Statis Register (R) */  #define TC_COVFS              (1<<0)	/* (TC) Counter Overflow */  #define TC_LOVRS              (1<<1)	/* (TC) Load Overrun */  #define TC_CPAS               (1<<2)	/* (TC) RA Compare */  #define TC_CPBS               (1<<3)	/* (TC) RB Compare */  #define TC_CPCS               (1<<4)	/* (TC) RC Compare */  #define TC_LDRAS              (1<<5)	/* (TC) RA Loading */  #define TC_LDRBS              (1<<6)	/* (TC) RB Loading */  #define TC_ETRGS              (1<<7)	/* (TC) External Trigger */  #define TC_CLKSTA             (1<<16)	/* (TC) Clock Enabling */  #define TC_MTIOA              (1<<17)	/* (TC) TIOA Mirror */  #define TC_MTIOB              (1<<18)	/* (TC) TIOA Mirror */#define TOFF_TC_IER     0x0024			/* Interrupt Enable Register (W) */#define TOFF_TC_IDR     0x0028			/* Interrupt Disable Register (W) */#define TOFF_TC_IMR     0x002C			/* Interrupt Mask Register (R) */#define TOFF_TC_BCR     0x00C0			/* TC Block Control Register (W) */#define TOFF_TC_BMR     0x00C4			/* TC Block Mode Register (R/W) *//* *  USB DEVICE PORT (UDP) */#define TADR_UDP_BASE    0xFFFB0000		/* USB Device Port BASE Address */#define TOFF_UDP_FRM_NUM  0x0000		/* Frame Number Register (R) */  #define UDP_FRM_NUM     (0x7FF)		/* Frame Number as Defined in the Packet Field Formats */  #define UDP_FRM_ERR     (1<< 16)		/* Frame Error */  #define UDP_FRM_OK      (1<< 17)		/* Frame OK */#define TOFF_UDP_GLB_STAT 0x0004		/* Global State Register (R/W) */  #define UDP_FADDEN      (1<<0)		/* Function Address Enable */  #define UDP_CONFG       (1<<1)		/* Configured */  #define UDP_ESR         (1<<2)		/* Enable Send Resume */  #define UDP_RSMINPR     (1<<3)		/* A Resume Has Been Sent to the Host */  #define UDP_RMWUPE      (1<<4)		/* Remote Wake Up Enable */#define TOFF_UDP_FADDR    0x0008		/* Function Address Register (R/W) */  #define UDP_FADD        (0xFF<<0)		/* Function Address Value */  #define UDP_FEN         (   1<<8)		/* Function Enable */#define TOFF_UDP_IER      0x0010		/* Interrupt Enable Register (W) */  #define UDP_IEPINT0     (1<<0)		/* Endpoint 0 Interrupt */  #define UDP_IEPINT1     (1<<1)		/* Endpoint 0 Interrupt */  #define UDP_IEPINT2     (1<<2)		/* Endpoint 2 Interrupt */  #define UDP_IEPINT3     (1<<3)		/* Endpoint 3 Interrupt */  #define UDP_IEPINT4     (1<<4)		/* Endpoint 4 Interrupt */  #define UDP_IEPINT5     (1<<5)		/* Endpoint 5 Interrupt */  #define UDP_IEPINT6     (1<<6)		/* Endpoint 6 Interrupt */  #define UDP_IEPINT7     (1<<7)		/* Endpoint 7 Interrupt */  #define UDP_IRXSUSP     (1<<8)		/* USB Suspend Interrupt */  #define UDP_IRXRSM      (1<<9)		/* USB Resume Interrupt */  #define UDP_IEXTRSM     (1<<10)		/* USB External Resume Interrupt */  #define UDP_ISOFINT     (1<<11)		/* USB Start Of frame Interrupt */  #define UDP_IWAKEUP     (1<<13)		/* USB Walkup Interrupt */#define TOFF_UDP_IDR      0x0014		/* Interrupt Disable Register (W) */#define TOFF_UDP_IMR      0x0018		/* Interrupt Mask Register (R) */#define TOFF_UDP_ISR      0x001C		/* Interrupt Status Register (R) */  #define UDP_ENDBUSRES   (1<<12)		/* USB End Of Bus Reset Interrupt */#define TOFF_UDP_ICR      0x0020		/* Interrupt Clear Register (W) */#define TOFF_UDP_RST_EP   0x0028		/* Reset Endpoint Register (R/W) */  #define UDP_EP0         (1<<0)		/* Reset Endpoint 0 */  #define UDP_EP1         (1<<1)		/* Reset Endpoint 1 */  #define UDP_EP2         (1<<2)		/* Reset Endpoint 2 */  #define UDP_EP3         (1<<3)		/* Reset Endpoint 3 */  #define UDP_EP4         (1<<4)		/* Reset Endpoint 4 */  #define UDP_EP5         (1<<5)		/* Reset Endpoint 5 */  #define UDP_EP6         (1<<6)		/* Reset Endpoint 6 */  #define UDP_EP7         (1<<7)		/* Reset Endpoint 7 */#define TOFF_UDP_CSR      0x0030		/* Endpoint Control Status Register (R/W) */#define TOFF_UDP_CSR0     0x0030		/* Endpoint0 Control Status Register (R/W) */#define TOFF_UDP_CSR1     0x0034		/* Endpoint1 Control Status Register (R/W) */#define TOFF_UDP_CSR2     0x0038		/* Endpoint2 Control Status Register (R/W) */#define TOFF_UDP_CSR3     0x003C		/* Endpoint3 Control Status Register (R/W) */  #define UDP_TXCOMP      (1<<0)		/* Generates an IN packet with data previously written in the DPR */  #define UDP_RX_DATA_BK0 (1<<1)		/* Receive Data Bank 0 */  #define UDP_RXSETUP     (1<<2)		/* Sends STALL to the Host (Control endpoints) */  #define UDP_ISOERROR    (1<<3)		/* Isochronous error (Isochronous endpoints) */  #define UDP_TXPKTRDY    (1<<4)		/* Transmit Packet Ready */  #define UDP_FORCESTALL  (1<<5)		/* Force Stall (used by Control, Bulk and Isochronous endpoints). */  #define UDP_RX_DATA_BK1 (1<<6)		/* Receive Data Bank 1 (only used by endpoints with ping-pong attributes). */  #define UDP_DIR         (1<<7)		/* Transfer Direction */  #define UDP_EPTYPE      (7<<8)		/* Endpoint type */  #define UDP_EPTYPE_CTRL     (0<<8)	/* Control */  #define UDP_EPTYPE_ISO_OUT  (1<<8)	/* Isochronous OUT */  #define UDP_EPTYPE_BULK_OUT (2<<8)	/* Bulk OUT */  #define UDP_EPTYPE_INT_OUT  (3<<8)	/* Interrupt OUT */  #define UDP_EPTYPE_ISO_IN   (5<<8)	/* Isochronous IN */  #define UDP_EPTYPE_BULK_IN  (6<<8)	/* Bulk IN */  #define UDP_EPTYPE_INT_IN   (7<<8)	/* Interrupt IN */  #define UDP_DTGLE       (1<<11)		/* Data Toggle */  #define UDP_EPEDS       (1<<15)		/* Endpoint Enable Disable */  #define UDP_RXBYTECNT   (0x7FF<<16)	/* Number Of Bytes Available in the FIFO */#define TOFF_UDP_FDR      0x0050		/* Endpoint FIFO Data Register (R/W) */#define TOFF_UDP_FDR0     0x0050		/* Endpoint0 FIFO Data Register (R/W) */#define TOFF_UDP_FDR1     0x0054		/* Endpoint1 FIFO Data Register (R/W) */#define TOFF_UDP_FDR2     0x0058		/* Endpoint2 FIFO Data Register (R/W) */#define TOFF_UDP_FDR3     0x005C		/* Endpoint3 FIFO Data Register (R/W) */#define TOFF_UDP_TXVC     0x0074		/* Transmitter Control Register (R/W) */  #define UDP_TXVDIS      (1<<8)		/* */  #define UDP_PUON        (1<<9)		/* Pull-up ON *//* * TWO-WIRE INTERFACE (TWI) */#define TADR_TWI_BASE    0xFFFB8000		/* Two-wire Interface BASE address */#define TOFF_TWI_CR      0x0000			/* Control Register (W) */#define TOFF_TWI_MMR     0x0004			/* Master Mode Register (R/W) */#define TOFF_TWI_IADR    0x000C			/* Internal Address Register (R/W) */#define TOFF_TWI_CWGR    0x0010			/* Clock Wavefrom Generator Register (R/W) */#define TOFF_TWI_SR      0x0020			/* Status Register (R) */#define TOFF_TWI_IER     0x0024			/* Interrupt Enable Register (W) */#define TOFF_TWI_IDR     0x0028			/* Interrupt Disable Register (W) */#define TOFF_TWI_IMR     0x002C			/* Interrupt Mask Register (R) */#define TOFF_TWI_RHR     0x0030			/* Receive Holding Register (R) */#define TOFF_TWI_THR     0x0034			/* Transmit Holding Register (R/W) *//* *  UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER(USART) */#define TADR_US_BASE    0xFFFC0000		/* USART BASE address */#define US_WINDOW       0x4000			/* USART Window size */#define TOFF_US_CR      0x0000			/* Control Register (W) */  #define US_RSTRX      0x0004			/* Reset Receiver */  #define US_RSTTX      0x0008			/* Reset Transmitter */  #define US_RXEN       0x0010			/* Receiver Enable */  #define US_RXDIS      0x0020			/* Receiver Disable */  #define US_TXEN       0x0040			/* Transmitter Enable */  #define US_TXDIS      0x0080			/* Transmitter Disable */  #define US_RSTSTA     0x0100			/* Reset Status Bits */  #define US_STTBRK     0x0200			/* Start Break */  #define US_STPBRK     0x0400			/* Stop Break */  #define US_STTTO      0x0800			/* Start Time-out */  #define US_SENDA      0x1000			/* Send Address */#define TOFF_US_MR      0x0004			/* Mode Register (R/W) */  #define US_CLKS       0x0030			/* Clock Selection */  #define US_CLKS_MCK        0x0000		/* Master Clock */  #define US_CLKS_MCK8       0x0010		/* Master Clock divided by 8 */  #define US_CLKS_SCK        0x0020		/* External Clock */  #define US_CLKS_SLCK       0x0030		/* Slow Clock */  #define US_CHRL       0x00C0			/* Byte Length */  #define US_CHRL_5          0x0000		/* 5 bits */  #define US_CHRL_6          0x0040		/* 6 bits */  #define US_CHRL_7          0x0080		/* 7 bits */  #define US_CHRL_8          0x00C0		/* 8 bits */  #define US_PAR        0x0E00			/* Parity Mode */  #define US_PAR_EVEN         0x0000	/* Even Parity */  #define US_PAR_ODD          0x0200	/* Odd Parity */  #define US_PAR_SPACE        0x0400	/* Space Parity to 0 */  #define US_PAR_MARK         0x0600	/* Marked Parity to 1 */  #define US_PAR_NO           0x0800	/* No Parity */  #define US_PAR_MULTIDROP    0x0C00	/* Multi-drop Mode */  #define US_NBSTOP     0x3000			/* Stop Bit Number */  #define US_NBSTOP_1         0x0000	/* 1 Stop Bit */  #define US_NBSTOP_1_5       0x1000	/* 1.5 Stop Bits */  #define US_NBSTOP_2         0x2000	/* 2 Stop Bits */  #define US_CHMODE     0xC000			/* Channel Mode */  #define US_CHMODE_NORMAL          0x0000	/* Normal Mode */  #define US_CHMODE_AUTOMATIC_ECHO  0x4000  /* Automatic Echo */  #define US_CHMODE_LOCAL_LOOPBACK  0x8000  /* Local Loopback */  #define US_CHMODE_REMOTE_LOOPBACK 0xC000  /* Remote Loopback */#define TOFF_US_IER     0x0008			/* Interrupt Enable Register (W) */#define TOFF_US_IDR     0x000C			/* Interrupt Disable Register (W) */#define TOFF_US_IMR     0x0010			/* Interrupt Mask Register (R) */#define TOFF_US_CSR     0x0014			/* Channel Staus Register (R) */  #define US_RXRDY      0x0001			/* Receiver Ready */  #define US_TXRDY      0x0002			/* Transmitter Ready */  #define US_RXBRK      0x0004			/* Receiver Break */  #define US_ENDRX      0x0008			/* End of Receiver PDC Transfer */  #define US_ENDTX      0x0010			/* End of Transmitter PDC Transfer */  #define US_OVRE       0x0020			/* Overrun Error */  #define US_FRAME      0x0040			/* Framing Error */  #define US_PARE       0x0080			/* Parity Error */  #define US_TIMEOUT    0x0100			/* Receiver Timeout */  #define US_TXEMPTY    0x0200			/* Transmitter Empty */#define TOFF_US_RHR     0x0018			/* Receiver Holding Register (R) */#define TOFF_US_THR     0x001C			/* Transmitter Holding Register (W) */#define TOFF_US_BRGR    0x0020			/* Baud Rate Generator Register (R/W) */#define TOFF_US_RTOR    0x0024			/* Receiver Time-out Register (R/W) */#define TOFF_US_TTGR    0x0028			/* Transmitter Timeguard Register (R/W) */#define TOFF_US_FIDI    0x0040			/* FIDI Ratio Register (R/W) */#define TOFF_US_NER     0x0044			/* Number of Errors Register (R) */#define TOFF_US_IF      0x004C			/* IrDA Filter Register (R/W) */#define TOFF_US_MAN     0x0050			/* Manchester Encoder Decoder Register (R/W) *//* *  PUSE WIDTH MODULATION CONTROLLER */#define TADR_PWM_BASE   0xFFFCC000		/* Pluse Widh Modulation Controller BASE address */#define TOFF_PWM_MR     0x0000			/* PWM Mode Register (R/W) */#define TOFF_PWM_ENA    0x0004			/* PWM Enable Register (W) */#define TOFF_PWM_DIS    0x0008			/* PWM Disable Register (W) */#define TOFF_PWM_SR     0x000C			/* PWM Status Register (R) */

⌨️ 快捷键说明

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