📄 norflash_bootloader.s
字号:
;********************************************************************************************
;*filename: boot.s
;*author: WUER xiao
;*create date: 2005-5-10 16:25
;*description: This file is used for 16 bit NOR FLASH bootloader
;*modify history:
;*misc:
;********************************************************************************************
AREA BOOTLOADER, CODE, READONLY
ENTRY ; Mark first instruction to execute
;配置16位CSA Nor Flash
ldr r1, =0x11000004 ;THE ADD OF EMI_CSGBAB
ldr r2, =0x24002000
str r2, [ r1 ]
ldr r1, =0x11000008 ;THE ADD OF EMI_CSGBCD
ldr r2, =0x2c002800
str r2, [ r1 ]
ldr r1, =0x1100000c ;THE ADD OF EMI_CSGBEF
ldr r2, =0x34003000
str r2, [ r1 ]
ldr r1, =0x11000000 ;THE ADD OF EMIADDR_SMCONF
ldr r2, =0x090001ff ;=0x0b0001aa
str r2, [ r1 ]
ldr r1, =0x11000014 ;THE ADD OF EMIADDR_SMCONF1
ldr r2, =0x0110a077
str r2, [ r1 ]
ldr r1, =0x11000018 ;THE ADD OF EMIADDR_SMCONF2
ldr r2, =0x80000500
str r2, [ r1 ]
;配置工作频率为60MHz
ldr r1, =0x1000100c
ldr r2, =0x17fff
str r2,[r1]
ldr r1, =0x10001014
ldr r2, =0x1
str r2,[r1]
ldr r1, =0x10001000
ldr r2, =0x018000cd
str r2,[r1]
ldr r1, =0x10001004
ldr r2, =0X230
str r2,[r1]
ldr r1, =0x10001004
ldr r2, =0X1230
str r2,[r1]
;拷贝kernel代码到SDram
ldr r3, =0x00000000
ldr r1, =0x30002000 ;the address of SDRAM
ldr r2, =0x20001000 ;the address of NorFlash
LOOP
ldrb r4, [r2], #1
strb r4, [r1], #1
add r3, r3, #1
cmp r3, #0x1f0000
bne LOOP
;remap操作
ldr pc, =0x200000ac
mov r0, r0
mov r0, r0
mov r0, r0
mov r0, r0
REMAP
ldr r1, =0x11000010 ;REMAP 0 ADDRESS TO SDRAM
ldr r2, =0x0000000b
str r2, [r1]
;重新设定PC,开始操作系统启动
ldr pc, =0x30002000
DEAD
b DEAD
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -