22.uboot流程概述

回味经典——uboot1.1.6 之 第一阶段_漫不经心-CSDN博客

u-boot-2012.04.1 第一阶段分析 内存划分 代码重定位_漫不经心-CSDN博客

回味经典——uboot1.1.6 之 第二阶段 第三阶段_漫不经心-CSDN博客

自己写一下,加深印象

uboot的目的只有一个,就是加载运行内核。为了加载内核,uboot有三个阶段事情要完成。

uboot第一阶段:

配置单板的运行环境。如时钟设置、关看门狗、初始化sdram、代码重定位、内存划分。内存划分把sdram进行合理划分。CPU最终跳转到 sdram 里的 start_armboot() 函数

uboot第二阶段:

        单板外设的初始化,如uart串口、网卡、norflash、nandflash等,使得单板在进入内核之前能够胜任各种工作,比如网口烧写、串口测试等。同时做一些第三阶段的准备,如向 gd 结构体中记录了 机器ID 以及 tag 的存放地址,这俩都是要传递给内核的。

        第二阶段代码最终跳转到 main_loop 里的uboot菜单,接收串口传递进来的各种命令。

uboot第三阶段:

        第三阶段主要的工作就是设置 uboot 将要传递给内核的 tag 以及解析 uboot 头部里包含的信息,最终跳转到内核起始地址去执行,将主控权交给内核。第三阶段之后uboot就自动结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值