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

📄 norinit.s

📁 基于Arm Developer suite 1.2开发
💻 S
字号:
			AREA	|.text|, CODE, READONLY

FLASH_REGS	EQU		0x4010DFB0
FLASH_B1	EQU		0x00030000
FLASH_SPR	EQU		0x01000000
FLASH_WMS	EQU		0x80000000
FLASH_BUSY	EQU		0x00000016

InitFlash
			STR		r0, [r1, #-0x0B0]	; 0x40100000 = FLASH_CR0
0			LDR		r0, [r1, #-0x0B0]	; 0x40100000 = FLASH_CR0
			TST		r0, #FLASH_BUSY
			BNE		%B0
			MOV		pc, lr

			EXPORT	NOR_InitFlash
;			IMPORT	|Image$$LWIP$$ZI$$Base|
NOR_InitFlash
			STMFD	sp!, {lr}

			ADR		r2, InitFlash
			LDMIA	r2, {r0, r1, r3, r12, r14}
			STMFD	sp!, {r0, r1, r3, r12, r14}

			LDR		r3, =FLASH_REGS
			BIC		r1, r3, #0x0000FF00	; 0x401000B0

			MRS		r12, CPSR
			ORR		r14, r12, #0xC0
			MSR		CPSR_c, r14

			LDR		r14, [r0]

			LDR		r0, [r1, #-0x0B0]	; 0x40100000 = FLASH_CR0
			ORR		r0, r0, #FLASH_SPR
			STR		r0, [r1, #-0x0B0]	; 0x40100000 = FLASH_CR0

			BIC		r0, r3, #0xF0000000 ; 0x0010DFB0
			STR		r0, [r1, #-0x0A0]	; 0x40100010 = FLASH_AR

			ORR		r14, r14, #FLASH_B1
			STR		r14, [r1, #-0x0A8]	; 0x40100008 = FLASH_DR0

			LDR		r0, [r1, #-0x0B0]	; 0x40100000 = FLASH_CR0
			ORR		r0, r0, #FLASH_WMS

			MOV		lr, pc
			MOV		pc, sp

			MSR		CPSR_c, r12

			ADD		sp, sp, #20

			LDMFD	sp!, {pc}

			END

⌨️ 快捷键说明

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