此帖出自嵌入式系统论坛
最新回复
你烧写在什么地方?烧写在NandFlash中是不能直接执行的,还要用Nboot引导Eboot。Nboot烧在block0,Eboot烧在block2(具体要看你Nboot里的定义)
将EBOOT直接存储在NOR Flash中,此时必须在EBOOT的代码中实现自加载的过程,即将NOR Flash中的EBOOT全部加载到RAM中,并执行。
; Copy boot loader to memory
ands r9, pc, #0xFF000000 ; see if we are in flash or in ram
bne %f20 ; go ahead if we are already in ram
; This is the loop that perform copying.
ldr r0, = 0x21000 ; offset into the RAM
add r0, r0, #PHYBASE ; add physical base
mov r1, r0 ; (r1) copy destination
ldr r2, =0x0 ; (r2) flash started at physical address 0
ldr r3, =0x10000 ; counter (0x40000/4)
10 ldr r4, [r2], #4
str r4, [r1], #4
subs r3, r3, #1
bne %b10
; Restart from the RAM position after copying.
mov pc, r0
nop
nop
nop
; Shouldn't get here.
b
详情
回复
发表于 2009-4-17 08:44
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持