📄 nxp_arm.s
字号:
;//***************************************************************
;// ARM BOOT ROUTE VER1.0 for NXP_ARM release
;// bjwork2007@gmail.com
;// chenjun @ 2008-7-19
;//***************************************************************
;//define cpu mode
ModeMask EQU 0x1F ;0b00011111 in cpsr[4:0] or spsr[4:0] is M[4:0]
USR EQU 0x10 ;0b00010000
FIQ EQU 0x11 ;0b00010001
IRQ EQU 0x12 ;0b00010010
SVC EQU 0x13 ;0b00010011
ABT EQU 0x17 ;0b00010111
UDF EQU 0x1B ;0b00011011
SYS EQU 0X1F ;0b00011111
I EQU 0x80 ;in cpsr[7] or spsr[7]
F EQU 0x40 ;in cpsr[6] or cpsr[6]
T EQU 0x20 ;in cpsr[5] or cpsr[5]
;/* EXTERNAL MEMORY CONTROLLER (EMC) */
;/* 外部总线控制器 */
rBCFG0 EQU 0xFFE00000 ;/* lpc22xx only */
rBCFG1 EQU 0xFFE00004 ;/* lpc22xx only */
rBCFG2 EQU 0xFFE00008 ;/* lpc22xx only */
rBCFG3 EQU 0xFFE0000C ;/* lpc22xx only */
;/* External Interrupts */
;/* 外部中断控制寄存器 */
rEXTINT EQU 0xE01FC140
rEXTWAKE EQU 0xE01FC144
rEXTMODE EQU 0xE01FC148 ;/* no in lpc210x*/
rEXTPOLAR EQU 0xE01FC14C ;/* no in lpc210x*/
;/* SMemory mapping control. */
;/* 内存remap控制寄存器 */
rMEMMAP EQU 0xE01FC040
;/* Phase Locked Loop (PLL) */
;/* PLL控制寄存器 */
rPLLCON EQU 0xE01FC080
rPLLCFG EQU 0xE01FC084
rPLLSTAT EQU 0xE01FC088
rPLLFEED EQU 0xE01FC08C
;/* Power Control */
;/* 功率控制寄存器 */
rPCON EQU 0xE01FC0C0
rPCONP EQU 0xE01FC0C4
rSCS EQU 0xE01FC1A0
;/* VPB Divider */
;/* VLSI外设总线(VPB)分频寄存器 */
rVPBDIV EQU 0xE01FC100
;/* Memory Accelerator Module (MAM) */
;/* 存储器加速模块 */
rMAMCR EQU 0xE01FC000
rMAMTIM EQU 0xE01FC004
;/* Vectored Interrupt Controller (VIC) */
;/* 向量中断控制器(VIC)的特殊寄存器 */
rVICIRQStatus EQU 0xFFFFF000
rVICFIQStatus EQU 0xFFFFF004
rVICRawIntr EQU 0xFFFFF008
rVICIntSelect EQU 0xFFFFF00C
rVICIntEnable EQU 0xFFFFF010
rVICIntEnClr EQU 0xFFFFF014
rVICSoftInt EQU 0xFFFFF018
rVICSoftIntClear EQU 0xFFFFF01C
rVICProtection EQU 0xFFFFF020
rVICVectAddr EQU 0xFFFFF030
rVICDefVectAddr EQU 0xFFFFF034
rVICVectAddr0 EQU 0xFFFFF100
rVICVectAddr1 EQU 0xFFFFF104
rVICVectAddr2 EQU 0xFFFFF108
rVICVectAddr3 EQU 0xFFFFF10C
rVICVectAddr4 EQU 0xFFFFF110
rVICVectAddr5 EQU 0xFFFFF114
rVICVectAddr6 EQU 0xFFFFF118
rVICVectAddr7 EQU 0xFFFFF11C
rVICVectAddr8 EQU 0xFFFFF120
rVICVectAddr9 EQU 0xFFFFF124
rVICVectAddr10 EQU 0xFFFFF128
rVICVectAddr11 EQU 0xFFFFF12C
rVICVectAddr12 EQU 0xFFFFF130
rVICVectAddr13 EQU 0xFFFFF134
rVICVectAddr14 EQU 0xFFFFF138
rVICVectAddr15 EQU 0xFFFFF13C
rVICVectCntl0 EQU 0xFFFFF200
rVICVectCntl1 EQU 0xFFFFF204
rVICVectCntl2 EQU 0xFFFFF208
rVICVectCntl3 EQU 0xFFFFF20C
rVICVectCntl4 EQU 0xFFFFF210
rVICVectCntl5 EQU 0xFFFFF214
rVICVectCntl6 EQU 0xFFFFF218
rVICVectCntl7 EQU 0xFFFFF21C
rVICVectCntl8 EQU 0xFFFFF220
rVICVectCntl9 EQU 0xFFFFF224
rVICVectCntl10 EQU 0xFFFFF228
rVICVectCntl11 EQU 0xFFFFF22C
rVICVectCntl12 EQU 0xFFFFF230
rVICVectCntl13 EQU 0xFFFFF234
rVICVectCntl14 EQU 0xFFFFF238
rVICVectCntl15 EQU 0xFFFFF23C
;/* Pin Connect Block */
;/* 管脚连接模块控制寄存器 */
rPINSEL0 EQU 0xE002C000
rPINSEL1 EQU 0xE002C004
rPINSEL2 EQU 0xE002C014 ;/* no in lpc210x*/
;/* General Purpose Input/Output (GPIO) */
;/* 通用并行IO口的特殊寄存器 */
rIOPIN EQU 0xE0028000 ;/* lpc210x only */
rIOSET EQU 0xE0028004 ;/* lpc210x only */
rIODIR EQU 0xE0028008 ;/* lpc210x only */
rIOCLR EQU 0xE002800C ;/* lpc210x only */
rIO0PIN EQU 0xE0028000 ;/* no in lpc210x*/
rIO0SET EQU 0xE0028004 ;/* no in lpc210x*/
rIO0DIR EQU 0xE0028008 ;/* no in lpc210x*/
rIO0CLR EQU 0xE002800C ;/* no in lpc210x*/
rIO1PIN EQU 0xE0028010 ;/* no in lpc210x*/
rIO1SET EQU 0xE0028014 ;/* no in lpc210x*/
rIO1DIR EQU 0xE0028018 ;/* no in lpc210x*/
rIO1CLR EQU 0xE002801C ;/* no in lpc210x*/
rIO2PIN EQU 0xE0028020 ;/* lpc22xx only */
rIO2SET EQU 0xE0028024 ;/* lpc22xx only */
rIO2DIR EQU 0xE0028028 ;/* lpc22xx only */
rIO2CLR EQU 0xE002802C ;/* lpc22xx only */
rIO3PIN EQU 0xE0028030 ;/* lpc22xx only */
rIO3SET EQU 0xE0028034 ;/* lpc22xx only */
rIO3DIR EQU 0xE0028038 ;/* lpc22xx only */
rIO3CLR EQU 0xE002803C ;/* lpc22xx only */
rFIODIR EQU 0x3FFFC000 ;/* lpc210x only */
rFIODIR0 EQU 0x3FFFC000 ;/* lpc210x only */
rFIODIR1 EQU 0x3FFFC001 ;/* lpc210x only */
rFIODIR2 EQU 0x3FFFC002 ;/* lpc210x only */
rFIODIR3 EQU 0x3FFFC003 ;/* lpc210x only */
rFIODIRL EQU 0x3FFFC000 ;/* lpc210x only */
rFIODIRH EQU 0x3FFFC002 ;/* lpc210x only */
rFIOMASK EQU 0x3FFFC010 ;/* lpc210x only */
rFIOMASK0 EQU 0x3FFFC010 ;/* lpc210x only */
rFIOMASK1 EQU 0x3FFFC011 ;/* lpc210x only */
rFIOMASK2 EQU 0x3FFFC012 ;/* lpc210x only */
rFIOMASK3 EQU 0x3FFFC013 ;/* lpc210x only */
rFIOMASKL EQU 0x3FFFC010 ;/* lpc210x only */
rFIOMASKH EQU 0x3FFFC012 ;/* lpc210x only */
rFIOPIN EQU 0x3FFFC014 ;/* lpc210x only */
rFIOPIN0 EQU 0x3FFFC014 ;/* lpc210x only */
rFIOPIN1 EQU 0x3FFFC015 ;/* lpc210x only */
rFIOPIN2 EQU 0x3FFFC016 ;/* lpc210x only */
rFIOPIN3 EQU 0x3FFFC017 ;/* lpc210x only */
rFIOPINL EQU 0x3FFFC014 ;/* lpc210x only */
rFIOPINH EQU 0x3FFFC016 ;/* lpc210x only */
rFIOSET EQU 0x3FFFC018 ;/* lpc210x only */
rFIOSET0 EQU 0x3FFFC018 ;/* lpc210x only */
rFIOSET1 EQU 0x3FFFC019 ;/* lpc210x only */
rFIOSET2 EQU 0x3FFFC01A ;/* lpc210x only */
rFIOSET3 EQU 0x3FFFC01B ;/* lpc210x only */
rFIOSETL EQU 0x3FFFC018 ;/* lpc210x only */
rFIOSETH EQU 0x3FFFC01A ;/* lpc210x only */
rFIOCLR EQU 0x3FFFC01C ;/* lpc210x only */
rFIOCLR0 EQU 0x3FFFC01C ;/* lpc210x only */
rFIOCLR1 EQU 0x3FFFC01D ;/* lpc210x only */
rFIOCLR2 EQU 0x3FFFC01E ;/* lpc210x only */
rFIOCLR3 EQU 0x3FFFC01F ;/* lpc210x only */
rFIOCLRL EQU 0x3FFFC01C ;/* lpc210x only */
rFIOCLRH EQU 0x3FFFC01E ;/* lpc210x only */
;/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
;/* 通用异步串行口0(UART0)的特殊寄存器 */
rU0RBR EQU 0xE000C000
rU0THR EQU 0xE000C000
rU0IER EQU 0xE000C004
rU0IIR EQU 0xE000C008
rU0FCR EQU 0xE000C008
rU0LCR EQU 0xE000C00C
rU0LSR EQU 0xE000C014
rU0SCR EQU 0xE000C01C
rU0DLL EQU 0xE000C000
rU0DLM EQU 0xE000C004
;/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
;/* 通用异步串行口1(UART1)的特殊寄存器 */
rU1RBR EQU 0xE0010000
rU1THR EQU 0xE0010000
rU1IER EQU 0xE0010004
rU1IIR EQU 0xE0010008
rU1FCR EQU 0xE0010008
rU1LCR EQU 0xE001000C
rU1MCR EQU 0xE0010010
rU1LSR EQU 0xE0010014
rU1MSR EQU 0xE0010018
rU1SCR EQU 0xE001001C
rU1DLL EQU 0xE0010000
rU1DLM EQU 0xE0010004
;/* I2C (8/16 bit data bus) */
;/* 芯片间总线(I2C)的特殊寄存器 */
rI2CONSET EQU 0xE001C000
rI2STAT EQU 0xE001C004
rI2DAT EQU 0xE001C008
rI2ADR EQU 0xE001C00C
rI2SCLH EQU 0xE001C010
rI2SCLL EQU 0xE001C014
rI2CONCLR EQU 0xE001C018
rI2C0CONSET EQU 0xE001C000
rI2C0STAT EQU 0xE001C004
rI2C0DAT EQU 0xE001C008
rI2C0ADR EQU 0xE001C00C
rI2C0SCLH EQU 0xE001C010
rI2C0SCLL EQU 0xE001C014
rI2C0CONCLR EQU 0xE001C018
rI2C1CONSET EQU 0xE005C000
rI2C1STAT EQU 0xE005C004
rI2C1DAT EQU 0xE005C008
rI2C1ADR EQU 0xE005C00C
rI2C1SCLH EQU 0xE005C010
rI2C1SCLL EQU 0xE005C014
rI2C1CONCLR EQU 0xE005C018
;/* SPI (Serial Peripheral Interface) */
;/* SPI总线接口的特殊寄存器 */
;/* only fo LPC2103/2102/2101 */
rS0SPCR EQU 0xE0020000 ;/* no in lpc210x*/
rS0SPSR EQU 0xE0020004 ;/* no in lpc210x*/
rS0SPDR EQU 0xE0020008 ;/* no in lpc210x*/
rS0SPCCR EQU 0xE002000C ;/* no in lpc210x*/
rS0SPINT EQU 0xE002001C ;/* no in lpc210x*/
;/* only for lpc210x*/
rSPI_SPCR EQU 0xE0020000
rSPI_SPSR EQU 0xE0020004
rSPI_SPDR EQU 0xE0020008
rSPI_SPCCR EQU 0xE002000C
rSPI_SPINT EQU 0xE002001C
rS0PCR EQU 0xE0020000 ;/* no in lpc210x*/
rS0PSR EQU 0xE0020004 ;/* no in lpc210x*/
rS0PDR EQU 0xE0020008 ;/* no in lpc210x*/
rS0PCCR EQU 0xE002000C ;/* no in lpc210x*/
rS0PINT EQU 0xE002001C ;/* no in lpc210x*/
rS1PCR EQU 0xE0030000 ;/* no in lpc210x*/
rS1PSR EQU 0xE0030004 ;/* no in lpc210x*/
rS1PDR EQU 0xE0030008 ;/* no in lpc210x*/
rS1PCCR EQU 0xE003000C ;/* no in lpc210x*/
rS1PINT EQU 0xE003001C ;/* no in lpc210x*/
;/* CAN CONTROLLERS AND ACCEPTANCE FILTER */
;/* CAN控制器和接收路波器 */
rCAN1MOD EQU 0xE0044000 ;/* lpc2119\lpc2129\lpc2292\lpc2294 only */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -