第一章 uboot理论详解

一、什么是uboot

  1. PC机的启动流程
    (1)PC上电后,自动启动部署在PC机主板上(ROM)的BIOS程序;
    (2)BIOS程序初始化内存和硬盘,从硬盘中将操作系统读到内存中;
    (3)CPU跳转到内存中执行操作系统程序直到启动;
    (4)当操作系统启动时,BIOS任务完成,二者在执行时间上无交集的;

  2. 嵌入式启动流程
    (1)开发板启动方式与pc机方式相同,区别是设备不同,即BIOS替换为uboot,硬盘替换为flash;uboot存储在支持启动的flash中;
    (2)Android启动方式与开发板相同,区别是操作系统启动后加载根文件系统及以后的过程不一样;
    总结:uboot类似于PC机的BIOS,用来引导操作系统启动的一段裸机程序。

  3. uboot需要的满足条件
    (1)自身支持开机启动。uboot是开机后执行的第一个程序,因此对于不同的设备,必须对uboot源码进行移植和修改(start.S文件)以匹配当前设备的硬件;
    (2)支持整个系统在flash上的烧录下载。整个系统包括:uboot、kernel、rootfs等的镜像文件;
    (3)能够管理部分SoC级和板级的硬件。uboot引导操作系统时需要初始化flash和SDRAM以及其他的硬件操作,因此需要能够管理硬件。SoC级:内部外设,如串口等;板级:外部外设,如网卡灯;
    (4)uboot的作用就是启动内核,因此当操作系统启动时,uboot任务已经完成,uboot程序就会结束;

二、uboot的工作方式

  1. 工作流程
    (1)uboot本质就是裸机程序的集合,由众多.c和.h文件组成,编译后生成uboot.bin 文件就是uboot的镜像文件,uboot烧录到启动介质后,CPU在启动介质和内存中(重定位)逐条执行指令;
    (2)裸机程序会自动执行并得到结果,而uboot中的某些程序需要人机交互,因此提供了shell界面来提供命令选择和输入(本质相当于linux的终端);
    (3)uboot中可以设置环境变量,环境变量的作用是指导系统和程序的运行的参数,如可以设置uboot的倒计时3s改为10s的环境变量;环境变量名是系统默认的,部分变量也可以自己添加;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值