一、 引言
FLASH SWAP 是 NXP MCX A 系列微控制器中的一项核心功能,目的在支持安全可靠的Image管理。通过在内部 Flash 空间中分配两个分区来存储两个Image映像 (Image A 和 Image B),在升级过程中,新版本的 Image 可以写入未使用的区块,然后通过交换操作使新版本的Image生效,达到线上即时更新的效果。
此功能主要提供以下优势:
1. 安全的 Image 更新:允许用户在运行系统的同时更新 Image,保留原有的 Image。
2. 可靠的回退机制 :如果更新后的新版本 Image 无法正常启动,系统会自动切回原来版本的 Image。
3. 完整性校验 :每次启动的 Image 均经过验证,防止因损坏的数据导致系统故障。
本文旨在介绍如何启动 MCX A 微控制器的 Flash SWAP 功能,这是一项有助于 Image 升级和存储管理的功能。Flash SWAP 允许系统在执行应用程序的同时进行 Image 的更新,从而实现无缝升级,避免了因更新而让系统中断的情况。
二、Flash SWAP原理介绍
Flash SWAP 的运作原理基于交替使用 Flash 的两个区块(区块 0 和区块 1)。当系统运行于一个区块(例如区块 0)时,另一个区块(区块 1)处于闲置的状态,可以用来写入新的 Image。
以下是 Flash SWAP 的Image更新流程:
1. 系统首先从预设的区块(例如区块 0)启动并运行。此时,区块 1 处于闲置的状态。
2. 当需要进行 Image 升级时,新版本的 Image 写入原本闲置的区块(区块 1)。在写入过程中,区块 0 保留正常运行应用程序。
3. 在新的 Image 写入并验证成功后,MCU 通过设置 SWAP 控制寄存器进行交换操作,使区块 1 成为新的运行区块。
4. 系统重启后,MCU 将从区块 1 启动并运行新的 Image,原先的区块 0 则成为闲置状态,等待下一次更新。
这种交替使用 Flash 区块的机制,确保了系统在升级过程中始终有一个稳定的 Image 版本可供运行,从而最大限度地降低了升级失败导致系统无法运行的风险。
三、MCX A 的 Flash SWAP
上图为 MCX A 系列 Flash SWAP 功能的流程图,描述了 Image 更新和交换(Swap)的操作逻辑,以下是流程介绍 :
1. Enter Flash Swap
系统进入 Flash SWAP 模式,此步骤通常是由用