系统篇: uboot 启动流程

Posted 旧年不在cd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统篇: uboot 启动流程相关的知识,希望对你有一定的参考价值。

bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。在PC机上引导程序一般由Bios开始执行,然后读取硬盘中位于MBR(Main Boot Record,主引导记录)中的Bootloader(例如LILO或GRUB),并进一步引导操作系统的启动。然而在嵌入式系统中通常没有像BIOS那样的固件程序,因此整个系统的加载启动就完全由bootloader来完成。它主要的功能是加载与引导内核映像 。

一、u-boot的作用

初始化CPU,初始化内存、串口、时钟等硬件资源,加载内核、引导内核,为操作系统的运行提供环境准备

二、u-boot的启动流程

1、第一阶段依赖于cpu体系结构的代码,从存储介质中读取小部分程序到cpu中,这部分程序要完成引导linux所用的硬件的初始化以及加载uboot其余程序到RAM中

  • 初始化CPU(中断向量表、时钟、内存等资源)
  • 禁止IRQ和FIQ
  • 拷贝u-boot第二阶段的代码到内存
  • 为第二阶段C程序的运行建立堆栈空间
  • 跳转到第二阶段的入口处执行

2、继续初始化必备硬件,加载linux镜像到RAM中,把执行权限交给linux

  • 本阶段所需的硬件资源的初始化,为引导linux kernel做准备
  • 将内核镜像从flash读取到内存中
  • 微内核设置启动参数
  • 引导内核

三、源码分析

目录结构:

以上是关于系统篇: uboot 启动流程的主要内容,如果未能解决你的问题,请参考以下文章

系统篇: uboot 启动流程

[架构之路-25]:目标系统 - 系统软件 - bootloader uboot内存映射与启动流程

正点原子UBOOT启动流程——学习笔记

uboot启动流程

uboot1: 启动流程和移植框架

展讯平台uboot启动流程