- 积分
- 32
贡献154
飞刀49 FD
注册时间2020-1-19
在线时间15 小时
扫一扫,手机访问本帖
|
2440start重定位有这样的代码:
#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
cmp r0, r1 /* don't reloc during debug */
beq stack_setup
ldr r2, _armboot_start
ldr r3, _bss_start
sub r2, r3, r2 /* r2 <- size of armboot */
add r2, r0, r2 /* r2 <- source end address */
copy_loop:
ldmia r0!, {r3-r10} /* copy from source address [r0] */
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
#endif /* CONFIG_SKIP_RELOCATE_UBOOT
请问如果是从nandflash启动,复制又是怎么处理的呢,uboot的大小至少也是几十K啊,怎么全都复制到sdram中呢,请高手指点? |
|