- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
zimage与uimage的区别
uImage与zImage的区别???? 内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。
??? 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。
???? 如何生成uImage文件?首先在uboot的/tools目录下寻找mkimage文件,把其copy到系统/usr/local/bin目录下,这样就完成制作工具。然后在内核目录下运行make uImage,如果成功,便可以在arch/arm/boot/目录下发现uImage文件,其大小比zImage多64个字节。 其实就是一个自动跟手动的区别,有了uImage头部的描述,u-boot就知道对应Image的信息,如果没有头部则需要自己手动去搞那些参数
U-boot的U是“通用”的意思zImage是ARM Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从uImage的0x40位置开始执行,zImage和uImage没有任何区别。另外,Linux2.4内核不支持uImage,Linux2.6内核加入了很多对嵌入式系统的支持,但是uImage的生成也需要设置,这个以后我会介绍。
1、vmlinux 编译出来的最原始的内核文件,未压缩。
2、zImage 是vmlinux经过gzip压缩后的文件。
3、bzImage bz表示“big zImage”,不是用bzip2压缩的。两者的不同之处在于,zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么采用zImage或bzImage都行,如果比较大应该用bzImage。
4、uImage U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的tag。
5、vmlinuz 是bzImage/zImage文件的拷贝或指向bzImage/zImage的链接。
6、initrd 是“initial ramdisk”的简写。一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态
一般情况下都在生成 vmlinux 后,再对内核进行压缩成为 zImage,压缩的目录是
kernel/arch/arm/boot。 下载到 flash 中的是压缩后的 zImage 文件, zImage 是由压缩后的 vmlinux 和解压缩程序组成,如下图所示:
查看 2410 的 datasheet ,发现内存映射的基址是 0x3000 0000 ,那么 0又是如何来的呢?
在内核文档 kernel/Document/arm/Booting 文件中有:
Calling the kernel image
Existing boot loaders: MANDATORY New boot loaders: MANDATORY There are two options for calling the kernel zImage. If the zImage is stored in flash, and is linked correctly to be run from flash, then it is legal for the boot loader to call the zImage in flash directly. The zImage may also be placed in system RAM (at any location) and called there. Note that the kernel uses 16K of RAM below the image to store page tables. The recommended placement is 32KiB into RAM. 看来在 image 下面用了 32K(0x8000)的空间存放内核页表,
0就是 2410 的内核在 RAM 中的启动地址,这个地址就是这么来的。
用U-Boot启动Linux内核1、下载u-boot.bin到SDRAM的0tftp 0uImage2、启动内核
您可能关注的文档
- TS130数字温度开关.pdf
- TS16949 o形圈手册.pdf
- U880无法开机解决方法.doc
- UCC28810 100W单级PFC LED恒流驱动电源.pdf
- UDSAEF 数字化医疗解决方案-HIS篇.pdf
- UG练习七-- 综合练习(二).pdf
- UG CAM的Vericut模拟.pdf
- Unit 10 Where did you go on vacation电子教案.doc
- Unit 2 Growing pains(grammar-protect)导学案.doc
- unit 2 worksheet2 语法--学生版.doc
- ZIGBEE无线的应用.pdf
- ZrO2-II直插式氧化锆氧量分析表.doc
- [VOA自然探索] Explorations - National Cryptologic Museum Is Filled With Secrets of the Past.docx
- ZWICK说明书.pdf
- [高考必看]小学语文农村省级骨干教师中的部分.doc
- [转] 发动机高清分解图示.ppt
- [研究生入学考试]上海大学微机原理与接口技术复试笔试重点复习题.pdf
- _温莎椅_对新中式家具设计创新的启示.pdf
- _新国标_不会让电动车企业发展_限速_.pdf
- [冲压发动机世纪发展史]A Century of Ramjet Propulsion Technology Evolution.pdf
文档评论(0)