当前位置: 首页 > news >正文

【毫米波雷达(三)】汽车控制器启动流程——BootLoader

汽车控制器启动流程——BootLoader

    • 一、什么是Bootloader(BT)?
    • 二、FBL、PBL、SBL、ESS的区别
    • 三、MCU的 A/B分区的实现

一、什么是Bootloader(BT)?

BT就是一段程序,一段引导程序。它包含了启动代码、中断、主程序等。
雷达启动需要由BT跳转到APP
在这里插入图片描述
它存在的意义是什么呢?
更新APP程序,因为BT和APP都是存储在flash中,BT有擦写flash的功能,将旧APP擦掉,写入新APP

二、FBL、PBL、SBL、ESS的区别

PBL(Primary BootLoader):一级boot,第一引导加载程序(FBL与PBL实际是一个)。
SBL(Second BootLoader):二级boot,第二引导加载程序。目的是更新APP
ESS(Ecu Software Structure ,ECU软件架构)是ECU软件分布结构文件,比如一个ECU有APP、HEX、配置文件config等整合成一个vbf文件,并再ESS中体现起始地址,大小,校验地址信息等。boot通过识别ESS文件,刷写APP和config等,这样可以后续动态调整ESS来实现APP和config调整分区,避免boot也需要跟着更新。
在这里插入图片描述
上图是PBL、SBL、MCU存储器的关系示意图
PBL的作用是在应用软件有效时引导它。PBL是存储在MCU的Flash中,它一般是产品出厂时一次性刷好的,上电或重启后,第一批执行的代码就是PBL。需要刷写软件时,PBL可以通过统一诊断服务(UDS),基于CAN或以太网等底层总线协议与外界诊断仪通信。在校验完诊断仪的权限后,PBL会将诊断仪上的SBL下载到MCU的内存RAM上,然后由SBL进行刷写。SBL包含PBL提供的所有服务以及闪存驱动器(Flash Driver)和一些额外的UDS服务。通过UDS触发,SBL会利用Flash Driver擦除就软件,并把新软件写到对应的存储区。具体流程如下图:
在这里插入图片描述
为了避免应用软件被意外误刷写或删除,PBL中一版不包含Flash Driver,不能直接操作闪存。每次刷写时,包含Flash Driver的SBL都会从诊断仪中重新加载到内存。这种PBL和SBL的分工方案,有如下这些好处:

  • 平时防止应用软件被误刷写
  • 提高网络安全性。每次从诊断仪下载SBL时,都可以通过安全鉴权机制,确保合法的诊断仪才能触发刷写。
  • 通过SBL还能反向刷写更新PBL,提高BootLoader的整体灵活性。

三、MCU的 A/B分区的实现

如下图所示,在A系统运行时,悄悄升级冗余的B系统,完成安装升级后再重启MCU,然后再切换到B系统
在这里插入图片描述

http://www.lryc.cn/news/478779.html

相关文章:

  • AI 搜索来势汹汹,互联网将被颠覆还是进化?
  • 《二分查找算法:在有序数组中搜索目标值》
  • 【万字总结】数据结构常考应用大题做法画法详解_树_哈希表_图_排序大总结
  • Docker + Jenkins + gitee 实现CICD环境搭建
  • rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
  • 商务数据分析在提升客户体验方面的作用体现在哪些环节
  • cooladmin使用整理
  • CentOS 7 更换软件仓库
  • 现代Web开发:React Hooks深入解析
  • HarmonyOS使用arkTS拉起指定第三方应用程序
  • flex安装学习笔记
  • 09-结构化搜索、搜索的相关性算分
  • 手机屏幕上进行OCR识别方案
  • 遗传算法与深度学习实战(22)——使用Numpy构建神经网络
  • react->Antd->Table调整checkbox默认样式
  • 一种ESB的设计
  • 上位机常用通信方式
  • Vue3中使用LogicFlow实现简单流程图
  • 《重学Java设计模式》之 工厂方法模式
  • 【大数据学习 | kafka】kafka的数据存储结构
  • 知识竞赛答题系统,线上答题小程序链接怎么做?
  • 基于SSM的社区物业管理系统+LW参考示例
  • android——jetpack startup初始化框架
  • 英伟达HOVER——用于人形机器人的多功能全身控制器:整合不同的控制模式且实现彼此之间的无缝切换
  • GEE代码学习 day17
  • 论文阅读笔记-Covariate Shift: A Review and Analysis on Classifiers
  • 基于SSM+VUE守护萌宠宠物网站JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
  • 【在Linux世界中追寻伟大的One Piece】Socket编程TCP
  • 进入半导体行业需要具备哪些能力?
  • Nature重磅:AI化学家再升级!大幅提升实验效率,推动化学合成进入“智能化”新阶段