📄 w90n740init.s
字号:
AREA SDRAM_INIT, CODE, READONLY
ENTRY
; LDR r0,=module0
; LDR r0,=module1
LDR r0,=module2
; LDR r0,=module3
LDR r1,=0xFFF01000
LDMFD r0,{r2-r7}
STMIA r1,{r2-r7}
;EXTIO Bank 0
LDR r0,=0x08003FFE
LDR r1,=0xFFF01018
STR r0,[r1]
;EXTIO Bank 1
LDR r0,=0x10003FFE
LDR r1,=0xFFF0101C
STR r0,[r1]
;EXTIO Bank 2
LDR r0,=0x20003FFE
LDR r1,=0xFFF01020
STR r0,[r1]
;EXTIO Bank 3
LDR r0,=0x40003FFE
LDR r1,=0xFFF01024
STR r0,[r1]
; setting clock skew
; Check version number of W90N740 to set the clock skew
LDR r0, =0xFFF00000
LDR r0, [r0]
LDR r1, =0x0F000000
ANDS r0,r0,r1
BEQ version0
LDR r1, =0x01000000
CMP r0, r1
BEQ version1
B unknow_version
version0
LDR r0, =0x0FF007A
B update_clkskew
version1
LDR r0, =0x0FF0039
B update_clkskew
update_clkskew
LDR r1, =0xFFF01F00
STR r0,[r1]
unknow_version
; check memory type
LDR r0,=0x0
STR r0,[r0]
LDR r0,=0x800
LDR r1,=0x12345678
STR r1,[r0]
LDR r0,=0x0
LDR r2,[r0]
CMP r1,r2
BNE %F0
LDR r0,=0xFFF01008
LDR r1,=0x00009062
STR r1,[r0]
0
;check memory size
LDR r1,=0xFFF01008
LDR r1,[r1]
LDR r2,=0x00001062
CMP r1,r2
LDRNE r0,=0x800000 ;memory size
LDREQ r0,=0x400000 ;memorysize
MOV r0,#0x18
SWI 0x123456
0 B %0
module0
DCD 0x000509c0
DCD 0xfe000FF0
; DCD 0x00009062 ; for W90N740 DEMO BOARD(with 1Mx16 width 32)
; DCD 0x00000000
DCD 0x00009041
DCD 0x00409041
DCD 0x00000292
DCD 0x00000292
module1
DCD 0x000509c0
DCD 0xfe000FF0
DCD 0x000090b5
DCD 0x040090b5
DCD 0x00000292
DCD 0x00000292
module2
DCD 0x000509c0
DCD 0xfe000FF0
DCD 0x000090e3
DCD 0x010090e3
DCD 0x00000292
DCD 0x00000292
module3
DCD 0x000509c0
DCD 0xfe000FF0
DCD 0x000090ed
DCD 0x040090ed
DCD 0x00000292
DCD 0x00000292
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -