系统篇: 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 启动流程的主要内容,如果未能解决你的问题,请参考以下文章