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

📄 lpc2210.h

📁 S3C2410的DM9000驱动。在优龙的开发板子上调试成功
💻 H
📖 第 1 页 / 共 2 页
字号:
/* lpc2210.h - header for lpc2210 with ARM7 core */


#ifndef __INClpc2210h
#define __INClpc2210h

#ifdef __cplusplus
extern "C" {
#endif

/* EXTERNAL MEMORY CONTROLLER (EMC) */
/* 外部总线控制器 */
#define BCFG0           (*(volatile unsigned long*)(0xFFE00000))       /* lpc22xx only */
#define BCFG1           (*(volatile unsigned long*)(0xFFE00004))       /* lpc22xx only */
#define BCFG2           (*(volatile unsigned long*)(0xFFE00008))       /* lpc22xx only */
#define BCFG3           (*(volatile unsigned long*)(0xFFE0000C))       /* lpc22xx only */

/* External Interrupts */
/* 外部中断控制寄存器 */
#define EXTINT          (*(volatile unsigned char*)(0xE01FC140))
#define EXTWAKE         (*(volatile unsigned char*)(0xE01FC144))
#define EXTMODE         (*(volatile unsigned char*)(0xE01FC148))      /* Not used for lpc210x*/
#define EXTPOLAR        (*(volatile unsigned char*)(0xE01FC14C))      /* Not used for lpc210x*/

/* SMemory mapping control. */
/* 内存remap控制寄存器 */
#define MEMMAP          (0xE01FC040)

/* Phase Locked Loop (PLL) */
/* PLL控制寄存器 */
#define PLLCON          (*(volatile unsigned char*)(0xE01FC080))
#define PLLCFG          (*(volatile unsigned char*)(0xE01FC084))
#define PLLSTAT         (*(volatile unsigned short*)(0xE01FC088))
#define PLLFEED         (*(volatile unsigned char*)(0xE01FC08C))

/* Power Control */
/* 功率控制寄存器 */
#define PCON            (0xE01FC0C0)
#define PCONP           (0xE01FC0C4)

/* VPB Divider */
/* VLSI外设总线(VPB)分频寄存器 */
#define VPBDIV          (*(volatile unsigned char*)(0xE01FC100))

/* Memory Accelerator Module (MAM) */
/* 存储器加速模块 */
#define MAMCR           (*(volatile unsigned char*)(0xE01FC000))
#define MAMTIM          (*(volatile unsigned char*)(0xE01FC004))

/* Vectored Interrupt Controller (VIC) */
/* 向量中断控制器(VIC)的特殊寄存器 */
#define VICIRQStatus    (*(volatile unsigned long*)(0xFFFFF000))
#define VICFIQStatus    (*(volatile unsigned long*)(0xFFFFF004))
#define VICRawIntr      (*(volatile unsigned long*)(0xFFFFF008))
#define VICIntSelect    (*(volatile unsigned long*)(0xFFFFF00C))
#define VICIntEnable    (*(volatile unsigned long*)(0xFFFFF010))
#define VICIntEnClr     (*(volatile unsigned long*)(0xFFFFF014))
#define VICSoftInt      (*(volatile unsigned long*)(0xFFFFF018))
#define VICSoftIntClear (*(volatile unsigned long*)(0xFFFFF01C))
#define VICProtection   (*(volatile unsigned long*)(0xFFFFF020))
#define VICVectAddr     (*(volatile unsigned long*)(0xFFFFF030))
#define VICDefVectAddr  (*(volatile unsigned long*)(0xFFFFF034))
#define VICVectAddr0    (*(volatile unsigned long*)(0xFFFFF100))
#define VICVectAddr1    (*(volatile unsigned long*)(0xFFFFF104))
#define VICVectAddr2    (*(volatile unsigned long*)(0xFFFFF108))
#define VICVectAddr3    (*(volatile unsigned long*)(0xFFFFF10C))
#define VICVectAddr4    (*(volatile unsigned long*)(0xFFFFF110))
#define VICVectAddr5    (*(volatile unsigned long*)(0xFFFFF114))
#define VICVectAddr6    (*(volatile unsigned long*)(0xFFFFF118))
#define VICVectAddr7    (*(volatile unsigned long*)(0xFFFFF11C))
#define VICVectAddr8    (*(volatile unsigned long*)(0xFFFFF120))
#define VICVectAddr9    (*(volatile unsigned long*)(0xFFFFF124))
#define VICVectAddr10   (*(volatile unsigned long*)(0xFFFFF128))
#define VICVectAddr11   (*(volatile unsigned long*)(0xFFFFF12C))
#define VICVectAddr12   (*(volatile unsigned long*)(0xFFFFF130))
#define VICVectAddr13   (*(volatile unsigned long*)(0xFFFFF134))
#define VICVectAddr14   (*(volatile unsigned long*)(0xFFFFF138))
#define VICVectAddr15   (*(volatile unsigned long*)(0xFFFFF13C))
#define VICVectCntl0    (*(volatile unsigned char*)(0xFFFFF200))
#define VICVectCntl1    (*(volatile unsigned char*)(0xFFFFF204))
#define VICVectCntl2    (*(volatile unsigned char*)(0xFFFFF208))
#define VICVectCntl3    (*(volatile unsigned char*)(0xFFFFF20C))
#define VICVectCntl4    (*(volatile unsigned char*)(0xFFFFF210))
#define VICVectCntl5    (*(volatile unsigned char*)(0xFFFFF214))
#define VICVectCntl6    (*(volatile unsigned char*)(0xFFFFF218))
#define VICVectCntl7    (*(volatile unsigned char*)(0xFFFFF21C))
#define VICVectCntl8    (*(volatile unsigned char*)(0xFFFFF220))
#define VICVectCntl9    (*(volatile unsigned char*)(0xFFFFF224))
#define VICVectCntl10   (*(volatile unsigned char*)(0xFFFFF228))
#define VICVectCntl11   (*(volatile unsigned char*)(0xFFFFF22C))
#define VICVectCntl12   (*(volatile unsigned char*)(0xFFFFF230))
#define VICVectCntl13   (*(volatile unsigned char*)(0xFFFFF234))
#define VICVectCntl14   (*(volatile unsigned char*)(0xFFFFF238))
#define VICVectCntl15   (*(volatile unsigned char*)(0xFFFFF23C))

/* Pin Connect Block */
/* 管脚连接模块控制寄存器 */
#define PINSEL0         (*(volatile unsigned long*)(0xE002C000))
#define PINSEL1         (*(volatile unsigned long*)(0xE002C004))
#define PINSEL2         (*(volatile unsigned long*)(0xE002C014))      /* Not used for lpc210x*/

/* General Purpose Input/Output (GPIO) */
/* 通用并行IO口的特殊寄存器 */
#define IOPIN           (*(volatile unsigned long*)(0xE0028000))      /* lpc210x only */
#define IOSET           (*(volatile unsigned long*)(0xE0028004))      /* lpc210x only */
#define IODIR           (*(volatile unsigned long*)(0xE0028008))      /* lpc210x only */
#define IOCLR           (*(volatile unsigned long*)(0xE002800C))      /* lpc210x only */

#define IO0PIN          (*(volatile unsigned long*)(0xE0028000))      /* Not used for lpc210x*/
#define IO0SET          (*(volatile unsigned long*)(0xE0028004))      /* Not used for lpc210x*/
#define IO0DIR          (*(volatile unsigned long*)(0xE0028008))      /* Not used for lpc210x*/
#define IO0CLR          (*(volatile unsigned long*)(0xE002800C))      /* Not used for lpc210x*/

#define IO1PIN          (*(volatile unsigned long*)(0xE0028010))      /* Not used for lpc210x*/
#define IO1SET          (*(volatile unsigned long*)(0xE0028014))      /* Not used for lpc210x*/
#define IO1DIR          (*(volatile unsigned long*)(0xE0028018))      /* Not used for lpc210x*/
#define IO1CLR          (*(volatile unsigned long*)(0xE002801C))      /* Not used for lpc210x*/

#define IO2PIN          (*(volatile unsigned long*)(0xE0028020))      /* lpc22xx only */
#define IO2SET          (*(volatile unsigned long*)(0xE0028024))      /* lpc22xx only */
#define IO2DIR          (*(volatile unsigned long*)(0xE0028028))      /* lpc22xx only */
#define IO2CLR          (*(volatile unsigned long*)(0xE002802C))      /* lpc22xx only */

#define IO3PIN          (*(volatile unsigned long*)(0xE0028030))      /* lpc22xx only */
#define IO3SET          (*(volatile unsigned long*)(0xE0028034))      /* lpc22xx only */
#define IO3DIR          (*(volatile unsigned long*)(0xE0028038))      /* lpc22xx only */
#define IO3CLR          (*(volatile unsigned long*)(0xE002803C))      /* lpc22xx only */

/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
/* 通用异步串行口0(UART0)的特殊寄存器 */
#define U0RBR           (*(volatile unsigned char*)(0xE000C000))
#define U0THR           (*(volatile unsigned char*)(0xE000C000))
#define U0IER           (*(volatile unsigned char*)(0xE000C004))
#define U0IIR           (*(volatile unsigned char*)(0xE000C008))
#define U0FCR           (*(volatile unsigned char*)(0xE000C008))
#define U0LCR           (*(volatile unsigned char*)(0xE000C00C))
#define U0LSR           (*(volatile unsigned char*)(0xE000C014))
#define U0SCR           (*(volatile unsigned char*)(0xE000C01C))
#define U0DLL           (*(volatile unsigned char*)(0xE000C000))
#define U0DLM           (*(volatile unsigned char*)(0xE000C004))

/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
/* 通用异步串行口1(UART1)的特殊寄存器 */
#define U1RBR           (*(volatile unsigned char*)(0xE0010000))
#define U1THR           (*(volatile unsigned char*)(0xE0010000))
#define U1IER           (*(volatile unsigned char*)(0xE0010004))
#define U1IIR           (*(volatile unsigned char*)(0xE0010008))
#define U1FCR           (*(volatile unsigned char*)(0xE0010008))
#define U1LCR           (*(volatile unsigned char*)(0xE001000C))
#define U1MCR           (*(volatile unsigned char*)(0xE0010010))
#define U1LSR           (*(volatile unsigned char*)(0xE0010014))
#define U1MSR           (*(volatile unsigned char*)(0xE0010018))
#define U1SCR           (*(volatile unsigned char*)(0xE001001C))
#define U1DLL           (*(volatile unsigned char*)(0xE0010000))
#define U1DLM           (*(volatile unsigned char*)(0xE0010004))

/* I2C (8/16 bit data bus) */
/* 芯片间总线(I2C)的特殊寄存器 */
#define I2CONSET        (0xE001C000)
#define I2STAT          (0xE001C004)
#define I2DAT           (0xE001C008)
#define I2ADR           (0xE001C00C)
#define I2SCLH          (0xE001C010)
#define I2SCLL          (0xE001C014)
#define I2CONCLR        (0xE001C018)

/* SPI (Serial Peripheral Interface) */
/* SPI总线接口的特殊寄存器 */
        /* only for lpc210x*/
#define SPI_SPCR        (0xE0020000)
#define SPI_SPSR        (0xE0020004)
#define SPI_SPDR        (0xE0020008)
#define SPI_SPCCR       (0xE002000C)
#define SPI_SPINT       (0xE002001C)

#define S0PCR           (0xE0020000)      /* Not used for lpc210x*/
#define S0PSR           (0xE0020004)      /* Not used for lpc210x*/
#define S0PDR           (0xE0020008)      /* Not used for lpc210x*/
#define S0PCCR          (0xE002000C)      /* Not used for lpc210x*/
#define S0PINT          (0xE002001C)      /* Not used for lpc210x*/

#define S1PCR           (0xE0030000)      /* Not used for lpc210x*/
#define S1PSR           (0xE0030004)      /* Not used for lpc210x*/
#define S1PDR           (0xE0030008)      /* Not used for lpc210x*/
#define S1PCCR          (0xE003000C)      /* Not used for lpc210x*/
#define S1PINT          (0xE003001C)      /* Not used for lpc210x*/

/* CAN CONTROLLERS AND ACCEPTANCE FILTER */
/* CAN控制器和接收路波器 */
#define CAN1MOD         (0xE0044000)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1CMR         (0xE0044004)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1GSR         (0xE0044008)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1ICR         (0xE004400C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1IER         (0xE0044010)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1BTR         (0xE0044014)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1EWL         (0xE004401C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1SR          (0xE0044020)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1RFS         (0xE0044024)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1RDA         (0xE0044028)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1RDB         (0xE004402C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TFI1        (0xE0044030)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TID1        (0xE0044034)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDA1        (0xE0044038)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDB1        (0xE004403C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TFI2        (0xE0044040)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TID2        (0xE0044044)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDA2        (0xE0044048)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDB2        (0xE004404C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TFI3        (0xE0044050)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TID3        (0xE0044054)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDA3        (0xE0044058)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDB3        (0xE004405C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */

#define CAN2MOD         (0xE0048000)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2CMR         (0xE0048004)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2GSR         (0xE0048008)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2ICR         (0xE004800C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2IER         (0xE0048010)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2BTR         (0xE0048014)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2EWL         (0xE004801C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2SR          (0xE0048020)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2RFS         (0xE0048024)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2RDA         (0xE0048028)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2RDB         (0xE004802C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TFI1        (0xE0048030)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TID1        (0xE0048034)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDA1        (0xE0048038)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDB1        (0xE004803C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TFI2        (0xE0048040)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TID2        (0xE0048044)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDA2        (0xE0048048)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDB2        (0xE004804C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TFI3        (0xE0048050)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TID3        (0xE0048054)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDA3        (0xE0048058)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDB3        (0xE004805C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */

#define CAN3MOD         (0xE004C000)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3CMR         (0xE004C004)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3GSR         (0xE004C008)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3ICR         (0xE004C00C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3IER         (0xE004C010)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3BTR         (0xE004C014)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3EWL         (0xE004C01C)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3SR          (0xE004C020)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3RFS         (0xE004C024)      /* lpc2119\lpc2129\lpc2292\lpc2294 only */

⌨️ 快捷键说明

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