?? init.s
字號:
MEM_CTL_BASE equ 0x48000000
SDRAM_BASE equ 0x30000000
IMPORT main
AREA Init,CODE,READONLY ;該偽指令定義了一個代碼段,段名為Init,屬性只讀
ENTRY ;程序的入口點標識
EXPORT _ENTRY
_ENTRY
_start
bl disable_watch_dog
bl memsetup
bl copy_steppingstone_to_sdram
ldr pc, =set_sp ;@跳到SDRAM中繼續執行
set_sp
ldr sp, =0x34000000 ;@設置堆棧
bl main
halt_loop
b halt_loop
disable_watch_dog
mov r1, #0x53000000
mov r2, #0x0
str r2, [r1]
mov pc, lr
copy_steppingstone_to_sdram
;@copy the 4k code from steppingstone(address begins at 0x00000000) to sdram(address begins at 0x30000000)
mov r1, #0
ldr r2, =SDRAM_BASE
mov r3, #4*1024
1 ldr r4, [r1],#4
str r4, [r2],#4
cmp r1, r3
bne %b1
mov pc, lr
memsetup
;@ initialise the static memory
;@ set memory control registers
mov r1, #MEM_CTL_BASE
adrl r2, mem_cfg_val
add r3, r1, #52
1 ldr r4, [r2], #4
str r4, [r1], #4
cmp r1, r3
bne %b1
mov pc, lr
LTORG
mem_cfg_val
DCD 0x22111110 ;@BWSCON
DCD 0x00000700 ;@BANKCON0
DCD 0x00000700 ;@BANKCON1
DCD 0x00000700 ;@BANKCON2
DCD 0x00000700 ;@BANKCON3
DCD 0x00000700 ;@BANKCON4
DCD 0x00000700 ;@BANKCON5
DCD 0x00018005 ;@BANKCON6
DCD 0x00018005 ;@BANKCON7
DCD 0x008e07a3 ;@REFRESH
DCD 0x000000b2 ;@BANKSIZE
DCD 0x00000030 ;@MRSRB6
DCD 0x00000030 ;@MRSRB7
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -