文章总结: 本文详细介绍了AB面OTA升级机制,通过双系统、双分区、双镜像等五种切换方案实现无中断系统更新。核心优势包括升级过程不影响用户使用、失败自动回滚、流式传输无需完整下载包。文档还明确了客户端需具备的7项功能要求,以及分区属性管理和切换流程的具体实现方法。 综合评分: 85 文章分类: 车联网安全,解决方案,安全建设,IoT安全,技术标准
如何实现永不中断的OTA升级?一文读懂AB面机制
谈思实验室
2026年5月13日 17:50 上海
在小说阅读器读本章
去阅读
点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
介绍
AB面升级的目标是确保在升级过程中在控制器内部保留一个可正常启动和使用的系统,采用该方式可以显著降低系统更新之后无法启动的可能性。由此可见,AB面升级可以带来如下优势:
- OTA升级可以发生在系统运行期间,且不存在中断终端用户的使用和操作。
- 更新后的重新启动时间不会超过常规启动所需要的时间。
- 如果出现OTA升级失败,终端用户的设备将不会受到影响。
- 如果OTA升级成功但是无法运行,设备将会重新启用旧分区确保系统稳定运行。
- 任何错误都只会影响未使用的分区,并且用户可以进行重试。
- 升级包可以流式传输到AB设备,因此安装之前不需要先下载升级包。
- 缓存 分区不在用于存储OTA升级包,因此无需确保缓存区的大小足以满足日后的更新需求。
在进行AB面升级石,客户端(云端)和系统(终端设备)需要进行更改。此外,OEM需要自行提供客户端,并且客户端需要具备以下要求:
- 确定更新时机。由于OTA的AB面升级是在后台进行,因此不需要由用户启动。为了避免给用户造成不必要的干扰,建议将更新安排在设备处于闲时维护模式并连接到外部网络时展开工作。
- 向OTA更新包服务器 进行核查,确定是否存在可用的升级包。
- 调用客户端更新接口,以获取更新包(若存在更新包)。更新接口将在流式传输更新包的同时,并在当前未使用的分区上更新原始数据块。
- 根据更新接口向服务器上报成功或失败的结果。
- 显示提醒用户重新启动系统的通知。
- 告知AB面升级的结果(成功和失败均需告知用户)。
02
分区选择
AB面升级需要使用两组分区。系统从当前分区(假设为A区)运行,在正常操作期间,运行中的系统不会访问B区中的内容。这种方法通过降未使用的分区保留为后备分区,以防范升级过程出现问题。如果在升级期间或者升级刚刚完成后出现错误,系统可以回滚到原来的分区并继续运行。为了确保该目标,当前分区在使用过程中都不应在升级期间进行修改。
每个分区必须具有一个“可启动”的属性,该属性用于表示相应分区存储的系统正确无误,可以从该分区启动。系统运行时,当前分区处于可启动状态,但另一个分区则可能包含旧版本(仍然正确)的系统、包含更新版本的系统,或包含无效的数据。无论当前分区是哪一个,都有一个分区是首选分区。
每个分区还需要一个由用户空间设置的“成功”属性,仅当相应分区处于可启动状态时,该属性才具有相关性。被标记为成功地分区应该能够自行启动、运行和更新。未被标记为成功的可启动分区应由引导加载程序标记为不可启动。
03
AB面更新
OTA分类
双系统切换方案
该方案使用两个独立的MCU芯片,每个芯片负责一个面的固件运行。在升级时先将待升级的固件下载到未运行的那一面对应的芯片上,并执行切换操作。该方案需要双份硬件资源,但实现简单可靠。具体的流程如下:
在该流程中,首先检查当前运行的系统是A面还是B面。然后根据当前的系统,下载对应面的固件。下载完成后,对固件进行校验,确保其完整性和合法性。如果校验失败,则重新进行固件下载。校验通过后,将固件保存到适当的存储介质中(例如Flash存储器 )。接下来执行系统切换操作,将新固件加载到相应的系统中。最后确认切换是否成功。若切换成功,流程结束;若切换失败,则需要重新进行固件下载和切换操作。
双分区切换方案
使用单个MCU芯片,将存储空间划分为两个分区,分别用于存放A面和B面的固件。在升级时,将待升级的固件下载到未运行的分区,并在重启后切换分区。这种方案相对于双系统切换方案节省硬件成本,但需要较高的存储器和固件管理能力。
在这个流程中,首先检查当前运行的分区是A面还是B面。然后根据当前的分区,下载对应面的固件到相应的分区中。下载完成后,对固件进行校验,确保其完整性和合法性。如果校验失败,则重新进行固件下载。校验通过后,更新对应分区的固件。接下来,设置下一次启动时要运行的分区。最后确认切换是否成功。若切换成功,流程结束;若切换失败,则需要重新进行固件下载和切换操作。
双镜像切换方案
使用单个MCU芯片,将存储空间划分为两个独立的镜像,分别用于存放A面和B面的固件。在升级时,将待升级的固件下载到未运行的镜像中,并通过引导程序切换到新的镜像。这种方案可以在固件运行期间完成切换,具有较高的实时性和可靠性。
在这个流程中,首先检查当前运行的镜像是A面还是B面。然后根据当前的镜像,下载对应面的固件到相应的镜像中。下载完成后,对固件进行校验,确保其完整性和合法性。如果校验失败,则重新进行固件下载。校验通过后,将固件保存到适当的存储介质中(例如Flash存储器)。接下来,设置下一次启动时要运行的镜像。最后确认切换是否成功。若切换成功,流程结束;若切换失败,则需要重新进行固件下载和切换操作。
双流程切换方案
使用单个MCU芯片,将固件设计为两个独立的流程,分别对应A面和B面。在升级时,将待升级的固件下载到未运行的流程中,并通过切换信号或事件触发切换到新的流程。这种方案适用于需要更细粒度控制和灵活切换的场景。
在这个流程中,首先检查当前运行的流程是A还是B。然后根据当前的流程,下载对应流程的代码和资源。下载完成后,对代码和资源进行校验,确保其完整性和合法性。如果校验失败,则重新进行代码和资源下载。校验通过后,更新对应流程的代码和资源。接下来,设置下一次启动时要运行的流程。最后确认切换是否成功。若切换成功,流程结束;若切换失败,则需要重新进行代码和资源下载和切换操作。
双引导程序切换方案
将存储空间划分为两个部分,分别用于存放A面和B面的引导程序。在升级时,将待升级的固件下载到未运行的引导程序中,并通过重启或软复位操作切换到新的引导程序。这种方案具有较低的系统开销和实现难度。
在这个流程中,首先检查当前运行的引导程序是A还是B。然后根据当前的引导程序,下载对应的引导程序的映像文件。下载完成后,对映像文件进行校验,确保其完整性和合法性。如果校验失败,则重新进行映像文件下载。校验通过后,将映像文件保存到适当的存储介质中(例如硬盘或闪存)。接下来,设置下一次启动时要运行的引导程序。最后确认切换是否成功。若切换成功,流程结束;若切换失败,则需要重新进行映像文件下载和切换操作。
优缺点汇总
来源:CSDN「老趴菜_汽车研发搬砖人」
https://blog.csdn.net/qq_42957717/article/details/142358648
end
谈思汽车媒体门户
精品活动推荐
AutoSec系列沙龙
专业社群
部分入群专家来自:
新势力车企:
特斯拉、理想、极氪、小米、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯……
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚……
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用……
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、潍柴集团、地平线、紫光同芯、字节跳动、……
二级供应商(500+以上):
中科数测、ETAS、BlackDuck、NXP、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、加特兰微电子、浙江大学……
人员占比
公司类型占比
文章
不要错过哦,这可能是汽车网络安全产业最大的专属社区!
关于涉嫌仿冒AutoSec会议品牌的律师声明
一文带你了解智能汽车车载网络通信安全架构
网络安全:TARA方法、工具与案例
汽车数据安全合规重点分析
浅析汽车芯片信息安全之安全启动
域集中式架构的汽车车载通信安全方案探究
系统安全架构之车辆网络安全架构
车联网中的隐私保护问题
智能网联汽车网络安全技术研究
AUTOSAR 信息安全框架和关键技术分析
AUTOSAR 信息安全机制有哪些?
信息安全的底层机制
汽车网络安全
Autosar硬件安全模块HSM的使用
首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:谈思实验室 《如何实现永不中断的OTA升级?一文读懂AB面机制》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论