LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3654|回复: 12

relocation 应该怎样翻译?

[复制链接]
发表于 2006-4-7 12:15:49 | 显示全部楼层 |阅读模式
一份 U-boot的文档 中 看到的,不知道该 怎么理解
原句如下:
To be able to do just that, U−Boot relocates itself to RAM.

Debugging of U−Boot Before  Relocation

另外 还有一长句,怎么也看不懂,请指教一下:
Running from flash would make it nearly impossible to read from flash while executing code from flash not to  speak of updating the U−Boot image in flash itself.

谢谢
发表于 2006-4-7 21:20:08 | 显示全部楼层
重定向?

简明英汉词典
        relocation
        n.
        再布置, 变换布置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-8 12:25:28 | 显示全部楼层
重定向? 有点像,但觉得不太对,我觉得应该是 “重新分配U-Boot在RAM中的地址” 的意思,但不知道用哪个词,下面是原文中的一段

When U−Boot starts it is running from ROM space. Running from flash would make it nearly impossible to read from flash while executing code from flash not to speak of updating the U−Boot image in flash itself. To be able to do just that, U−Boot relocates itself to RAM. We therefore have two phases with different program addresses. The following sections show how to debug U−Boot in both phases.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-8 12:38:52 | 显示全部楼层
牛津高阶上好像是“迁移到某处,重建”的意思,暂时译作迁移吧

呵呵
回复 支持 反对

使用道具 举报

发表于 2006-4-9 12:30:51 | 显示全部楼层
应该是“重定位”吧
就是uboot把自身拷贝到ram,然后在ram里执行下一步

书上"重定位"的说法比较多,“迁移”有这个意思,但是似乎不够专业性

楼主在翻译uboot啊,+u,+u
回复 支持 反对

使用道具 举报

发表于 2006-4-10 01:09:21 | 显示全部楼层
re-locate,re-location,重定位,迁移...意思很多,翻翻英文注解就明白了,结合上下文理解,别死扣。

Running from flash would make it nearly impossible to read from flash while executing code from flash not to speak of updating the U−Boot image in flash itself.


在运行flash中的可执行代码时(不涉及更新flash中的UBOOT image),对flash进行read操作几乎是不可能的。

不确定对不对~
回复 支持 反对

使用道具 举报

发表于 2006-4-10 01:24:27 | 显示全部楼层
Running from flash would make it nearly impossible to read from flash while executing code from flash not to speak of updating the U−Boot image in flash itself.

在 flash 上运行它会使到它几乎不可能从 Flash 上读取,更别说升级 flash 上的 U-Boot 镜像。

这样翻译是否通顺?
回复 支持 反对

使用道具 举报

发表于 2006-4-18 11:16:40 | 显示全部楼层
Relocation 重定位。

Running from flash would make it nearly impossible to read from flash while executing code from flash not to speak of updating the U−Boot image in flash itself.
如果在 flash 上运行,则会导致在执行 flash 中代码的同时,几乎无法读取 flash,更别说更新 flash 中的 U-Boot 镜像了。

仅供参考,大家继续讨论哈!
回复 支持 反对

使用道具 举报

发表于 2006-5-10 05:58:14 | 显示全部楼层
Post by laoz
When U − Boot starts it is running from ROM space. Running from flash would make it nearly impossible to read from flash while executing code from flash not to speak of updating the U −  Boot image in flash itself. To be able to do just that, U −  Boot relocates itself to RAM. We therefore have two phases with different program addresses. The following sections show how to debug U−Boot in both phases.

我的译文:U-Boot启动时,是从ROM载入运行的。若从flash中载入运行,则当执行flash中的程序代码时会出现代码几乎无法读出的问题,更不用说靠flash自身来更新U-Boot镜像了。.为了能够成功运行,U-Boot将自身重定位到RAM中。 因此,我们得到了二个可执行程序段,它们具有不同的程序地址。. 下面一节讲述如何在这两个程序段中调试U-Boot。

relocate:这原本指是一种为了更加灵活高效地利用内存资源,而在内部可用空间中调整、移动程序和内存区域的技术。一个可重定位程序可以由操作系统装载到可用内存的任一部分里,而非只能装载到一个独有的区域中。可重定位的内存区域是指那些可以由操作系统根据需要来回搬动的一部分内存。例如,早期的电脑为满足一个大的程序的运行,系统可能需要集中若干可用的可重定位内存块来形成一个较大的存储区。
但在此处,我觉得简单理解成“重新载入到一块新的RAM空间中”即可。
回复 支持 反对

使用道具 举报

发表于 2006-5-14 11:19:02 | 显示全部楼层
Post by haHAL
我的译文:U-Boot启动时,是从ROM载入运行的。若从flash中载入运行,则当执行flash中的程序代码时会出现代码几乎无法读出的问题,更不用说靠flash自身来更新U-Boot镜像了。.为了能够成功运行,U-Boot将自身重定位到RAM中。 因此,我们得到了二个可执行程序段,它们具有不同的程序地址。. 下面一节讲述如何在这两个程序段中调试U-Boot。

我对relocate的解释:
重定位∶这是一种为了更加灵活高效地利用内存资源,而在内部可用空间中调整、移动程序和内存区域的技术。一个可重定位程序可以由操作系统装载到可用内存的任一部分里,而非只能装载到一个独有的区域中。可重定位的内存区域是指那些可以由操作系统根据需要来回搬动的一部分内存。例如,为满足一个大的程序的运行,系统可能需要集中若干可用的可重定位内存块来形成一个较大的存储区。

其实你有windows系统调试的经验的话应该知道所有的PE格式可执行文件在386保护模式下运行时都要通过一个PE装载器调入内存的,它的作用就是给定一个imagebase把程序在硬盘上的raw address转化成virtual address, 并完成内存页的对齐(一般是0x1000)。



此重定位非彼重定位

这里的重定位无非是说 U-Boot 把自己搬到 RAM 中
然后跳转到新的位置在 RAM 中执行

另外你想定义一般意义上的 "重定位技术" 也只会增加理解混乱
本来是不同的东西非要扯到一块
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表