【车载开发系列】BootLoader相关概念

本文详细介绍了车载开发中的BootLoader概念,包括其在汽车ECU中的作用,FBL(FlashBootloader)的结构,运行时点,以及BootLoader的启动模式,重点强调了它在软件更新过程中的关键角色。
摘要由CSDN通过智能技术生成

【车载开发系列】BootLoader相关概念

一、Bootloader概念

bootloader是一段固化在放在FLASH中的程序加载代码 ,连接底层硬件与应用程序。它是嵌入式系统在加电后执行的第一段代码。在完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,启动操作系统运行。

二、汽车ECU中的Bootloader

ECU是MCU的一种,一般用在汽车上。ECU经常会用在汽车零部件中,零部件密封性等要求都比较苛刻,并且装车,如果想取下零部件可能需要将车拆解才可以做到,这种行为是不被允许的,成本极高,操作复杂,因此大多主机厂商要求ECU具有升级功能,并且通过多年的积淀制定了行业标准UDS。
ECU开发过程要用到它来构建bootloader,上传和下载数据,即软件刷写,控制器Reset;测试时要用它来读写存储,控制外设;产线上,要用它来校准机械件,控制例程,进行下线执行器测试,刷新软件,配置防盗,读取号码,下线配置等。在行驶过程中,要用它来监测各种故障,并记下故障码;4S店里,技师需要读取当前故障、历史故障,读取故障发生时刻环境信息状态,清除故障,判断故障发生点,还可以用来升级ECU程序。

三、FBL的概念

FBL的全称是flash bootloader。它是用来更新刷写工具的。用于引导程序进入APP或者Secondary Bootloader,可以刷写SBL程序或者激活SBL,( 这个程序仅仅是出厂烧录一次,并且永不更新)
它是嵌入式软件和PC工具的组合,旨在通过总线协议(例如 CAN)对 ECU 软件进行刷新。因此 Flash Bootloader 分为 3 个部分,Bootloader、Flash Driver 和 Flash Tool。
在这里插入图片描述

四、BootLoader运行时点

BootLoader是驻留在ECU非易失性存储器(Nvm None Valitale Memory)中的一段程序代码,每次ECU复位之后,都会运行BootLoader。它会检查是否有来自通信总线的远程程序加载请求,如果有这个请求的话才会进入BootLoader模式。

五、Boot Software

在14229规范中的Boot Software等价于bootloader,它由两部分构成
1、boot manager:引导程序启动
2、Reprogramming Software:更新软件程序,主要更新App程序
一般情况下Boot Software(Bootloader)= Boot Manager+reProgramming Software

六、bootloader的作用

bootloader存在的意义就是更新App程序。主要功能是完成微处理器与周边电路正常运行的初始化工作,建立内存空间的映射,将系统的软硬件环境带到一个合适的状态,加载flash中的系统程序。

七、汽车ECU bootloader的作用

整车作为一个产品最终到消费者手里,如果客户要更新软件,不可能拆卸硬件去升级,一般去到售后或4s店,利用OBD接口或者OTA云升级APP,而这两种方式均依赖于Bootloader程序,如果Bootloader程序不可用,就会导致ECU不可用。

八、BootLoader的启动方式

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

1.启动加载(boot loading)模式

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

2.下载(downloading)模式

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

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值