uboot中的拷贝程序是指拷贝uboot自身吗

uboot中有那么一段程序判定程序是否在内存中,如果不是就拷贝过去内存中。拷贝过去的那程序是uboot自身程序吗?... uboot中有那么一段程序判定程序是否在内存中,如果不是就拷贝过去内存中。
拷贝过去的那程序是uboot自身程序吗?
展开
 我来答
lifenothing
2012-07-10 · 超过17用户采纳过TA的回答
知道答主
回答量:112
采纳率:100%
帮助的人:33.6万
展开全部
是uboot的可执行镜像,不是指程序,也就说uboot在第一阶段把自己的镜像copy到内存中,并且跳到内存中继续执行,这样说不知道您是否明白?
百事牛
2024-10-28 广告
作为深圳奥凯丰科技有限公司的一员,对于zip删除文件的处理,我们可以这样回答:要打开zip压缩包中删除的文件,实际上需要首先明确文件是否真正从压缩包中移除了。如果文件已从zip中删除,那么就无法直接打开,除非有备份。但如果是指解压后删除了某... 点击进入详情页
本回答由百事牛提供
百度网友7f56ec9
2012-07-09 · TA获得超过277个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:156万
展开全部
是的,start.S中,一般长这样:
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7c16c8e
2012-07-21 · TA获得超过616个赞
知道小有建树答主
回答量:327
采纳率:100%
帮助的人:173万
展开全部
这个要看芯片的具体启动过程,如果是nand启动,对于2410或者2440是要把uboot前4k拷到片内ram,然后运行,复制整个uboot代码到片外的sdram。这就是为什么uboot里边的代码段起始地址TEXT_BASE = 0x33F80000,而链接文件里给的链接地址是0,因为代码要重定位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式