UBoot知识总结

Uboot简介
由德国DENX小组开发,支持多cpu(MIPS、x86、ARM等)、多系统(linux、Vxworks、QNX)。
下载:http://sourceforge.net/projects/uboot

  1. 启动流程(看:Uboot启动流程)

    1. stage1:
      1. 上电初始化硬件。(start.S)
        (复位代码)
        a. 设置异常向量
        b. 进入SVC模式,屏蔽 irq 和 frq
        c. 设置控制寄存器地址(宏定义WATCHDOG寄存器、INTMSK寄存器、INTSUBMSK寄存器、CLKDIVN寄存器)
        d. 关闭看门狗(在看门狗寄存器中写入 0)
        e. 屏蔽中断(向寄存器写入 1)
        f. 设置MPLLCON、UPLLCON、CLKDIVN
        g. 关闭MMU、cache
        h. 初始化RAM寄存器

      2. 将stage2 加载到RAM

      3. 设置好堆栈

      4. 清空bss段

      5. 跳转到stage2 的入口点

    2. stage2:
      1. 初始化本阶段用到的硬件
      2. 检测系统内存映像
      3. 将内核从flash复制到RAM
      4. 为内核设置启动参数
      5. 调用内核
  2. 命令行参数设置
    setenv
    saveenv
    printenv

  3. 移植修改

    1. 单板配置文件位置
      include/configs/xxx.h
    2. 移植步骤
      1. 添加开发板硬件相关文件、配置选项
        a. 选择相近开发板进行参考
        i. 处理器相同
        ii. 处理器体系结构相同
        iii. 外围接口相同
        b. 在顶层Makefile中为开发板添加新的配置选项
        c. 创建新目录并添加新文件
        d. 添加新的配置文件
        e. 编译
        f. 烧写
      2. 配置编译
  4. 编译过程

    1. 编译
      1. 执行每种board相关的配置
        make xxx_config
      2. 编译生成Uboot.bin文件
        make CROSS_CPMPLIE=arm-linux-

参考:
https://wenku.baidu.com/view/73a5997f854769eae009581b6bd97f192279bfbb.html?from=search

上一篇:物理机安装Centos7


下一篇:华为交换机命令