2406819_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2406819_ja-JP

2406819_ja-JP

S32K358 HSEがフラッシュ消去後に初期化されない

NXPチームの皆様、こんにちは。

私はS32K358を使用しており、AB-SWAP(OTA)でHSEを有効にしています。HSEは以前は動作していましたが、ブートローダー+アプリケーションイメージを組み合わせてフラッシュし、部分的なコードフラッシュ消去を行うと、HSEは初期化できなくなりました。

環境

  • MCU:S32K358

  • HSE: AB-SWAP / OTA対応

  • HSE FW: s32k358_hse_fw_1.14.0_2.40.0_pb230807.bin.pink

  • インストーラー: S32K344_HSE_FW_INSTALL (AB-SWAP構成)

  • デバッガ:J-Link / PEmicroからS32 Design Studioまで

  • アプリケーション:カスタムBMSブートローダー+SHA-256/RSAセキュアブート機能用HSEを用いたアプリケーション

最新号

フラッシュ操作後、Hse_Ip_GetHseStatus() は初期化された HSE ステータスを返しません。MU0 FSR(0x4038C104)は0x00000000のままで、インストーラーアプリケーションはHseFwInstall_WaitInitOk()で止まり、最終的にHSE_INSTALL_MU_TIMEOUTを報告します。

以下の観察結果が得られた。

  • 0x4038C104 (MU0 FSR) = 0x00000000

  • 0x1B000000 (UTEST HSE機能フラグ) = DDCCBBAA AABBCCDD

  • 0x00400000には、60FFFFDBで始まるデータが含まれています...

  • HSEのパッシブ領域0x00BD4000はデバッガを通って読み取ることができません

  • J-Linkの受動領域の検証に失敗しました

  • .pinkを直接読み込むJ-Linkがファイル形式がサポートされていないと報告するファイル

アプリケーション/コードのフラッシュ部分を消去しました:

0x00400000 – 0x0068FFFF

私たちが理解している限りでは、これはHSE/sBAFの予約領域とは重複していません。

0x00BD4000 – 0x00BFFFFF

質問

MU FSRが0x00000000のままAB-SWAPを有効にした状態でS32K358の正しいHSE復旧・再インストール手順についてアドバイスいただけますか?

具体的には:

  1. HSEが有効化/保護された後、HSEパッシブ領域はJ-Link経由では読み取り不能になることが想定されていますか?

  2. 復旧のために、.pink を直接プログラムするのではなく、必要な IVT/ブート ヘッダーを含む完全な HSE インストーラ ELF を使用すべきでしょうか。ファイル?

  3. もしUTEST HSE機能フラグがすでにプログラムされていて、HSEファームウェアデータが0x00400000に存在している場合、どのような条件でsBAFがPOR中にHSEファームウェアをインストールまたは初期化できないのでしょうか?

  4. sBAF版とHSEファームウェア版のLC状態や互換性が原因で、明らかなエラーなしにインストールが失敗する可能性はありますか?

  5. MU0 FSRが0x00000000のままの場合、HSEの起動/インストール失敗の原因を特定するために、どのレジスタまたはステータスビットを確認すればよいでしょうか?

  6. 部分的なコードフラッシュ消去後、AB-SWAP復旧のために従わなければならない特定の手順はありますか?

期待される動作としては、PORとHSEの初期化が正常に完了した後、MU0 FSRにHSE_STATUS_INIT_OKとHSE_STATUS_RNG_INIT_OKが表示され、HSEサービスが使用できるようになることです。

正しい復旧手順と、収集すべきレジスタ/デバッグ情報についてご教示いただければ大変ありがたいです。

よろしくお願いします。

Re: S32K358 HSE not initializing after flash erase

まず最初に明確にしておきたいのは、このデバイスにHSEが正常にインストールされ、実行されていたことがあるのか、それともUTESTフラグをプログラムしてHSEイメージを0x00400000にフラッシュした後に、HSEの初期インストールを実行しようとしているのかということです。

あなたの説明からは、HSEが以前にインストールされて動作していたものの、フラッシュ消去後に初期化が停止したのか、それとも今回が最初のインストール試行であり、sBAFがPOR中にHSEファームウェアをインストールしなかったのかが明確ではありません。

この情報があれば、考えられる根本原因を大幅に絞り込むことができるだろう。HSEが以前は正常に動作していたのであれば、何が変更されたのか、ファームウェアが無効化されたのか、あるいは消去されたのかに焦点を当てるでしょう。もしそれが全くうまくいかなかった場合は、インストールに必要な前提条件とイメージの有効性に焦点を当てます。

Re: S32K358 HSE not initializing after flash eraseこんにちは、デイビッドさん。
確認のため申し上げますが、フラッシュ消去操作を行う前は、HSEはこのデバイスに正常にインストールされ、正しく動作していました。これは、最初のHSE(安全衛生環境)導入の試みではありません。

HSEのインストール後、HSE Cryptoのサンプルを使用して、HSEが正しく機能していることを確認しました。特に、SHA-256ハッシュアルゴリズムを正常に実行できたことで、HSEが初期化され、HSEの暗号サービスが正しく動作していることを確認できました。

一連の出来事は以下の通りでした。

AB-SWAP/OTA構成でHSEのインストールに成功しました。
HSEの初期化が成功したことを確認しました。
HSE Cryptoの機能をテストしたところ、SHA-256の実行に成功しました。
次に、ブートローダーとアプリケーションイメージを組み合わせたプログラムを書き込みました。
その後のデバッグ/プログラミング作業中に、以下の部分からコードフラッシュの消去を実行しました。
0x00400000 – 0x0068FFFF
この消去操作とPORの後、HSEは初期化を停止しました。
現在、Hse_Ip_GetHseStatus() は初期化された HSE を示しておらず、インストーラーは HseFwInstall_WaitInitOk() で停止し、最終的に HSE_INSTALL_MU_TIMEOUT を報告します。

したがって、この問題はHSEの初期インストール時の問題ではなく、フラッシュ消去/プログラミング操作中に何らかの変更があったことに関連していると考えられます。

消去範囲が、HSEファームウェア、AB-SWAPメタデータ、ブート構成、またはHSE初期化に必要なその他のHSE関連情報に影響を与えた可能性があるかどうかを知りたいです。

影響を受けた箇所を特定するために、他に確認すべきメモリ位置やレジスタ値があれば教えてください。
Tags (1)
No ratings
Version history
Last update:
‎08-28-2026 04:33 AM
Updated by: