問題の説明:
マルチリンク デバッガー経由でカスタム VCU ボード (MPC5775B マイクロコントローラ搭載) をフラッシュできません。フラッシュプロセスは検証段階で停止し、アドレス範囲 0x00800000 ~ 0x008FFFFF 全体にわたってブロックされます (添付のスクリーンショットを参照)。
特定された根本原因:
JTAG マルチリンク デバッガーによる MCU のフラッシュ中、具体的には消去プロセス中に電源中断が発生しました。フラッシュ メモリの全体が破損した状態になっているようです。
これまでの分析と試み:
アプローチ1:
アプリケーション層メモリが部分的に破損している場合、これまではメモリ セグメントの保持オプションを無効にして破損していない領域をフラッシュし、アプリケーション メモリ全体を消去することで回復していました。
このCASE、S32 Design Studio for Power Architecture (S32DSPA) で保存されたメモリ範囲オプションをすべて削除し、Multi-Link JTAG デバッガーを使用して再フラッシュを試みました。
それにもかかわらず、フラッシュ プロセスは依然として停止しており、現在 0x00800000 ~ 0x008FFFFF の範囲全体での検証がブロックされています。
アプローチ2:
S32DSPA には、フラッシュ メモリを手動でクリアする直接的なオプションはありません。
PE Micro PROG-HL-PPCNEXUSツールをテストしました。デモ バージョンではメモリの読み取りは可能ですが、消去機能は無効になります。
観察:
コア 0:完全に破損しています (未定義の状態 XX)。
コア1:空の状態
デモ版ではCore 0の消去操作はできません。
セットアップの詳細:
MCU: MPC5775B
接続: マルチリンクユニバーサルデバッガを使用したJTAGのみ
ボード: カスタム VCU ボード
サポートのリクエスト:
Core 0 フラッシュが完全に破損しているようで、すべての保存メモリ範囲を削除しても 0x00800000 ~ 0x008FFFFF の全範囲にわたるフラッシュ プロセスがブロックされていることを考えると、破損した Core 0 メモリを JTAG (ユニバーサル マルチリンク デバッガー) 経由で完全にクリア/消去する別の方法があるかどうか教えてください。
ありがとう、デイビッド。
正確な手順に従うことでボードを回復することができました。
これを試すことができます:
なお、MPC5775B は MPC5777C と互換性のあるデバイス、SOそのまま動作する可能性があります。