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

📄 at91rm9200.h

📁 ecos在9200上redboot实现
💻 H
📖 第 1 页 / 共 3 页
字号:
/*--------------------------------------------------------------------------*/#define PID00   ((unsigned int) 0x01 <<  0)   /* FIQ  */#define PID01   ((unsigned int) 0x01 <<  1)   /* SYS  */#define PID02   ((unsigned int) 0x01 <<  2)   /* PIOA */#define PID03   ((unsigned int) 0x01 <<  3)   /* PIOB */#define PID04   ((unsigned int) 0x01 <<  4)   /* PIOC */#define PID05   ((unsigned int) 0x01 <<  5)   /* PIOD */#define PID06   ((unsigned int) 0x01 <<  6)   /* US0  */#define PID07   ((unsigned int) 0x01 <<  7)   /* US1  */#define PID08   ((unsigned int) 0x01 <<  8)   /* US2  */#define PID09   ((unsigned int) 0x01 <<  9)   /* US3  */#define PID10   ((unsigned int) 0x01 << 10)   /* MCI  */#define PID11   ((unsigned int) 0x01 << 11)   /* UDP  */#define PID12   ((unsigned int) 0x01 << 12)   /* TWI  */#define PID13   ((unsigned int) 0x01 << 13)   /* SPI  */#define PID14   ((unsigned int) 0x01 << 14)   /* SSC0 */#define PID15   ((unsigned int) 0x01 << 15)   /* SSC1 */#define PID16   ((unsigned int) 0x01 << 16)   /* SSC2 */#define PID17   ((unsigned int) 0x01 << 17)   /* TC0  */#define PID18   ((unsigned int) 0x01 << 18)   /* TC1  */#define PID19   ((unsigned int) 0x01 << 19)   /* TC2  */#define PID20   ((unsigned int) 0x01 << 20)   /* TC3  */#define PID21   ((unsigned int) 0x01 << 21)   /* TC4  */#define PID22   ((unsigned int) 0x01 << 22)   /* TC5  */#define PID23   ((unsigned int) 0x01 << 23)   /* UHP  */#define PID24   ((unsigned int) 0x01 << 24)   /* EMAC */#define PID25   ((unsigned int) 0x01 << 25)   /* IRQ0 */#define PID26   ((unsigned int) 0x01 << 26)   /* IRQ1 */#define PID27   ((unsigned int) 0x01 << 27)   /* IRQ2 */#define PID28   ((unsigned int) 0x01 << 28)   /* IRQ3 */#define PID29   ((unsigned int) 0x01 << 29)   /* IRQ4 */#define PID30   ((unsigned int) 0x01 << 30)   /* IRQ5 */#define PID31   ((unsigned int) 0x01 << 31)   /* IRQ6 *//***  Base of EMAC Address and offset of each register.*/#define BASE_EMAC   (0xFFFBC000)#define EMAC_CTL    (0x00)  /* Network Control Register */#define EMAC_CFG    (0x04)  /* Network Configuration Register */#define EMAC_SR     (0x08)  /* Network Status Register */#define EMAC_TAR    (0x0C)  /* Transmit Address Register */#define EMAC_TCR    (0x10)  /* Transmit Control Register */#define EMAC_TSR    (0x14)  /* Transmit Status Register */#define EMAC_RBQP   (0x18)  /* Receive Buffer Queue Pointer */#define EMAC_RSR    (0x20)  /* Receive Status Register */#define EMAC_ISR    (0x24)  /* Interrupt Status Register */#define EMAC_IER    (0x28)  /* Interrupt Enable Register */#define EMAC_IDR    (0x2C)  /* Interrupt Disable Register */#define EMAC_MAN    (0x34)  /* PHY Maintenance Register */#define EMAC_SA1L   (0x98)  /* Specific Address 1 Low, First 4 bytes */#define EMAC_SA1H   (0x9C)  /* Specific Address 1 High, Last 2 bytes */#define EMAC_SA2L   (0xA0)  /* Specific Address 2 Low, First 4 bytes */#define EMAC_SA2H   (0xA4)  /* Specific Address 2 High, Last 2 bytes *//* EMAC_CTL */#define C_EMAC_RE   ((unsigned int) 0x1 <<  2) // (EMAC) Receive enable.#define C_EMAC_TE   ((unsigned int) 0x1 <<  3) // (EMAC) Transmit enable.#define C_EMAC_MPE  ((unsigned int) 0x1 <<  4)  // Management Port Enable#define C_EMAC_CSR  ((unsigned int) 0x1 <<  5)  // (EMAC) Clear statistics registers./* EMAC_CFG */#define C_EMAC_SPD        ((unsigned int) 0x1 <<  0) // (EMAC) Speed.#define C_EMAC_FD         ((unsigned int) 0x1 <<  1) // (EMAC) Full duplex.#define C_EMAC_BR         ((unsigned int) 0x1 <<  2) // (EMAC) Bit rate.#define C_EMAC_CAF        ((unsigned int) 0x1 <<  4) // (EMAC) Copy all frames.#define C_EMAC_NBC        ((unsigned int) 0x1 <<  5) // (EMAC) No broadcast.#define C_EMAC_MTI        ((unsigned int) 0x1 <<  6) // (EMAC) Multicast hash enable#define C_EMAC_UNI        ((unsigned int) 0x1 <<  7) // (EMAC) Unicast hash enable.#define C_EMAC_BIG        ((unsigned int) 0x1 <<  8) // (EMAC) Receive 1522 bytes.#define C_EMAC_EAE        ((unsigned int) 0x1 <<  9) // (EMAC) External address match enable.#define C_EMAC_CLK        ((unsigned int) 0x3 << 10) // (EMAC)#define 	C_EMAC_CLK_HCLK_8               ((unsigned int) 0x0 << 10) // (EMAC) HCLK divided by 8#define 	C_EMAC_CLK_HCLK_16              ((unsigned int) 0x1 << 10) // (EMAC) HCLK divided by 16#define 	C_EMAC_CLK_HCLK_32              ((unsigned int) 0x2 << 10) // (EMAC) HCLK divided by 32#define 	C_EMAC_CLK_HCLK_64              ((unsigned int) 0x3 << 10) // (EMAC) HCLK divided by 64#define C_EMAC_RTY        ((unsigned int) 0x1 << 12) // (EMAC)#define C_EMAC_RMII       ((unsigned int) 0x1 << 13) // (EMAC)/* EMAC_SR */#define C_EMAC_MDIO ((unsigned int) 0x1 <<  1)  // MDIO pin is set or not#define C_EMAC_IDLE ((unsigned int) 0x1 <<  2)  // PHY logic is idle (0) or running (1)./* EMAC_TSR */#define C_EMAC_BNQ  ((unsigned int) 0x1 <<  4) // Ethernet transmit buffer not queued.#define C_EMAC_COMP ((unsigned int) 0x1 <<  5) // Transmit complete. Set when a frame has been transmitted. Cleared by writing a one to this bit./* EMAC_ISR, EMAC_IER, EMAC_IDR */#define C_EMAC_DONE   ((unsigned int) 0x1 <<  0) // (EMAC)#define C_EMAC_RCOM   ((unsigned int) 0x1 <<  1) // (EMAC)#define C_EMAC_RBNA   ((unsigned int) 0x1 <<  2) // (EMAC)#define C_EMAC_TOVR   ((unsigned int) 0x1 <<  3) // (EMAC)#define C_EMAC_TUND   ((unsigned int) 0x1 <<  4) // (EMAC)#define C_EMAC_RTRY   ((unsigned int) 0x1 <<  5) // (EMAC)#define C_EMAC_TBRE   ((unsigned int) 0x1 <<  6) // (EMAC)#define C_EMAC_TCOM   ((unsigned int) 0x1 <<  7) // (EMAC)#define C_EMAC_TIDLE  ((unsigned int) 0x1 <<  8) // (EMAC)#define C_EMAC_LINK   ((unsigned int) 0x1 <<  9) // (EMAC)#define C_EMAC_ROVR   ((unsigned int) 0x1 << 10) // (EMAC)#define C_EMAC_HRESP  ((unsigned int) 0x1 << 11) // (EMAC)/* EMAC_RSR */#define C_EMAC_BNA    ((unsigned int) 0x1 <<  0) // Buffer not available.#define C_EMAC_REC    ((unsigned int) 0x1 <<  1) // Frame received.#define C_EMAC_OVR    ((unsigned int) 0x1 <<  2) // Ethernet transmit buffer overrun./* EMAC_MAN */#define C_EMAC_DATA ((unsigned int) 0xFFFF <<  0)#define C_EMAC_CODE ((unsigned int) 0x3 << 16)  // Must be written to 10 in accordance with IEEE standard 802.3.#define C_EMAC_CODE_802_3 ((unsigned int) 0x2 << 16)#define C_EMAC_REGA ((unsigned int) 0x1F << 18)  // Register address.#define C_EMAC_PHYA ((unsigned int) 0x1F << 23)  // PHY address.#define C_EMAC_RW   ((unsigned int) 0x3 << 28)  // Read/Write Operation.#define C_EMAC_RW_R   ((unsigned int) 0x2 << 28)  // 10 is read.#define C_EMAC_RW_W   ((unsigned int) 0x1 << 28)  // 01 is write.#define C_EMAC_HIGH ((unsigned int) 0x1 << 30)  //#define C_EMAC_LOW  ((unsigned int) 0x1 << 31)  ///***  System Timer Interface Peripheral*/#define BASE_ST     (0xFFFFFD00)#define ST_CR       (0x00)  /* Control Register */#define ST_PIMR     (0x04)  /* Period Interval Mode Register */#define ST_WDMR     (0x08)  /* Watchdog Mode Register */#define ST_RTMR     (0x0C)  /* Real-time Mode Register */#define ST_SR       (0x10)  /* Status Register */#define ST_IER      (0x14)  /* Interrupt Enable Register */#define ST_IDR      (0x18)  /* Interrupt Disable Register */#define ST_IMR      (0x1C)  /* Interrupt Mask Register */#define ST_RTAR     (0x20)  /* Real-time Alarm Register */#define ST_CRTR     (0x24)  /* Current Real-time Register *//* ST_SR, ST_IER, ST_IDR, ST_IMR */#define C_ST_PITS   ((unsigned int) 0x1 <<  0) // (ST) Period Interval Timer Interrupt#define C_ST_WDOVF  ((unsigned int) 0x1 <<  1) // (ST) Watchdog Overflow#define C_ST_RTTINC ((unsigned int) 0x1 <<  2) // (ST) Real-time Timer Increment#define C_ST_ALMS   ((unsigned int) 0x1 <<  3) // (ST) Alarm Status/***  Base of Advanced Interrupt Controller (AIC) and offset of each register.*/#define BASE_AIC    (0xFFFFF000)#define AIC_IECR    (0x120)   /* Interrupt Enable Command Register  */#define AIC_IDCR    (0x124)   /* Interrupt Disable Command Register */#define AIC_ICCR    (0x128)   /* Interrupt Clear Command Register   */#define AIC_EOICR   (0x130)   /* End of Interrupt Command Register  *//*** Base of Debug Unit (DBGU) and offset of each register.*/#define BASE_DBGU   (0xFFFFF200)#define DBGU_CR     (0x0000)  /* Control Register             */#define DBGU_MR     (0x0004)  /* Mode Register                */#define DBGU_IER    (0x0008)  /* Interrupt Enable Register    */#define DBGU_IDR    (0x000C)  /* Interrupt Disable Register   */#define DBGU_IMR    (0x0010)  /* Interrupt Mask Register      */#define DBGU_SR     (0x0014)  /* Status Register              */#define DBGU_RHR    (0x0018)  /* Receive Holding Register     */#define DBGU_THR    (0x001C)  /* Transmit Holding Register    */#define DBGU_BRGR   (0x0020)  /* Baud Rate Generator Register *//* ?? */#define DBGU_TTGR   (0x0028)  /* Transmitter Time-guard Register */#define DBGU_RPR    (0x100)   /* (PDC_RPR) Receive Pointer Register        */#define DBGU_RCR    (0x104)   /* (PDC_RCR) Receive Counter Register        */#define DBGU_TPR    (0x108)   /* (PDC_TPR) Transmit Pointer Register       */#define DBGU_TCR    (0x10C)   /* (PDC_TCR) Transmit Counter Register       */#define DBGU_RNPR   (0x110)   /* (PDC_RNPR) Receive Next Pointer Register  */#define DBGU_RNCR   (0x114)   /* (PDC_RNCR) Receive Next Counter Register  */#define DBGU_TNPR   (0x118)   /* (PDC_TNPR) Transmit Next Pointer Register */#define DBGU_TNCR   (0x11C)   /* (PDC_TNCR) Transmit Next Counter Register */#define DBGU_PTCR   (0x120)   /* (PDC_PTCR) PDC Transfer Control Register  */#define DBGU_PTSR   (0x124)   /* (PDC_PTSR) PDC Transfer Status Register   *//* DBGU_CR */#define C_US_RSTRX  ((unsigned int) 0x1 << 2)   // Reset Receiver#define C_US_RSTTX  ((unsigned int) 0x1 << 3)   // Reset Transmitter#define C_US_RXEN   ((unsigned int) 0x1 << 4)   // Receiver Enable#define C_US_RXDIS  ((unsigned int) 0x1 << 5)   // Receiver Disable#define C_US_TXEN   ((unsigned int) 0x1 << 6)   // Transmitter Enable#define C_US_TXDIS  ((unsigned int) 0x1 << 7)   // Transmitter Disable#define C_US_RSTSTA ((unsigned int) 0x1 << 8)   // Reset Status Bits/* DBGU_SR */#define C_US_RXRDY  ((unsigned int) 0x1 << 0)   // Receiver Ready#define C_US_TXRDY  ((unsigned int) 0x1 << 1)   // Transmitter Ready/* DBGU_PTCR */#define C_PDC_RXTEN   ((unsigned int) 0x1 << 0) // Receiver Transfer Enable#define C_PDC_RXTDIS  ((unsigned int) 0x1 << 1) // Receiver Transfer Disable#define C_PDC_TXTEN   ((unsigned int) 0x1 << 8) // Transmitter Transfer Enable#define C_PDC_TXTDIS  ((unsigned int) 0x1 << 9) // Transmitter Transfer Disable/***  Base of Parallel Input/Output Controller (PIO) and offset of each register.*/#define BASE_PIOA   (0xFFFFF400)#define BASE_PIOB   (0xFFFFF600)#define BASE_PIOC   (0xFFFFF800)#define BASE_PIOD   (0xFFFFFA00)#define PIO_PDR     (0x04)    /* PIO Disable Register */#define PIO_ASR     (0x70)    /* Select A Register    */#define PIO_BSR     (0x74)    /* Select B Register    */#define C_PIO_PA07  ((unsigned int) 1 <<  7)    // Pin Controlled by PA07#define C_PA7_ETXCK_EREFCK ((unsigned int) C_PIO_PA7) //  Ethernet MAC Transmit Clock/Reference Clock#define C_PA7_PCK2    ((unsigned int)  C_PIO_PA7) //  PMC Programmable Clock 2#define C_PIO_PA08  ((unsigned int) 1 <<  8)    // Pin Controlled by PA08#define C_PA8_ETXEN   ((unsigned int) C_PIO_PA8) //  Ethernet MAC Transmit Enable#define C_PA8_MCCDB   ((unsigned int) C_PIO_PA8) //  Multimedia Card B Command#define C_PIO_PA09  ((unsigned int) 1 <<  9)    // Pin Controlled by PA09#define C_PA9_ETX0    ((unsigned int) C_PIO_PA9) //  Ethernet MAC Transmit Data 0#define C_PA9_MCDB0   ((unsigned int) C_PIO_PA9) //  Multimedia Card B Data 0#define C_PIO_PA10  ((unsigned int) 1 << 10)    // Pin Controlled by PA10#define C_PA10_ETX1   ((unsigned int) C_PIO_PA10) //  Ethernet MAC Transmit Data 1#define C_PA10_MCDB1  ((unsigned int) C_PIO_PA10) //  Multimedia Card B Data 1#define C_PIO_PA11  ((unsigned int) 1 << 11)    // Pin Controlled by PA11#define C_PA11_ECRS_ECRSDV ((unsigned int) C_PIO_PA11) //  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid#define C_PA11_MCDB2  ((unsigned int) C_PIO_PA11) //  Multimedia Card B Data 2#define C_PIO_PA12  ((unsigned int) 1 << 12)    // Pin Controlled by PA12#define C_PA12_ERX0   ((unsigned int) C_PIO_PA12) //  Ethernet MAC Receive Data 0#define C_PA12_MCDB3  ((unsigned int) C_PIO_PA12) //  Multimedia Card B Data 3#define C_PIO_PA13  ((unsigned int) 1 << 13)    // Pin Controlled by PA13#define C_PA13_ERX1   ((unsigned int) C_PIO_PA13) //  Ethernet MAC Receive Data 1#define C_PA13_TCLK0  ((unsigned int) C_PIO_PA13) //  Timer Counter 0 external clock input#define C_PIO_PA14  ((unsigned int) 1 << 14)    // Pin Controlled by PA14#define C_PA14_ERXER  ((unsigned int) C_PIO_PA14) //  Ethernet MAC Receive Error#define C_PA14_TCLK1  ((unsigned int) C_PIO_PA14) //  Timer Counter 1 external clock input#define C_PIO_PA15  ((unsigned int) 1 << 15)    // Pin Controlled by PA15#define C_PA15_EMDC   ((unsigned int) C_PIO_PA15) //  Ethernet MAC Management Data Clock#define C_PA15_TCLK2  ((unsigned int) C_PIO_PA15) //  Timer Counter 2 external clock input#define C_PIO_PA16  ((unsigned int) 1 << 16)    // Pin Controlled by PA16#define C_PA16_EMDIO  ((unsigned int) C_PIO_PA16) //  Ethernet MAC Management Data Input/Output#define C_PA16_IRQ6   ((unsigned int) C_PIO_PA16) //  AIC Interrupt input 6#define C_PIO_PA30  ((unsigned int) 1 << 30)    // Pin Controlled by PA30#define C_PA30_DRXD   ((unsigned int) C_PIO_PA30) //  DBGU Debug Receive Data#define C_PA30_CTS2   (unsigned int) C_PIO_PA30) //  Usart 2 Clear To Send#define C_PIO_PA31  ((unsigned int) 1 << 31)    // Pin Controlled by PA31#define C_PA31_DTXD   ((unsigned int) C_PIO_PA31) //  DBGU Debug Transmit Data#define C_PA31_RTS2   (unsigned int) C_PIO_PA31)  //  USART 2 Ready To Send/***  Power Management Controler (PMC) and offset of each register.*/#define BASE_PMC        (0xFFFFFC00)#define PMC_PCER        (0x10)  /* Peripheral Clock Enable Register */#define PMC_CKGR_MOR    (0x20)  /* Main Oscillator Register       */#define PMC_CKGR_MCFR   (0x24)  /* Main Clock Frequency Register  */#define PMC_CKGR_PLLAR  (0x28)  /* PLL A Register                 */#define PMC_CKGR_PLLBR  (0x2C)  /* PLL B Register                 */#define PMC_MCKR        (0x30)  /* Master Clock Register          */#define PMC_IER         (0x60)  /* Interrupt Enable Register      */#define PMC_IDR         (0x64)  /* Interrupt Disable Register     */#define PMC_SR          (0x68)  /* Status Register                *//* PMC_IER, PMC_SR, PMC_SR */#define C_PMC_LOCKA ((unsigned int) 0x1 <<  1)  // (PMC) PLL A Status/Enable/Disable/Mask#endif // CYGONCE_AT91RM9200_H//-----------------------------------------------------------------------------// end of at91rm9200.h

⌨️ 快捷键说明

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