随着联网产品能力越来越强,让软件保持最新已成为基本预期,不再是差异化优势。固件无线升级 (FOTA) 正是实现这一目标的机制:无需返厂召回或上门服务,就能部署新功能、修复漏洞,并满足不断变化的法规要求。但每一次成功的 FOTA 背后,都有一个很少被充分重视的硬件决策:选择合适的闪存。

本文将拆解在实际现场可靠实现 FOTA 所需的关键架构、更新机制与安全要求。

FOTA 架构通常围绕两类内存配置构建。双 Bank(双分区)的内部 NOR Flash方法将 MCU 的片上闪存分为活动槽和被动槽—一个运行当前固件,另一个接收新映像。它结构紧凑、成本较低,适合较小的固件负载,并可通过地址重映射实现快速的 Bank 切换。

外部 NOR Flash方法通过 QSPI 或 OSPI 接口将专用存储器连接到应用处理器或 MCU。凭借显著更大的容量,它可以容纳更大的固件镜像、保存多个备份副本,并支持紧急恢复镜像。随着固件逐渐包含 RTOS 协议栈、AI 推理引擎和图形库等内容(往往达到几十 MB),外置 NOR Flash 正在成为工业与汽车系统中更现实的标准选择。

完整A/B更新

这涉及到两个独立的存储区域。完整的新固件镜像被写入其中一个区域,另一个区域用于运行当前应用。更新完成后,应用只需切换到新更新的区域即可。

通常情况下,对于内置闪存来说,这意味着代码大小受到限制,因为需要存储两个完整的固件映像。可以通过使用外部 NOR Flash 来解决这个问题。

有两种方法可以实现这一点:

  1. 对于带有内部存储的主机控制器,我们必须评估这是否足以存储完整的固件映像。如果是,则可以使用类似存储容量的外部 NOR 闪存来存储备份映像。
  2. 就地执行:在内部存储容量很小或没有内部存储的系统中,我们可以使用一个可分区的大型外部 NOR 闪存,或者两个独立的外部 NOR 闪存来存储 A/B 镜像。XIP 允许直接从外部 NOR Flash 运行代码。

Delta 更新

只传输发生变化的代码,从而降低带宽占用、缩短传输时间,并减少闪存擦写次数—随着产品全生命周期内更新频率提高,这一点尤为重要。这比全面更新要复杂得多,因为我们需要处理这些更改。

从设计层面实现安全与韧性

FOTA 不仅是一个运维挑战,更是一个安全挑战。在任何写入操作之前,由硬件安全模块 (HSM) 或 TrustZone 验证的数字签名可确认映像完整性。写入后的 CRC 校验用于验证已存储镜像的正确性。回滚功能可确保更新失败后能够干净利落地恢复到之前的固件版本。安全启动以硬件信任根为基础,确保只有受信任的映像才能执行。

随着 UNECE WP.29 R155 和 R156 将网络安全与软件更新管理要求纳入对所有车辆类别具有约束力的法规,这些机制已从最佳实践变成合规义务。选择支持内置数据完整性保护、ECC 和硬件级安全性的内存(例如英飞凌的SEMPER™ NOR Flash 系列)—可以简化满足这些要求的过程,而不会增加系统的复杂性。

FOTA 现在已成为任何联网产品的基本要求—从智能工业控制器到软件定义车辆。从一开始就正确设计内存架构,决定了这些更新是竞争优势还是市场风险。正确的 NOR Flash 选择—在容量、性能与安全之间取得平衡—能把可靠的更新策略真正落地为可部署的现实方案。

想了解更多关于FOTA内存解决方案的信息吗?探索SEMPER™ NOR 闪存产品组合