S5PV210的uboot启动过程(知识结网)

时间:2022-01-23 17:00:25

uboot是如何启动的:(以S5PV210为例)

  1. 当S5PV210开机之后,先运行IROM中的BL0,BL0的其中一项工作就是将启动介质中的前16K代码(也就是uboot的前16K)拷贝到内部的IRAM中。
  2. 之后跳转至IRAM的0xD0020010处开始执行代码(这部分代码叫做BL1),这部分代码的主要功能就是初始化DDR,并将整个uboot都拷贝DDR中。
  3. 之后通过一个长跳转指令跳转到DDR中去执行剩下的uboot代码。程序就在uboot(裸机程序)这个死循环中,不 断 执行(此时uboot就启动了)。
  4. 启动之后的死循环请看我的博客点击打开链接
  5. 在死循环中主要处理命令和环境变量。这个死循环可以认为是个处理命令和环境变量的shell,在这里需要纠正一个误区,shell并不是操作系统所独有的,裸机程序也能实现shell,uboot中的shell就是一个裸机程序下的shell(shell的作用是实现人机交互的平台)。要想操作uboot就需要通过shell的命令,shell的命令可以用来部署系统(即内核和根文件应该在flash中的什么位置)、设置环境变量、启动内核等等所有操作都需要通过uboot的shell来完成。