网站大量收购闲置独家精品文档,联系QQ:2885784924

一步步教你移植uboot(超精华版).pdf

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

广州广嵌电子科技有限公司 GEC2440U-BOOT-2009.11移植实验 u-boot简介 u-boot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, u-boot不仅 仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD,VxWorks,QNX,RTEMS,ARTOS, LynxOS嵌入式操作系统。u-boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、 ARM、NIOS、XScale等诸多常用系列的处理器。 u-boot u-boot uu--bboooott源码目录介绍 目录 内容 和一些已有开发板有关的文件. 每一个开发板都以一个子目录出现在当前 board 目录中,比如说:SMDK2410,子目录中存放与开发板相关的配置文件. 实现uboot命令行下支持的命令,每一条命令都对应一个文件。例如go命令 common 对应就是cmd_boot.c 与特定CPU架构相关目录,每一款uboot下支持的CPU在该目录下对应一个子 cpu 目录,比如有子目录arm920t等。 disk 对磁盘的支持 doc 文档目录。uboot有非常完善的文档,推荐大家参考阅读。 uboot支持的设备驱动程序都放在该目录,比如各种网卡、支持CFI的Flash、 drivers 串口和USB等。 fs 支持的文件系统,uboot现在支持cramfs、fat、fdos、jffs2和registerfs。 uboot使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文 件和对文件系统支持的文件。该目录下configs目录有与开发板相关的配置 include 头文件,如smdk2410.h。该目录下的asm目录有与CPU体系结构相关的头文 件,asm对应的是asmarm. lib_xxxx 与体系结构相关的库文件。如与ARM相关的库放在lib_arm中。 与网络协议栈相关的代码,BOOTP协议、TFTP协议、RARP协议和NFS文件系 net 统的实现。 tools uboot的工具,如:mkimage, crc等等。 u-boot的启动过程 启动流程 我们一般把bootloader都分为阶段1(stage1)和阶段2(stage2)两大部分,依赖于 CPU体系结构的代码(如CPU初始化代码等)通常都放在阶段1中且通常用汇编语言实现, 而阶段2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植 性。 阶段1,汇编代码,对于s3c2440是cpu/arm920t/start.s文件。 主要流程如下: 设置CPU的模式为SVC模式 关闭看门狗 禁掉所有中断 设置以CPU的频率 把自己拷贝到RAM 1 广州广嵌电子科技有限公司 配置内存区控制寄存器 配置的栈空间 进入C代码部分 阶段2是C语言代码,在lib_arm/board.c中的start_armboot是C语言开始的函数,也是整个启动代 码中C语言的主函数。这个函数调用一系列的初始化函数,然后进入主UBOOT命令行,进入命令循环 (即整个boot的工作循环),接受用户从串口输入的命令,然后进行相应的工作,如下图所示。

文档评论(0)

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

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

1亿VIP精品文档

相关文档