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

        

 

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

                 

 

posted @ 2017-02-14 13:35  Asam  阅读(371)  评论(0编辑  收藏  举报