Bootloader 相关概念理解及测试用例设计

2023-05-16

一、什么是Bootloader

单看单词:boot v.启动;loader n.装货设备,bootloader存在的意义就是指更新App程序,以下简称bl。在14229规范中的Boot Software 等价于bl,由两部分构成

Boot Software(Bootloader)= Boot Manager+Reprogramming Software

1、boot manager:引导程序启动

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

程序运行到BootManager后通过条件判断,决定进入ApplicationSoftware,(即App模式,功能可以正常运行),还是进入到Reprogramming software中(即意味着需要更新APP)

 

二、为什么要用bl

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

即现在已知:为了更新app程序,需要bl程序,即目前ECU的layout内存划分如下(左图1)

但是会涉及一些场景:

1整车的ECU数量众多,但是刷写流程是否共用一套,随着app的版本变化,刷写流程是否变更?变更即意味bl程序不适用,需要更新;

2bl程序发现bug需要更新,如何更新程序,在更新过程中如果出现随机性power down情况,中断bl更新,即bl失效,即无法更新APP,即ECU无APP即失去相关功能;

为避免bl更新失败,有一个程序C专门更新Reprogramming Software(程序B),即可以理解为程序C把关程序B,程序B更新APP,即ECU内存划分如上右图。

三、FBL、PBL、SBL

FBL:(flash bootloader :更新刷写工具的)用于引导程序进入APP或者SBL,可以刷写SBL程序或者激活SBL,( 这个程序仅仅是出厂烧录一次,并且永不更新)

SBL:      刷写程序,用于更新app的

PBL: 位于rom中,是芯片上电后执行的真正第一行代码,在正常启动流程中,会加载SBL1;如果启动异常会虚拟出9008端口用于紧急下载

四、流程

 有的供应商把flash driver 成为SBL。。

5、从测试角度如何测试bl

 五、致谢及其他

