📄 nand_s.s
字号:
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#
#
# Use of this source code is subject to the terms of the Microsoft end-user
# license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
# If you did not accept the terms of the EULA, you are not authorized to use
# this source code. For a copy of the EULA, please see the LICENSE.RTF on your
# install media.
#
#*************************************************************
# NAME : NAND FLASH Subroutine for a410 bootstrap
# DATE : 18.FEB.2002
# DESC :
# 02.18.2002:purnnamu: modified for A410
# 04.24.2002:purnnamu: optimized for NAND flash bootstrap
#*************************************************************
.equ A410_BASE_ADDR , 0x2000000
.equ PHY_RAM_START , 0x30000000
.equ VIR_RAM_START , 0x8c000000
.MACRO LDR4STR1 src,tmp1,tmp2
ldrb \tmp1,[\src]
ldrb \tmp2,[\src]
orr \tmp1,\tmp1,\tmp2,LSL #8
ldrb \tmp2,[\src]
orr \tmp1,\tmp1,\tmp2,LSL #16
ldrb \tmp2,[\src]
orr \tmp1,\tmp1,\tmp2,LSL #24
.ENDM
.text
.global __RdPage2048
__RdPage2048:
#input:a1(r0)=pPage
stmfd sp!,{r1-r11}
ldr r1,=0x4e000010 @NFDATA
mov r2,#0x800
B2:
LDR4STR1 r1,r4,r3
LDR4STR1 r1,r5,r3
LDR4STR1 r1,r6,r3
LDR4STR1 r1,r7,r3
LDR4STR1 r1,r8,r3
LDR4STR1 r1,r9,r3
LDR4STR1 r1,r10,r3
LDR4STR1 r1,r11,r3
stmia r0!,{r4-r11}
subs r2,r2,#32
bne B2
ldmfd sp!,{r1-r11}
mov pc,lr
.global Launch
Launch:
ldr r2, = PhysicalStart
mov r1, #0x0070 @ Disable MMU
mcr p15, 0, r1, c1, c0, 0
nop
mov pc, r2 @ Jump to PStart
nop
PhysicalStart:
mov r2, #0
mcr p15, 0, r2, c8, c7, 0 @ Flush the TLB
mov pc, r0 @ Jump to program we are launching.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -