2191978_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2191978_ja-JP

2191978_ja-JP

HSEをインストールした後にアプリケーションファームウェアが壊れた

ファームウェアS32K3_HSE_DemoExamples_1_0_0を使用してHSEをインストールした後、メモリをフルにインストールしました。

アプリケーション コードが動作しなくなりました。デバッグ モードでは、フラッシュにアクセスしようとすると致命的なエラーが発生する可能性があります。

HSE と連携するには、アプリケーションで何かを変更する必要がありますか?

HSE に乱数を生成させたいだけです。

Re: application firmware broke after installing HSE

こんにちは@ggreguer

HSE が稼働している場合、まだ CUST_DEL ライフサイクルであれば、サービス HSE_SRV_ID_ERASE_FW を使用できます。これにより、HSE ファームウェアと SYS_IMG が消去されるSO、HSE の観点からはほぼ「工場出荷時設定へのリセット」と同じになります。ほとんどと言うのは、OTP メモリである UTEST フラッシュにプログラムされたデータには影響しないからです。つまり、UTEST の HSE 機能フラグがプログラムされ、FULL_MEM ファームウェアがインストールされている場合、HSE 用に予約された領域は引き続き予約されます。AB_SWAP がインストールされている場合、UTEST の OTA フラグがプログラムされるSO、HSE FW 消去後も AB_SWAP ファームウェアの領域は予約されたままになります。SO、100% 工場出荷時の状態にリセットされるわけではありません。

HSE ファームウェアに問題があり起動できない場合は、ファームウェアを回復するか、SBAF でファームウェアを消去する必要があります。これは、ハンドシェイク メカニズムによって実行できます。残念ながら、この状況では他に方法はありません。

よろしくお願いいたします。

ルーカス

Re: application firmware broke after installing HSE

こんにちは@lukaszadrapa 、お元気ですか?これらのフラグをチェックして、何が起こっているのかさらに調査します。

一方、ロックしているこれらの MCU でマスター リセットを実行する方法はありますか?HSE からすべてを削除し、再び正常に動作させるには、工場出荷時設定にリセットする必要があります。ロックされているボードがいくつかあるのですが、本当に必要です。

Re: application firmware broke after installing HSE

HSE に何らかの問題がある場合 (間違ったクロック構成による致命的なエラー、HSE メモリ リソースの ECC エラーなど)、フラッシュが HSE に対してロックされているが、何らかのエラーのために操作が完了していない可能性があります。HSE GPR レジスタは 0x4039_C028、ビット 16 ~ 29 で確認できます (HSE ファームウェア リファレンス・マニュアル v2.6、表 143 を参照)。HSE_CONFIG_GPR3 のステータス ビット)。リセット後約 1 秒経過しても一部のビットが永続的に設定されている場合、HSE はシャットダウン モードになっている可能性があり、ハンドシェイク手順を開始する必要があります。HSE FWリファレンスマニュアルの「14.6.7 HSEファームウェアハンドシェイク」を参照してください。こちらにも説明を書きました:

https://community.nxp.com/t5/S32K/S32K3-HSE-ERR-GENERAL/mp/2072826/highlight/true#M47407


それでも解決しない場合は、具体的に何が問題なのかを詳しく教えていただく必要があります。


よろしくお願いいたします。

ルーカス

Re: application firmware broke after installing HSEもう 1 つ質問があります。MCU をハード リセットして、エラーなしですべてのメモリを消去できる以前の状態に復元する方法はありますか?
送信された画像に示すように、HSE が初期化されるのを待ってアプリケーション ファームウェアをすでにテストしましたが、まだ動作しません。次を使用してフラッシュに書き込もうとすると、
C40_Ip_pFlashBaseAddress->DATA[0] = 0x00U;

Re: application firmware broke after installing HSE

こんにちは@ggreguer

1. HSE がインストールされると、フラッシュの一部が HSE ファームウェア専用に割り当てられます。リファレンス・マニュアルの次の表を参照してください。
表199.HSE_Bファームウェア使用機能フラグが有効になっている場合の構成の詳細
表200。ABスワップ構成
https://www.nxp.com/webapp/Download?colCode=S32K3XXRM

表 199 は、実際には FULL_MEM がインストールされている場合のメモリの状態です。
たとえば、Pemicro デバッガーを使用する場合、インストールされているファームウェアに応じて適切なフラッシュ アルゴリズムを選択するのはユーザー次第です。このようなフラッシュ アルゴリズムは、予約済み領域へのアクセスを回避します。
Segger のツールはステータス レジスタに基づいてこれを自動的に実行すると思います。詳細については、Segger に直接お問い合わせください。
https://kb.segger.com/NXP_S32K3xx#HSE_activated
https://www.segger.com/support/technical-support/

2. HSE ファームウェアをインストールしたら、次の 2 つが必要になります。
- MU_0 の FSR レジスタの HSE_STATUS_INIT_OK フラグが設定されるまで待機する必要があります。その前に、HSE サービスをトリガーすることはCANません。たとえば、HSE DemoExamples には次のようなものがあります。

lukaszadrapa_0-1761287124700.png

または、RTD の例では次のようになります。

lukaszadrapa_1-1761287139514.png


- リセット後にクロックが初期化されている場合、PRTN0_CORE2_STAT レジスタの WFI ビットを待つ必要があります。このビットは、SBAF/HSE がアイドル状態であり、クロックを変更CANことを示します。HSE の実行中に HSE_CLK を変更することはできません。これにより、予期しない動作が発生する可能性があります。これは RTD ドライバの以前のバージョンでは行われず、ユーザーが行う必要がありました。現在、この問題は修正され、RTD 5.0.0 以降のクロック初期化関数に実装されています。

よろしくお願いいたします。
ルーカス

Re: application firmware broke after installing HSEまた、HSE をインストールした後、J-Flash を使用してメモリを消去することもできません。Re: application firmware broke after installing HSE

#こんにちは@lukaszadrapa

私はS32K3X4EVB-T172ボードで作業しており、HSEファームウェアをインストールしようとしています。
HSE ファームウェアのフラッシュは成功しましたが、アプリケーションは常に次の場所で停止します。

if (FALSE == checkHseFwFeatureFlagEnabled())
{
/* ここで止まります */
}

SO、HSE FW の初期化は続行されません。

UTEST領域(0x1B000080)をチェックしたところ、値0XFFFFFFFFが返されました。
私たちのプロジェクトとイメージを確認して、この問題の解決にご協力ください。

ありがとう

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎12-01-2025 01:27 AM
更新者: