Uboot引导加载程序(Bootloader)源代码分析与移植.docVIP

Uboot引导加载程序(Bootloader)源代码分析与移植.doc

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
U-boot引导加载程序(Bootloader)源代码分析与移植 目 录 第一章 绪论 3 1.1 U-boot 简介 3 1.2 U-boot 源码树 4 1.3 U-boot 支持的主要功能 5 第二章 U-boot源代码详细分析 6 2.1 U-boot的启动流程 6 2.1.1 第一阶段(Stage 1) 6 2.1.2 第二阶段(Stage 2) 9 2.2 U-boot 的初始化 13 2.2.1 私有数据 global_data 13 2.2.2 初始化序列init_sequence 14 2.2.3 NAND Flash 初始化 20 2.2.4 DataFlash 初始化 22 2.2.5 环境变量重定位 23 2.2.6 初始化设备 25 2.2.7 控制台初始化 27 2.2.8 单板后期初始化 30 2.3命令处理 33 2.3.1 命令数据结构 33 2.3.2 命令查找 35 2.3.3 主循环 35 2.4 Linux 的引导 42 2.4.1 映象格式 42 2.4.2 linux 引导 42 2.4.3 linux 的内核参数传递 52 第三章 U-boot 在S3C2410 上的移植分析 58 3. 1 对ARM-920T内核的支持 58 3. 2 配置自己的开发板 58 3. 3 实现网卡的驱动程序 60 3.4 从NAND Flash启动 61 3.4.1 修改cpu/arm920t/start.s 添加NAND Flash启动跳转代码 61 3.4.2 添加从NAND Flash启动代码 63 3.4.3 添加上述代码中引用的宏定义 65 3. 5 修改Makefile 文件 65 3.6 搭建编译环境 66 3. 7 生成目标文件并进行测试 67 3. 8 测试 69 第一章 绪论 1.1 U-boot 简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11月PPCBOOT改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。  U-Boot的:    开放源码;    支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS;    支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale;    较高的可靠性和稳定性;    高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等;    丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等;    较为丰富的开发调试文档与强大的网络技术支持; 从根目录树中可以看出,U-boot 源代码主要包含以下几个部分 board 目标板相关文件,主要包含SDRAM、FLASH驱动; common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测; cpu 与

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档