BootLoader的流程

本文详细解析了嵌入式系统中BootLoader的启动流程,包括单阶段和多阶段的启动方式,重点介绍了两阶段启动的具体步骤,从硬件初始化到内核映像的加载过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学嵌入式驱动,分享一些自己的理解吧!

BootLoader的启动过程可分为单阶段(Single-Stage)和多阶段(Multi-Stage)两种,通常多阶段的BootLoader具有更复杂的功能,更好的可移植性。

从固态存储设备上启动的BootLoader大多数采用两阶段,即启动过程可以分为stage1(汇编写的)和stage2(C语言写的):

stage1完成初始化硬件,为stage2准备内存空间,并将stage2复制到内存中,设置堆栈,然后跳转到stage2。

 

BootLoader的stage1通常包括以下步骤:

  1. 硬件设备初始化;

  2.为加载BootLoader的stage2准备RAM空间;

  3. 拷贝BootLoader的stage2到RAM空间中;

  4.设置好堆栈;(为下面C语言的运行提供必要环境)

  5.跳转stage2的C入口。

 

BootLoader的stage2通常包括以下步骤:

   1.初始化本阶段要使用到的硬件设备;

   2.将内核映像和根文件系统映像从flash上读到RAM中;

   3.调用内核;

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值