您的位置:首页 > 其它

U-boot在AT91RM9200上的全线移植分析

2007-10-11 23:12 295 查看

U-boot在AT91RM9200上的全线移植分析

Sailor_forever sailing_9806@163.com 转载请注明 http://blog.csdn.net/sailor_8318/archive/ prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2007/10/11/1820904.aspx

**********************************************************************
【摘要】:本文介绍了bootloader的基础知识,分析了U-boot的源代码结构、常见命令及其启动流程,对于AT91RM9200的片内片外启动方式进行了详尽分析,分析启动所需的引导文件的详细流程。针对具体开发板的内存分配情况,介绍了U-boot在AT91RM9200上移植的详细过程。分析了使用go或bootm启动linux内核的方法,对于bootm方式的内核是否压缩、-a、-e、运行地址等16种组合情况,给出了详细的测试过程,提出了6种可用方法种的三种最优解。

【关键字】:U-boot;AT91RM9200;bootm;mkimage;-a;-e;-c

后记:
“纸上得来终觉浅”,以前由于课题任务较紧张,只是对U-boot的移植进行了一些了解,并没有仔细分析其详细的移植过程,尤其是对于一些地址设置方面的问题不太清楚。

上次给小布丁的参考资料有点零散,她也没看太明白,让我下定决心把U-boot的移植过程详细整理下。很多东西心里明白,但要写出来,确要花费更多的时间,但同时也会更注重于细节,对所做的项目也是一个总结完善的过程。求职在即,总结整理此文,也算是为求职做了些准备吧。

本文参考了众多网友的帖子,在此表示感谢!还有一些不太明白的地方,可能还有些错误,欢迎大家讨论指正。

谨以此文献给小布丁,希望她永远开心,工作学习顺利!

Sailor_forever
2007-10-10

****************************************************

本文的详细内容请参见
http://blog.csdn.net/sailor_8318/archive/2008/08/04/2768049.aspx
【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列

目录

一 bootloader介绍 - 1 -
1.1 Bootloader移植的必要性 - 1 -
1.2 BootLoader所支持的CPU和嵌入式系统板 - 1 -
1.3. Boot Loader的安装媒介 - 1 -
1.4 Boot Loader的操作模式(Operation Mode) - 1 -
15. Bootloader与主机之间进行文件传输所用的通信设备及协议 - 2 -
二 U-boot基础 - 3 -
2.1 U-boot源代码目录结构 - 3 -
2.2 U-Boot支持的主要功能 - 4 -
2.3 U-boot命令介绍及环境变量 - 4 -
2.4 U-Boot的启动流程分析 - 6 -
三 U-BOOT在AT91RM9200上的移植 - 10 -
3.1 at91rm9200的启动方式 - 10 -
3.1.1 片内引导 - 10 -
3.1.2 片外引导 - 12 -
3.2 loader.bin, boot.bin, u-boot.bin代码执行流分析. - 12 -
3.2.1 loader.bin - 12 -
3.2.2 boot.bin执行流程 - 14 -
3.2.1 uboot.bin执行流程 - 14 -
3.3 AT91RM9200开发板的存储器情况 - 15 -
3.3.1 内部存储器映射 - 16 -
3.3.2 外部存储器映射 - 17 -
3.4 U-BOOT在at91rm9200上移植修改的文件 - 18 -
3.5 移植的具体步骤 - 19 -
四 U-boot如何引导Linux内核启动? - 24 -
4.1 GO命令引导未用mkimage生成的内核 - 24 -
4.1.1 非压缩内核Image - 24 -
4.1.2 压缩内核zImage - 24 -
4.2 Mkimage参数意义解析 - 25 -
4.3 Bootm的流程分析 - 26 -
4.4 如何用mkimage生成uImage - 28 -
4.5 Bootm命令引导mkimage生成的内核全程解析 - 29 -
4.5.1 非压缩的Image内核 - 29 -
4.5.2 压缩的zImage内核 - 32 -
4.5.3 关于压缩及非压缩内核bootm启动的全面总结 - 35 -

待续:
U-boot如何向Linux内核传递命令行参数?
Go引导内核的详细方法?
Ramdisk与initrd怎么传给内核?

参考鸣谢:
U-Boot在S3C2410上的移植――东华理工学院 焦玉全 黄乡生 鲍玉军
基于Atmel at91rm9200的armlinux的bootloader启动代码分析――balancesli
基于ATMEL AT91RM9200的嵌入式Linux移植笔记――super
基于ARM的嵌入式Linux系统移植技术研究与应用5_1Bootloader移植――未知
u-boot 移植步骤详解――EmbedTheWorld
U-boot与kernel的关系――bobzhang
U-BOOT下使用bootm引导内核方法――luofuchong http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=651003&page=&view=&sb=&o=&fpart=all&vc=1 http://docs.blackfin.uclinux.org/doku.php?id=customizing_u-boot_for_your_own_board
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