📄 norinit.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 + -