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

📄 nxp_arm.s

📁 LPC2220的Bootloader自己写的,和 周立功的模版实现完全不一样
💻 S
📖 第 1 页 / 共 2 页
字号:
;//***************************************************************
;//  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 + -