📄 nxp_arm.h
字号:
//***************************************************************
// ARM BOOT ROUTE VER1.0 for NXP_ARM release
// bjwork2007@gmail.com
// chenjun @ 2008-7-19
//***************************************************************
#ifndef _NXP_ARM_H_
#define _NXP_ARM_H_
/* EXTERNAL MEMORY CONTROLLER (EMC) */
/* 外部总线控制器 */
#define rBCFG0 (*((volatile unsigned int *) 0xFFE00000)) /* lpc22xx only */
#define rBCFG1 (*((volatile unsigned int *) 0xFFE00004)) /* lpc22xx only */
#define rBCFG2 (*((volatile unsigned int *) 0xFFE00008)) /* lpc22xx only */
#define rBCFG3 (*((volatile unsigned int *) 0xFFE0000C)) /* lpc22xx only */
/* System Control and Status flags register */
#define rSCS (*((volatile unsigned int *) 0xE01FC1A0))
/* External Interrupts */
/* 外部中断控制寄存器 */
#define rEXTINT (*((volatile unsigned char *) 0xE01FC140))
#define rEXTWAKE (*((volatile unsigned char *) 0xE01FC144))
#define rEXTMODE (*((volatile unsigned char *) 0xE01FC148)) /* no in lpc210x*/
#define rEXTPOLAR (*((volatile unsigned char *) 0xE01FC14C)) /* no in lpc210x*/
/* SMemory mapping control. */
/* 内存remap控制寄存器 */
#define rMEMMAP (*((volatile unsigned long *) 0xE01FC040))
/* Phase Locked Loop (PLL) */
/* PLL控制寄存器 */
#define rPLLCON (*((volatile unsigned char *) 0xE01FC080))
#define rPLLCFG (*((volatile unsigned char *) 0xE01FC084))
#define rPLLSTAT (*((volatile unsigned short*) 0xE01FC088))
#define rPLLFEED (*((volatile unsigned char *) 0xE01FC08C))
/* Power Control */
/* 功率控制寄存器 */
#define rPCON (*((volatile unsigned char *) 0xE01FC0C0))
#define rPCONP (*((volatile unsigned long *) 0xE01FC0C4))
/* VPB Divider */
/* VLSI外设总线(VPB)分频寄存器 */
#define rVPBDIV (*((volatile unsigned char *) 0xE01FC100))
/* Memory Accelerator Module (MAM) */
/* 存储器加速模块 */
#define rMAMCR (*((volatile unsigned char *) 0xE01FC000))
#define rMAMTIM (*((volatile unsigned char *) 0xE01FC004))
/* Vectored Interrupt Controller (VIC) */
/* 向量中断控制器(VIC)的特殊寄存器 */
#define rVICIRQStatus (*((volatile unsigned long *) 0xFFFFF000))
#define rVICFIQStatus (*((volatile unsigned long *) 0xFFFFF004))
#define rVICRawIntr (*((volatile unsigned long *) 0xFFFFF008))
#define rVICIntSelect (*((volatile unsigned long *) 0xFFFFF00C))
#define rVICIntEnable (*((volatile unsigned long *) 0xFFFFF010))
#define rVICIntEnClr (*((volatile unsigned long *) 0xFFFFF014))
#define rVICSoftInt (*((volatile unsigned long *) 0xFFFFF018))
#define rVICSoftIntClear (*((volatile unsigned long *) 0xFFFFF01C))
#define rVICProtection (*((volatile unsigned long *) 0xFFFFF020))
#define rVICVectAddr (*((volatile unsigned long *) 0xFFFFF030))
#define rVICDefVectAddr (*((volatile unsigned long *) 0xFFFFF034))
#define rVICVectAddr0 (*((volatile unsigned long *) 0xFFFFF100))
#define rVICVectAddr1 (*((volatile unsigned long *) 0xFFFFF104))
#define rVICVectAddr2 (*((volatile unsigned long *) 0xFFFFF108))
#define rVICVectAddr3 (*((volatile unsigned long *) 0xFFFFF10C))
#define rVICVectAddr4 (*((volatile unsigned long *) 0xFFFFF110))
#define rVICVectAddr5 (*((volatile unsigned long *) 0xFFFFF114))
#define rVICVectAddr6 (*((volatile unsigned long *) 0xFFFFF118))
#define rVICVectAddr7 (*((volatile unsigned long *) 0xFFFFF11C))
#define rVICVectAddr8 (*((volatile unsigned long *) 0xFFFFF120))
#define rVICVectAddr9 (*((volatile unsigned long *) 0xFFFFF124))
#define rVICVectAddr10 (*((volatile unsigned long *) 0xFFFFF128))
#define rVICVectAddr11 (*((volatile unsigned long *) 0xFFFFF12C))
#define rVICVectAddr12 (*((volatile unsigned long *) 0xFFFFF130))
#define rVICVectAddr13 (*((volatile unsigned long *) 0xFFFFF134))
#define rVICVectAddr14 (*((volatile unsigned long *) 0xFFFFF138))
#define rVICVectAddr15 (*((volatile unsigned long *) 0xFFFFF13C))
#define rVICVectCntl0 (*((volatile unsigned long *) 0xFFFFF200))
#define rVICVectCntl1 (*((volatile unsigned long *) 0xFFFFF204))
#define rVICVectCntl2 (*((volatile unsigned long *) 0xFFFFF208))
#define rVICVectCntl3 (*((volatile unsigned long *) 0xFFFFF20C))
#define rVICVectCntl4 (*((volatile unsigned long *) 0xFFFFF210))
#define rVICVectCntl5 (*((volatile unsigned long *) 0xFFFFF214))
#define rVICVectCntl6 (*((volatile unsigned long *) 0xFFFFF218))
#define rVICVectCntl7 (*((volatile unsigned long *) 0xFFFFF21C))
#define rVICVectCntl8 (*((volatile unsigned long *) 0xFFFFF220))
#define rVICVectCntl9 (*((volatile unsigned long *) 0xFFFFF224))
#define rVICVectCntl10 (*((volatile unsigned long *) 0xFFFFF228))
#define rVICVectCntl11 (*((volatile unsigned long *) 0xFFFFF22C))
#define rVICVectCntl12 (*((volatile unsigned long *) 0xFFFFF230))
#define rVICVectCntl13 (*((volatile unsigned long *) 0xFFFFF234))
#define rVICVectCntl14 (*((volatile unsigned long *) 0xFFFFF238))
#define rVICVectCntl15 (*((volatile unsigned long *) 0xFFFFF23C))
/* Pin Connect Block */
/* 管脚连接模块控制寄存器 */
#define rPINSEL0 (*((volatile unsigned long *) 0xE002C000))
#define rPINSEL1 (*((volatile unsigned long *) 0xE002C004))
#define rPINSEL2 (*((volatile unsigned long *) 0xE002C014)) /* no in lpc210x*/
/* General Purpose Input/Output (GPIO) */
/* 通用并行IO口的特殊寄存器 */
#define rIOPIN (*((volatile unsigned long *) 0xE0028000)) /* lpc210x only */
#define rIOSET (*((volatile unsigned long *) 0xE0028004)) /* lpc210x only */
#define rIODIR (*((volatile unsigned long *) 0xE0028008)) /* lpc210x only */
#define rIOCLR (*((volatile unsigned long *) 0xE002800C)) /* lpc210x only */
#define rIO0PIN (*((volatile unsigned long *) 0xE0028000)) /* no in lpc210x*/
#define rIO0SET (*((volatile unsigned long *) 0xE0028004)) /* no in lpc210x*/
#define rIO0DIR (*((volatile unsigned long *) 0xE0028008)) /* no in lpc210x*/
#define rIO0CLR (*((volatile unsigned long *) 0xE002800C)) /* no in lpc210x*/
#define rIO1PIN (*((volatile unsigned long *) 0xE0028010)) /* no in lpc210x*/
#define rIO1SET (*((volatile unsigned long *) 0xE0028014)) /* no in lpc210x*/
#define rIO1DIR (*((volatile unsigned long *) 0xE0028018)) /* no in lpc210x*/
#define rIO1CLR (*((volatile unsigned long *) 0xE002801C)) /* no in lpc210x*/
#define rIO2PIN (*((volatile unsigned long *) 0xE0028020)) /* lpc22xx only */
#define rIO2SET (*((volatile unsigned long *) 0xE0028024)) /* lpc22xx only */
#define rIO2DIR (*((volatile unsigned long *) 0xE0028028)) /* lpc22xx only */
#define rIO2CLR (*((volatile unsigned long *) 0xE002802C)) /* lpc22xx only */
#define rIO3PIN (*((volatile unsigned long *) 0xE0028030)) /* lpc22xx only */
#define rIO3SET (*((volatile unsigned long *) 0xE0028034)) /* lpc22xx only */
#define rIO3DIR (*((volatile unsigned long *) 0xE0028038)) /* lpc22xx only */
#define rIO3CLR (*((volatile unsigned long *) 0xE002803C)) /* lpc22xx only */
#define rFIODIR (*((volatile unsigned long *) 0x3FFFC000)) /* lpc210x only */
#define rFIODIR0 (*((volatile unsigned long *) 0x3FFFC000)) /* lpc210x only */
#define rFIODIR1 (*((volatile unsigned long *) 0x3FFFC001)) /* lpc210x only */
#define rFIODIR2 (*((volatile unsigned long *) 0x3FFFC002)) /* lpc210x only */
#define rFIODIR3 (*((volatile unsigned long *) 0x3FFFC003)) /* lpc210x only */
#define rFIODIRL (*((volatile unsigned long *) 0x3FFFC000)) /* lpc210x only */
#define rFIODIRH (*((volatile unsigned long *) 0x3FFFC002)) /* lpc210x only */
#define rFIOMASK (*((volatile unsigned long *) 0x3FFFC010)) /* lpc210x only */
#define rFIOMASK0 (*((volatile unsigned long *) 0x3FFFC010)) /* lpc210x only */
#define rFIOMASK1 (*((volatile unsigned long *) 0x3FFFC011)) /* lpc210x only */
#define rFIOMASK2 (*((volatile unsigned long *) 0x3FFFC012)) /* lpc210x only */
#define rFIOMASK3 (*((volatile unsigned long *) 0x3FFFC013)) /* lpc210x only */
#define rFIOMASKL (*((volatile unsigned long *) 0x3FFFC010)) /* lpc210x only */
#define rFIOMASKH (*((volatile unsigned long *) 0x3FFFC012)) /* lpc210x only */
#define rFIOPIN (*((volatile unsigned long *) 0x3FFFC014)) /* lpc210x only */
#define rFIOPIN0 (*((volatile unsigned long *) 0x3FFFC014)) /* lpc210x only */
#define rFIOPIN1 (*((volatile unsigned long *) 0x3FFFC015)) /* lpc210x only */
#define rFIOPIN2 (*((volatile unsigned long *) 0x3FFFC016)) /* lpc210x only */
#define rFIOPIN3 (*((volatile unsigned long *) 0x3FFFC017)) /* lpc210x only */
#define rFIOPINL (*((volatile unsigned long *) 0x3FFFC014)) /* lpc210x only */
#define rFIOPINH (*((volatile unsigned long *) 0x3FFFC016)) /* lpc210x only */
#define rFIOSET (*((volatile unsigned long *) 0x3FFFC018)) /* lpc210x only */
#define rFIOSET0 (*((volatile unsigned long *) 0x3FFFC018)) /* lpc210x only */
#define rFIOSET1 (*((volatile unsigned long *) 0x3FFFC019)) /* lpc210x only */
#define rFIOSET2 (*((volatile unsigned long *) 0x3FFFC01A)) /* lpc210x only */
#define rFIOSET3 (*((volatile unsigned long *) 0x3FFFC01B)) /* lpc210x only */
#define rFIOSETL (*((volatile unsigned long *) 0x3FFFC018)) /* lpc210x only */
#define rFIOSETH (*((volatile unsigned long *) 0x3FFFC01A)) /* lpc210x only */
#define rFIOCLR (*((volatile unsigned long *) 0x3FFFC01C)) /* lpc210x only */
#define rFIOCLR0 (*((volatile unsigned long *) 0x3FFFC01C)) /* lpc210x only */
#define rFIOCLR1 (*((volatile unsigned long *) 0x3FFFC01D)) /* lpc210x only */
#define rFIOCLR2 (*((volatile unsigned long *) 0x3FFFC01E)) /* lpc210x only */
#define rFIOCLR3 (*((volatile unsigned long *) 0x3FFFC01F)) /* lpc210x only */
#define rFIOCLRL (*((volatile unsigned long *) 0x3FFFC01C)) /* lpc210x only */
#define rFIOCLRH (*((volatile unsigned long *) 0x3FFFC01E)) /* lpc210x only */
/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
/* 通用异步串行口0(UART0)的特殊寄存器 */
#define rU0RBR (*((volatile unsigned char *) 0xE000C000))
#define rU0THR (*((volatile unsigned char *) 0xE000C000))
#define rU0DLL (*((volatile unsigned char *) 0xE000C000))
#define rU0DLM (*((volatile unsigned char *) 0xE000C004))
#define rU0IER (*((volatile unsigned char *) 0xE000C004))
#define rU0IIR (*((volatile unsigned char *) 0xE000C008))
#define rU0FCR (*((volatile unsigned char *) 0xE000C008))
#define rU0LCR (*((volatile unsigned char *) 0xE000C00C))
#define rU0LSR (*((volatile unsigned char *) 0xE000C014))
#define rU0SCR (*((volatile unsigned char *) 0xE000C01C))
#define rU0ACR (*((volatile unsigned char *) 0xE000C020))
#define rU0FDR (*((volatile unsigned char *) 0xE000C028))
#define rU0TER (*((volatile unsigned char *) 0xE000C030))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -