皆さんこんにちは。S32K3シリーズのHSE ABSwap OTAロールバック機構について質問させてください。私の理解では、パーティションAが安定したパーティションである場合、パーティションAからパーティションBに切り替えると、パーティションBでハードフォールトやウォッチドッグタイムアウトなどのエラーが発生します。OTAエラーカウンタが減少し、エラーカウンタが0になると、プログラムはパーティションBを不安定なパーティションと判断し、パーティションAに戻ります。このメカニズムは正しいでしょうか?もし正しくない場合、OTAロールバック機構とはどのようなものですか?
こんにちは、@RootOf3
S32K3 HSE AB Swapの場合、ロールバックメカニズムは、HardFaultやウォッチドッグリセットなどのHSE監視ランタイム障害に基づいていません。
HSE自体は、新たに起動されたアプリケーションの安定性をアプリケーションの実行時の挙動に基づいて判断しません。ABスワップが実行されると新しいイメージが有効になり、通常はユーザーのブートローダーやアプリケーションが更新が成功したかロールバックを要求すべきかを判断します。
Secure Bootも復旧戦略の一部として利用できます。アクティブなイメージの認証に失敗した場合、ブートフローは設定されたブートフローやお客様のソフトウェアデザインに応じて、代替イメージまたは専用のリカバリーイメージを実行するよう設計できます。有効なリカバリーや代替イメージが実行されると、必要に応じてソフトウェアは別のABスワップを要求できます。
まとめると、HSEはSecure Boot、イメージ認証、ABスワップの仕組みを提供しますが、実際のロールバックポリシー、例えばランタイムの失敗検出方法やシステムが前のイメージに戻るタイミングは、ユーザーのブートローダー/アプリケーションによって実装されます。
よろしくお願いいたします。
ルーカス