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

一、什么是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等前辈博主知识分享,该篇内容为整合自用,如有错误欢迎探讨及指正,感谢。

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: BIOS(Basic Input/Output System)是计算机开机时最先运行的程序,它负责初始化计算机的硬件并启动操作系统。为了保证BIOS的正常运行,需要进行测试。以下是一份BIOS测试用例: 1. 确认BIOS版本号和日期是否正确。 2. 检查主板上的所有插槽和接口是否正常工作。 3. 检查主板上的所有集成设备是否正常工作,如声卡、网卡、显卡等。 4. 检查主板上的所有扩展卡是否正常工作,如显卡、声卡、网卡等。 5. 检查主板上的所有存储设备是否正常工作,如硬盘、光驱等。 6. 检查主板上的所有USB接口是否正常工作。 7. 检查主板上的所有串口和并口是否正常工作。 8. 检查主板上的所有键盘和鼠标接口是否正常工作。 9. 检查BIOS设置界面是否正常显示。 10. 检查BIOS设置界面中各项设置是否能够正确保存和生效。 11. 检查BIOS设置界面中的自检程序是否能够正常运行。 12. 检查BIOS中的启动程序是否能够正常加载并启动操作系统。 13. 检查BIOS中的安全设置是否能够正常保护计算机系统安全。 14. 检查BIOS中的电源管理设置是否能够正常控制计算机的电源管理。 15. 检查BIOS中的其他设置项是否能够正常工作。 以上是一份BIOS测试用例,可根据实际情况进行调整和扩展。 ### 回答2: Bios测试用例是用于验证基本输入输出系统(BIOS)的功能和正确性的测试案例。下面是一些可能的BIOS测试用例: 1. 启动测试:验证BIOS是否能够正确加载并启动操作系统。测试步骤包括开机,检查BIOS版本信息并确保操作系统能够成功启动。 2. 硬件检测:测试BIOS是否能够正确识别和检测计算机的硬件组件。测试步骤包括检查处理器、内存、硬盘、显卡等硬件是否被正确识别和配置。 3. 引导顺序:验证BIOS是否按照正确的启动顺序引导计算机。测试步骤包括确定计算机是否按照预设的引导顺序启动,如从硬盘、光盘或USB设备启动。 4. 时钟设置:测试BIOS时钟设置的准确性和稳定性。测试步骤包括设置和修改系统时间,并验证系统时间是否准确地同步和更新。 5. 密码保护:测试BIOS密码保护功能。测试步骤包括设置、更改和验证BIOS密码,确保只有授权用户可以访问BIOS设置。 6. 电源管理:测试BIOS的电源管理功能。测试步骤包括检查计算机是否能够正确进入和退出睡眠模式,以及是否能够有效地管理电源。 7. 性能优化:测试BIOS设置对计算机性能的影响。测试步骤包括调整BIOS设置,如内存频率、超频等,以测试其对计算机性能的影响。 8. 错误处理:测试BIOS对硬件错误和故障的处理能力。测试步骤包括模拟硬件故障,如断开内存条或硬盘连接,以验证BIOS是否能够正确识别和处理故障。 9. 固件升级:测试BIOS固件的升级功能。测试步骤包括下载和安装最新的BIOS固件,并验证升级过程是否顺利,并且固件版本已成功更新。 以上仅是一些示例,具体的BIOS测试用例可能因不同的硬件组件、BIOS设置和特定需求而有所不同。测试时需要根据具体情况和需要进行调整和扩展。 ### 回答3: BIOS(Basic Input/Output System)是计算机系统中的基本输入输出系统,它是在操作系统启动之前运行的一段软件。为了确保计算机系统的正常运行,我们需要编写一组BIOS测试用例,以验证BIOS是否按预期工作。以下是一份典型的BIOS测试用例: 1. 启动测试 a. 测试计算机是否能够正常启动,检查系统是否能够自检并识别所有硬件组件。 b. 验证引导顺序是否正确,并检查是否可以从各种存储设备启动。 2. BIOS设置测试 a. 检查BIOS设置菜单是否可访问,并验证参数是否可以正确更改和保存。 b. 验证BIOS密码设置是否正常工作,防止未经授权访问。 3. 系统时间和日期测试 a. 验证系统时间和日期是否可以正确设置和显示。 b. 检查系统在断电后能否正确保存时间和日期信息。 4. 硬件功能测试 a. 验证各种硬件接口(如USB、SATA、PCI-E等)是否正常工作。 b. 检查内存和硬盘是否可以被正常识别和访问。 c. 测试CPU和电源管理器的功能是否正常。 5. 引导加载程序(Bootloader测试 a. 验证BIOS是否能够正确加载引导加载程序,并启动操作系统。 b. 检查引导加载程序是否能够正确选择和加载操作系统内核。 6. 安全性测试 a. 验证安全启动(Secure Boot)功能是否正常工作,防止恶意软件和未经授权的操作系统启动。 b. 检查BIOS固件是否具有足够的安全性,以防止未经授权的访问和修改。 7. 错误处理测试 a. 强制引发硬件错误(如内存错误、硬盘错误等),并检查系统是否能够适当地识别和处理这些错误。 以上是一份基本的BIOS测试用例,可以根据实际需求进行扩展和调整。测试BIOS的功能和稳定性对于保证计算机系统的正常运行至关重要,这些测试用例可以帮助我们快速发现和解决BIOS相关的问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值