10th.U-boot——代码结构分析

Posted Asam学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10th.U-boot——代码结构分析相关的知识,希望对你有一定的参考价值。

简介

    U-Boot(Universal Boot Loader),通用BootLoader,一是可以引导多种操作系统,二是支持多种架构CPU。

 

    教程中是在sourcefoge网站上下载的U-boot-1.1.6源码,进行分析与移植。

 

结构分析

    U-boot-1.1.6有26个子目录,可以简单分为四类:

      1.平台相关或开发板相关

      2.通用的函数

      3.通用的设备驱动程序

      4.U-boot工具,示例程序,文档。

 

 

    

           

 

 

 

    

    目前U-boot-1.1.6支持10种架构。很容易找到与自己板子相似的配置,在上面稍作修改即可。

 

U-boot代码分析

    

    U-boot属于两个阶段的Bootloader,第一阶段的文件为cpu/arm920t/start.S和board/smdk2410/lowlevel_init.S,前者与平台相关,后者与开发板相关。

    

    第一阶段主要有以下工作:

    1. 设置为SVC模式
    2. 关闭看门狗
    3. 屏蔽所有中断
    4. 初始化SDRAM
    5. 设置栈
    6. 设置时钟
    7. 代码重定位(Flashn==>SDRAM)
    8. 清bss段
    9. 调用statr_armboot

        

 

      第二阶段主要有以下工作: 

                 

 

以上是关于10th.U-boot——代码结构分析的主要内容,如果未能解决你的问题,请参考以下文章

u-boot分析与使用

u-boot分析与使用

u-boot分析与使用

u-boot.2012.10——mini2440(启动流程分析)

U-boot主Makefile详尽分析

u-boot命令实现