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 启动流程相关推荐

  1. uboot流程——uboot启动流程

    [uboot] (第五章)uboot流程--uboot启动流程 2016年11月07日 20:12:07 阅读数:2230 以下例子都以project X项目tiny210(s5pv210平台,arm ...

  2. U-boot启动流程[一]

    U-boot启动流程[一] 文章目录 U-boot启动流程[一] 1 U-boot总体流程 1.1 不带atf启动 1.2 Atf与U-boot组合方式启动 2 U-boot初始化 2.1 从cpu处 ...

  3. 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  4. ARMv8架构u-boot启动流程详细分析(一)

    文章目录 1 概述 2 armv8 u-boot的启动 3 u-boot源码整体结构和一些编译配置方式 3.1 编译配置方式 3.2 u-boot源码结构 4 u-boot armv8链接脚本 4.1 ...

  5. U-Boot启动流程(Linux内核)的分析

    http://www.360doc.com/content/12/0816/10/7775902_230452499.shtml     前面一段时间一直在移植U-Boot,Linux内核和构建根文件 ...

  6. U-Boot启动流程(Linux内核)的分析(写得好)

    前面一段时间一直在移植U-Boot,Linux内核和构建根文件系统,其中有些地方还不是很明白,现在回过头来,理解一下U-boot的启动流程,以及 u-Boot是如何加载引导内核启动的.这里的分析也都是 ...

  7. U-BOOT学习之2014.4版Uboot启动流程分析

    一.前言 老大给我布置了一个任务:某某项目uboot开发之usb增强ic驱动. 不知道大家看到这个任务懵不懵,反正我最开始是蒙的.后来又问了一下,才明白到底要做啥. 任务是这样的:因为这个项目的usb ...

  8. U-Boot启动流程详解

    参考:U-Boot顶层目录链接脚本文件(u-boot.lds)介绍 作者:一只青木呀 发布时间: 2020-10-23 13:52:23 网址:https://blog.csdn.net/weixin ...

  9. linux uboot启动流程分析,uboot启动流程分析

    uboot版本为NXP维护的2016.03版本 下载地址为http://git.freescale.com/git/... 分析uboot的启动流程,需要编译一下uboot,然后打开链接脚本 u-bo ...

  10. Exynos4412 Uboot 移植(二)—— Uboot 启动流程分析

    uboot启动流程分析如下: 第一阶段: a -- 设置cpu工作模式为SVC模式 b -- 关闭中断,mmu,cache v -- 关看门狗 d -- 初始化内存,串口 e -- 设置栈 f -- ...

最新文章

  1. 二十、SPI设备驱动及应用(一)
  2. 机房收费--充值和退卡
  3. C#如何安全、高效地玩转任何种类的内存之Memory(三)
  4. 解决django3.x manage命令makemigrations无法创建数据表
  5. 动态规划爬楼梯(为什么到i级的方法=i-1级的方法+到i-2级的方法)
  6. java面试中的智力题
  7. java WebSocket客户端断线重连 | 实用代码框架
  8. unity屏幕分辨率设置
  9. 奶爸日记21 - 探险乐园
  10. IIS反向代理 URL重写 404或500 错误问题的解决方案
  11. java毕业设计_基于android的二手书城app的设计与实现
  12. Android环境搭建
  13. UConn DataMining Math5671 课程小记(2)
  14. 红警职教智能硬件电子电路基础版教材与配套视频资源即将开发完毕
  15. iOS:error: exportArchive:No certificate for team ‘xxx‘ matching ‘‘xxx found
  16. Vue3+TS + element-plus 项目 动态生成Icon图标
  17. Linux shell实现阶乘
  18. 黑龙江省计算机一级考试科目,黑龙江省2021年3月全国计算机等级考试时间和科目调整...
  19. 整数n分解成素数乘积c语言,关于几种求素数的方法(C语言描述)
  20. MyEclipse 9 0正式版官网下载(附Win+Llinux激活方法 汉化包)

热门文章

  1. 2018电商线上线下加速融合,双十一助力品牌融入新零售
  2. 华为究竟是一种什么文化?
  3. 通过经纬度获取完整的国、省、市、地区、街道
  4. 浅谈电力线上网的前景
  5. (2)lordPE脱壳
  6. 计算机C语言代码实例:统计0~9出现的次数
  7. python语句中的 end=''是什么意思呢
  8. onnx动态模型转静态模型
  9. 【金融项目】尚融宝项目(三)
  10. 释梦代刷网八套模板+源码+教程 全部功能可用