• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

romfs.img,image.rom,image.ram(1)

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网

Q: 编译之后在 images 目录下生成的那些文件都是什么意思
A: 对于一些可能出现的文件,这里做一个解释:
romfs.img: 这个文件是通过 tools/romfs-inst.sh 脚本,生成 romfs 目录及其
下面的文件,然后通过 genromfs 程序打包成一个文件 romfs.img
romfs.img 既可以放在 flash 中,也可以放在 ram 中,但需要在
编译内核时在 driver/block/blkmem.c 里指定地址,以便内核找到.


linux.text: 编译后的内核中 text 段,一般放在 flash 中,只读.


linux.data: 编译后的内核中 data,init 段,一般放在 sdram 中,读写.


image.bin: 上面三个文件顺序连接而生成的 = linux.text + linux.data + romfs.img
有的时候还会得到:

image.rom: 通常 image.rom 的文件大小要比 image.ram 小很多,这是因为 image.rom 是
一个压缩过的内核,前面加上一个小的解压程序负责把内核解压后搬到指定位置.
这个文件可以直接烧进 flash 中,当然也可以在 ram 中运行.这个文件实际上 
就是通常 linux 生成的 zImage 文件.


image.ram: 这个内核没有压缩过,而且必须在 ram 里运行.所以需要通过板子上的 bootloader
将它下载到指定位置后开始执行.相对 image.rom 而言,从 ram 里启动内核,则
代码段和数据段都在 ram 里面.这个文件是编译生成的 elf 格式的linux内核,通过
arm-elf-objcopy 工具生成的二进制映像文件.

可以这样形象的说: image.rom = gunzip program + gzipped(image.ram)

boot.rom: 其实就是 uClinux 编译完成后的文件 images/romfs.img,可以看一下它就是一个
连接.

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/