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

原创 2007年10月11日 23:12:00

 

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

U-bootAT91RM9200上的全线移植分析

 

Sailor_forever  sailing_9806@163.com  转载请注明

http://blog.csdn.net/sailor_8318/archive/<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2007/10/11/1820904.aspx

 

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

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

 

【关键字】:U-bootAT91RM9200bootmmkimage;-a;-e;-c

 

后记:

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

 

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

 

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

 

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

 

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-BOOTAT91RM9200上的移植 - 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-BOOTat91rm9200上移植修改的文件 - 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引导内核的详细方法?

Ramdiskinitrd怎么传给内核?

 

                                                                                          

参考鸣谢:

U-BootS3C2410上的移植――东华理工学院  焦玉全   黄乡生   鲍玉军

基于Atmel at91rm9200armlinuxbootloader启动代码分析――balancesli

基于ATMEL AT91RM9200的嵌入式Linux移植笔记――super

基于ARM的嵌入式Linux系统移植技术研究与应用5_1Bootloader移植――未知

uboot  移植步骤详解――EmbedTheWorld

U-bootkernel的关系――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

 

U-BOOT-2016.07移植 (第二篇) 添加单板

U-BOOT-201607移植 第二篇 添加单板 1. 在board中创建单板目录 2. 创建单板相关头文件 3. 创建defconfig文件 4. 修改arch/arm/Kconfig文件 5. 尝...
  • funkunho
  • funkunho
  • 2016年09月08日 01:46
  • 2138

第二章、Tiny4412 U-BOOT移植二 启动分析

一、启动过程说明        讲解启动过程,首先的源头就是打开电源,这个相信没人人不知道。CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指令。但此时:PLL没有启动,CP...
  • eshing
  • eshing
  • 2014年07月07日 17:16
  • 5520

U-BOOT移植过程详解: u-boot.bin

U-BOOT移植过程详解: u-boot.bin              分类:             U-BOOT移植              2014-01-28 15:42   ...
  • linuxarmsummary
  • linuxarmsummary
  • 2015年04月02日 19:48
  • 9003

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

  • 2011年07月25日 22:15
  • 508KB
  • 下载

U-BOOT全线移植分析系列之三 ――U-BOOT在AT91RM9200上的移植

【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列之三--U-BOOT在AT91RM9200上的移植     U-BO...
  • a746742897
  • a746742897
  • 2016年09月26日 18:00
  • 344

U-BOOT全线移植分析系列之三--U-BOOT在AT91RM9200上的移植

U-BOOT全线移植分析系列之三 ――U-BOOT在AT91RM9200上的移植   Sailor_forever  sailing_9806@163.com转载请注明 http://blo...
  • flymachine
  • flymachine
  • 2011年11月29日 10:32
  • 885

【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列之三--U-BOOT在AT91RM9200上的移植

U-BOOT全线移植分析系列之三 ――U-BOOT在AT91RM9200上的移植   Sailor_forever  sailing_9806@163.com转载请注明 http://blo...
  • Bresponse
  • Bresponse
  • 2011年12月29日 10:51
  • 1229

U-Boot在AT91RM9200上的移植及启动分析

1 引 言     U-Boot(Universal Boot Loader)是遵循GPL条款的开放源码项目,他支持多种体系结构的上百种开发板,并且支持多种嵌入式操作系统内核,具有较高的可靠...
  • flymachine
  • flymachine
  • 2012年03月21日 19:40
  • 1066

(三)U-Boot在AT91RM9200上的移植及启动分析

1.引 言 U-Boot(Universal Boot Loader)是遵循GPL条款的开放源码项目,他支持多种体系结构的上百种开发板,并且支持多种嵌入式操作系统内核,具有较高的可靠性和稳定性,已经...
  • u013256622
  • u013256622
  • 2015年01月23日 18:59
  • 712

(三)U-Boot在AT91RM9200上的移植及启动分析

1.引 言 U-Boot(Universal Boot Loader)是遵循GPL条款的开放源码项目,他支持多种体系结构的上百种开发板,并且支持多种嵌入式操作系统内核,具有较高的可靠性和稳定性,已经...
  • hare_Lee
  • hare_Lee
  • 2011年11月07日 18:14
  • 1383
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:U-boot在AT91RM9200上的全线移植分析
举报原因:
原因补充:

(最多只允许输入30个字)