📄 head.s
字号:
import nand_read
import nand_init
import Main
area head,code,readonly
entry
_start
b ResetHandle
b .
b .
b .
b .
b .
b .
b .
ResetHandle
;关看门狗
ldr r1, =0x53000000
ldr r2, =0x0
str r2, [r1]
;禁止所有中断
ldr r1, =0x4A000008
ldr r2, =0xFFFFFFFF
str r2, [r1]
ldr r1, =0x4A00001C
ldr r2, =0xFFF
str r2, [r1]
;初始化时钟系统
ldr r1, =0x4C000000
ldr r2, =0x00FFFFFF
str r2, [r1]
ldr r1, =0x4C000004
ldr r2, =0xa1031
str r2, [r1]
ldr r1, =0x4C000014
ldr r2, =0x3
str r2, [r1]
;初始化IO
ldr r1 ,=0x56000000
ldr r2 ,=0x7fffff
str r2,[r1]
;初始化内存控制器
ldr r1, =0x48000000
ldr r2, =0x22111110
str r2, [r1]
ldr r1, =0x48000004
ldr r2, =0x00000700
str r2, [r1]
add r1, r1, #4
str r2, [r1]
add r1, r1,#4
str r2, [r1]
add r1, r1,#4
str r2, [r1]
add r1, r1,#4
str r2, [r1]
add r1, r1,#4
str r2, [r1]
add r1, r1,#4
ldr r2, =0x00018005
str r2, [r1]
add r1, r1, #4
str r2, [r1]
ldr r2, =0x008E0459
add r1, r1, #4
str r2, [r1]
ldr r2, =0xb2
add r1, r1, #4
str r2, [r1]
ldr r2, =0x30
add r1, r1, #4
str r2, [r1]
ldr r2, =0x30
add r1, r1, #4
str r2, [r1]
;初始化串口
ldr r1, =0x50000000
ldr r2, =0x3
str r2, [r1]
ldr r1, =0x50000004
ldr r2, =0x245
str r2, [r1]
ldr r1, =0x50000008
ldr r2, =0x0
str r2, [r1]
ldr r1, =0x5000000C
ldr r2, =0x0
str r2, [r1]
ldr r1, =0x50000028
ldr r2, =27
str r2, [r1]
ldr r1, =0x56000070
ldr r2, =0x2aaaaa
str r2, [r1]
ldr r1, =0x56000078
ldr r2, =0x000007ff
str r2, [r1]
;点亮led
ldr r1, =0x56000010
ldr r2, =0x000005
str r2, [r1]
add r1, r1, #4
ldr r2, =0x000
str r2, [r1]
add r1, r1, #4
ldr r2, =0x000
str r2, [r1]
; ldr r1, =0x56000050
; ldr r2, =0x55aa
; str r2, [r1]
; add r1, r1, #4
; ldr r2, =0xff
; str r2, [r1]
; add r1, r1, #4
; ldr r2, =0x00
; str r2, [r1]
;设置栈
ldr sp, =0x33900000
;初试化nandflash,拷贝自己到SDRAM
ldr r1, =0xf830
ldr r2, =0x4e000000
str r1,[r2]
bl nand_init
ldr r0, =0x0
ldr r1, =0x33000000
ldr r2, =0x2000
bl nand_read
;跳到SDRAM中
ldr r0, =on_the_ram
add pc, r0, #0
on_the_ram
bl Main
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -