私はFirmware Reference Manual version 2.7の3.2.3.1節に記載されている通り、FULL_MEMモードでMUインターフェース経由でインストールする手順に従っています。
インストールは説明どおりに正常に動作しますが、機能リセット(手順7)を実行すると、HSEエラーコード0x67030001が表示されます。これは2回目のリセット後も続くが、3回目のリセット後には確実に解消される。
いくつか質問があります。
こんにちは、 @Emma_G-gbgさん
HSE_Bファームウェア リファレンス・マニュアルに記載されているように、GSRレジスタは致命的および警告イベントを16ビットの最下位ビットでログ付けします。
上位16ビットはNXPの内部エラー用に予約されています。
お使いのデバイスでビット0が設定されている場合、致命的なエラーが発生し、HSEがシャットダウンしたことを示しています。この状態では、シャットダウンモードから復旧して終了するには、デバイスのリセットが必要です。
FSRレジスタとHSE_CONFIG_GPR3(0x4039C028)の値を教えていただけますか?また、リセットを実行した後、GPR3のHSE_STATUS_INIT_OKフラグが設定されるまで待ちましたか?
さらに、 スレッドのS32K3でMU経由でHSEファームウェアをインストールする際の回復問題で、MU経由でHSEファームウェアをインストールするデモも共有されました。参考資料として役立つかもしれません。
BR、VaneB
最初の2回のリセット後、値は以下のとおりでした。
HSE_CONFIG_GPR3: 0x10000081
DCMRWP1: 0xA5000400
GSR: 0x67030001
FSR: 0x00400000
そして3回目のリセット後の値は次の通りでした。
HSE_CONFIG_GPR3: 0x000000C1
DCMRWP1: 0xA5000400
GSR: 0x00000000
FSR: 0x09600000
こんにちは、 @Emma_G-gbgさん
リセット1と2:FSR = 0x00400000。ビット24(HSE_STATUS_INIT_OK)が設定されていないということは、HSEの初期化がまだ完了していないことを示しています。GSR値0x67030001は、ビット0(HSE_ERR_GENERAL)が設定されていることを示しており、これによりHSEサブシステムのシャットダウンがトリガーされました。
リセット 3: FSR = 0x09600000。ビット24(HSE_STATUS_INIT_OK)が設定され、HSEの初期化が正常に完了したことを示します。GSR値0x00000000は、HSEエラー/警告が報告されなかったことを示しています。
この挙動の原因としては、アプリケーションがHSE初期化が完全に完了する前にクロック初期化、XRDC設定、またはフラッシュ操作を行っている可能性があります。
こんにちは、 @Emma_G-gbgさん
XRDCについては、HSE_BファームウェアリファレンスマニュアルRev. 2.7のセクション14.6.3の注を参照してください。
クロックの初期化については、同文書のセクション2.4.2.3.3に記載されています。
ありがとうございます。現在、フラッシュ同期について調べています。
クロックやXRDC initがHSEの立ち上げに影響を与えるとは知りませんでしたが、これはどこで説明されていますか?