感谢知乎博主,csdn等前辈博主知识分享,该篇内容为整合自用,如有错误欢迎探讨及指正,感谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bootloader 相关概念理解及测试用例设计 的相关文章

  • 记录一次wordpress站点迁移过程

    迁移和备份还原的区别是针对不同的install而言的 xff0c 使用上的区别可能是访问的IP会变 几乎所有系统的备份还原都主要涉及下面两个方面 xff0c wordpress也不例外 xff1a 数据库 xff1a mysqldump x
  • ubuntu16.04桌面美化

    先晒一张桌面图 xff1a 电脑是笔记本 xff0c 尺寸13 3 1080P 主要修改如下 xff1a 桌面壁纸 主题 缩放Unity面板左上角 34 Ubuntu Desktop 34 下部类似MacOS中的启动栏 桌面壁纸 主题 缩放
  • Java Math类的函数计算方法汇总

    java lang Math类中包含基本的数字操作 xff0c 如指数 对数 平方根和三角函数 java math是一个包 xff0c 提供用于执行任意精度整数 BigInteger 算法和任意精度小数 BigDecimal 算法的类 ja
  • Ubuntu截图快捷键

    系统设置 键盘 截图查看截图键的设置 xff1a 总结下 xff1a 对整个屏幕截图 xff1a Prt Sc xff08 PrintScreen xff0c 打印按钮 xff09 当前当前窗口截图 xff1a Alt 43 Prt Sc自
  • Ubuntu翻译任何选中的文字

    1 问题 Google Chrome浏览器可以集成Google Translator插件 xff0c 实现浏览器页面文字的翻译 xff0c 但是除了浏览器 xff0c PDF LibreOffice等软件上面的文字也经常需要翻译 Ubunt
  • 关于字符集和编码你应该知道的

    1 Introduction 大部分程序员都会认为 xff1a plain text 61 ascii 61 character xff0c 如我们使用的A字符 xff0c 就是一个字节 8bits Unicode字符集占用2个字节 xff
  • 2019 年 吉林大学 软件学硕967 回忆题

    2019年吉林大学软件工程专业硕士967回忆 一简单题 1给了一个中缀表达式转化为后缀表达式 2给了一组数字 xff0c 用快速排序进行排序 xff0c 写出每一趟的过程 3给了一组11个元素的有序表 xff0c 进行二分查找33 xff0
  • 南京工业大学校园网(智慧南工)自动登录

    前言 南京工业大学校园网 智慧南工 Njtech Home宿舍网自动登录 多平台可用 目前实现windows xff0c macos xff0c openwrt xff0c ios平台自动登录 由于gitee所有项目私有 xff0c 公开需
  • js前端实现语言识别(asr)与录音

    js前端实现语言识别与录音 前言 实习的时候 xff0c 领导要求验证一下在web前端实现录音和语音识别 xff0c 查了一下发现网上有关语音识别也就是语音转文字几乎没有任何教程 其实有一种方案 xff0c 前端先录音然后把录音传到后端 x
  • [Nice_try]python基础学习笔记(六)

    六 函数 局部变量 全局变量 6 1 1函数的概念 将特定功能的代码集成到一个模块中 xff0c 在需要调用的时候进行调用 可以防止内容的重复编写 6 1 2函数的定义 span class token keyword def span 函
  • 论文写作感悟

    以下是学习论文写作课程之后的一些感悟以及收获 xff0c 总结如下 xff1a 关于格式 xff1a 1 在写论文的过程中 xff0c 使用LaTeX排版系统能够让论文显得更加专业 xff0c 而且对公式 排版的处理会更加美观 2 在论文中
  • 软件工程概论第一次作业

    习题 一 单项选择 1 软件是计算机系统中与硬件相互依存的另一部分 xff0c 它是包括 1 B 2 A 及 3 D 的完整集合 其中 xff0c 1 B 是按事先设计的功能和性能要求执行的指令序列 2 A 是使程序能够正确操纵信息的数据结
  • Java递归发实现Fibonacci数列,尾递归实现Fibonacci数列,并获取计算所需时间

    递归法计算Fibonacci数列 xff1a 它可以递归地定义为 xff1a 第n个Fibonacci数列可递归地计算如下 xff1a int fibonacci int n if n lt 61 1 return 1 return fib
  • apache-options配置之Indexes

    配置 Options Indexes FollowSymLinks Indexs的配置的作用是如果不存在Index html文件的时候 xff0c 将该目录下的文件树列出来 一般在线上使用
  • gcr.io和quay.io拉取镜像失败

    k8s在使用编排 xff08 manifest xff09 工具进行yaml文件启动pod时 xff0c 会遇到官方所给例子中spec containers image包含 xff1a quay io coreos example gcr
  • yacs直接读取yaml文档(python)

    yacs在我理解是一种读写配置文件的python包 在机器学习领域 xff0c 很多模型需要设置超参数 xff0c 当超参数过多时 xff0c 不方便管理 xff0c 于是出现了很多类似yaml xff0c yacs的包 关于yacs的使用
  • 基于Gensim的Word2Vec增量式训练方法

    Word2Vec训练好以后 xff0c 随着时间的积累 xff0c 出现一些新词 xff0c 此时可能需要在已有的模型基础上重新训练 xff0c 以补充这些新词汇 xff0c 亦即增量式训练 本文分析了基于Gensim的Word2Vec的增
  • Numpy/Pytorch中函数参数dim/axis到底怎么用?

    numpy或pytorch中很多函数可指定参数dim或axis 例如sum函数 xff0c dim 61 0或dim 61 1是对矩阵列 行进行求和 xff0c 时间久了 xff0c 就搞混了 xff0c 如果是高维array tensor
  • Tensorflow中截断高斯分布(truncated norm)采样的python实现

    Tensorflow中可调用函数tf truncated normal来进行截断高斯分布的采样 什么是截断高斯分布 xff0c 看下图 xff0c 分布在 0 1和0 1处被截断了 xff0c 具体如下 import tensorflow
  • tf.contrib.image.transform与opencv中PerspectiveTransform

    tensorflow中tf contrib image transform函数可对图像做透视变换 xff0c 用法如下 读取图像 img 61 cv2 imread 39 home xp1 Pictures 004545 jpg 39 in

随机推荐