1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
U-boot解析

u-boot 源码解析 u-boot 介绍 Uboot 是德国 DENX 小组的开发用于多种嵌入式 CPU 的bootloader 程序, UBoot 不仅仅支持 嵌入式Linux 系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌入式操作系统。UBoot 除了支持 PowerPC 系列的处理器外,还能支持 MIPS 、 x86 、ARM 、 NIOS 、XScale 等诸多常用系列的处理器。 board :和一些已有开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中, 子目录中存放与开发板相关的配置文件。它的每个子文件夹里都有如下文件: makefile config.mk smdk2410.c 和板子相关的代码( 以smdk2410 为例) flash.c Flash 操作代码 memsetup.s 初始化 SDRAM 代码 u-boot.lds 对应的连接文件 common :实现uboot 命令行下支持的命令,每一条命令都对应一个文件。例如 bootm 命令 对应就是 cmd_bootm.c 。 cpu :与特定CPU 架构相关目录,每一款 Uboot 下支持的 CPU 在该目录下对应一个子目录, 比如有子目录arm920t 等。cpu/ 它的每个子文件夹里都有如下文件: makefile config.mk cpu.c 和处理器相关的代码 interrupts.c 中断处理代码 serial.c 串口初始化代码 start.s 全局开始启动代码 disk :对磁盘的支持。 doc :文档目录。Uboot 有非常完善的文档,推荐大家参考阅读。 drivers :Uboot 支持的设备驱动程序都放在该目录,比如各种网卡、支持 CFI 的Flash 、串口 和 USB 等。 fs: 支持的文件系统,Uboot 现在支持 cramfs、fat、fdos、jffs2 和 registerfs 。 include :Uboot 使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对 文件系统支持的文件。该目录下 configs 目录有与开发板相关的配置头文件,如smdk2410.h 。 该目录下的 asm 目录有与CPU 体系结构相关的头文件,asm 对应的是 asmarm. 。 lib_xxxx: 与体系结构相关的库文件。如与 ARM 相关的库放在 lib_arm 中。 net :与网络协议栈相关的代码,BOOTP 协议、TFTP 协议、RARP 协议和 NFS 文件系统的 实现。 tools :生成Uboot 的工具,如:mkimage, crc 等等。 uboot 的启动过程及工作原理 启动模式介绍 大多数 Boot Loader 都包含两种不同的操作模式:启动加载模式和下载模式,这种区别 仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是用来加载操作 系统,而并不存在所谓的启动加载模式与下载工作模式的区别。 启动加载(Boot loading )模式:这种模式也称为 自主 (Autonomous )模式。也即 Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户 的介入。这种模式是 BootLoader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。 下载(Downloading )模式:在这种模式下,目标机上的 Boot Loader 将通过串口连接或网 络连接等通信手段从主机(Host )下载文件,比如:下载内核映像和根文件系统映像等。从 主机下载的文件通常首先被 BootLoader 保存到目标机的 RAM 中,然后再被 BootLoader 写到目标机上的 FLASH 类固态存储设备中。BootLoader 的这种模式通常在第一次安装内 核与根文件系统时被使用;此外,以后的系统更新也会使用 BootLoader 的这种工作模式。 工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档