Bootloader(一)

一、简介

1.概念

       在嵌入式操作系统中中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。

2.引入

我们平常所用的电脑的启动过程大概是图所示:

图1.1

但是对于嵌入式系统中他的启动过程是这样的: ​

在这里插入图片描述

在系统上电后,需要运行一段程序来进行初始化,例如关闭看门狗、改变系统时钟、初始化存储控制器、将更多的代码复制到内存中等。这些操作主要是为了将系统的软硬件环境调整到一个合适的状态,为最终加载操作系统内核做好准备。这段程序被称为BootLoader。所以BootLoader就是一段存储在 ROM 中的程序为了方便开发,BootLoader还可以增加一些功能,比如增加网络功能,从而增强其功能。

3.在FLASH的位置

4.ECU组成

ECU包含了三部分Boot Manager、Application Software以及BootSoftware

其中Boot Software 由Boot Manager 和Reprogramming Software组成,在汽车嵌入式中,我们常说的bootloader 就是Boot Software

Boot manager:引导程序启动。

Reprogramming Software: 更新软件程序,主要更新 App 程序。

5.作用

       如果车辆某个 ECU 只有 Application Software,由于某种故障导致该 ECU的 Application Software 异常,进而导致车辆故障,不能使用。既然属于 Application Software 问题,软件工程师修复好以后,重新将Application Software 刷写进该 ECU 即可。问题来了:怎么将修复好的 Application Software 刷写进该 ECU?为了解决这个问题,Bootloader 应运而生,即:Bootloader 是为更新Application Software 而存在。既然是为更新Application Software 而存在Bootloader 就没有必要时常更新。当车辆下线以后,Bootloader 就固化在ECU 指定内存区,不做更新,而 Application Software 可能会因用户的需求存在升级的可能。

二、启动方式

     大多数的BootLoader都有两种不同的操作模式:启动加载模式和下载模式。但是注意BootLoader的最终目的是启动内核,因此其实这两种当时并没有所谓的差别。

1.启动加载模式

       上电后,BootLoader从板子的某个固态存储设备上将操作系统加载到RAM中运行,整个过程没有用户介入。这种模式是BootLoader的正常工作模式,产品发布时候,BootLoader就工作在这种模式下。

2.下载模式

       这种模式下,开发人员使用各种命令,通过串口连接或者网络连接从主机上下载文件,将他们直接放在内存运行或者烧入flash类固态存储设备中。以后的系统更新也会使用 Boot Loader 的这种工作模式。工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值