こんにちは
NXPS32K144EVBボードを使っていますが、S32 Design Studioでコードをフラッシュしようとすると問題が発生し、同じウィンドウを再度押すと、JFLASHに接続するとこのウィンドウが表示されます
接続中... - USB 経由でプローブ/プログラマデバイス 0 に接続中 - プローブ/プログラマファームウェア: J-Link V9 コンパイル日 2021 年 5 月 7 日 16:26:12 - プローブ/プログラマ S/N: 69408845 - デバイス "S32K144" が選択されました。- ターゲットインターフェース速度:4000 kHz(固定) - VTarget = 3.288V - InitTarget() 開始 - SWD 選択。JTAGからSWDへの切り替えシーケンスを実行しています。-アドレス 0x400 - 0x40F のフラッシュメモリ内の保護バイトは、読み出し保護が設定されていることを示します。デバッガーを接続するには、デバイスのセキュリティ設定を解除する必要があります。注意:固定を解除すると内部フラッシュの大量消去が発生します。レジストリに以前保存されたデフォルトの動作を実行します。- デバイスのセキュリティは解除されます。デバイスのセキュリティ解除中にタイムアウトが発生しました。消去は決して止まらない。- InitTarget() 終了 - 2.15 秒かかりました - ID 0x2BA01477 の SW-DP を検出しました - DPIDR: 0x2BA01477 - CoreSight SoC-400 以前 - 利用可能なすべての AP を見つけるために AP マップをスキャンしています - AP[2]: AP マップの終わりに達したため、AP スキャンを停止しました - AP[0]: AHB-AP (IDR: 0x24770011) - AP[1]: JTAG-AP (IDR: 0x001C0000) - 使用する AHB-AP を見つけるために AP マップを反復処理しています - AP[0]: スキップしました。CPUIDレジスタを読み取れませんでした - AP[1]:スキップ。AHB-APではありません - CPUへの接続に失敗しました。リセット状態で接続を実行します。- DPIDR: 0x2BA01477 - CoreSight SoC-400 以前 - 利用可能なすべての AP を見つけるために AP マップをスキャンしています - AP[2]: AP マップの終わりに達したため、AP スキャンを停止しました - AP[0]: AHB-AP (IDR: 0x24770011) - AP[1]: JTAG-AP (IDR: 0x001C0000) - 使用する AHB-AP を見つけるために AP マップを反復処理しています - AP[0]: スキップしました。CPUIDレジスタを読み取れませんでした - AP[1]:スキップ。AHB-APではありません - Coresightセットアップでコアが見つからず - InitTarget() 開始 - SWDを選択しています。JTAGからSWDへの切り替えシーケンスを実行しています。- アドレスのフラッシュメモリ内の保護バイト。0x400~0x40Fは、読み出し保護が設定されていることを示します。デバッガーを接続するには、デバイスのセキュリティ設定を解除する必要があります。注意:固定を解除すると内部フラッシュの大量消去が発生します。レジストリに以前保存されたデフォルトの動作を実行します。- デバイスのセキュリティは解除されます。デバイスのセキュリティ解除中にタイムアウトが発生しました。消去は決して止まらない。- InitTarget() 終了 - 2.15 秒かかりました - ID 0x2BA01477 の SW-DP を検出しました - DPIDR: 0x2BA01477 - CoreSight SoC-400 以前 - 利用可能なすべての AP を見つけるために AP マップをスキャンしています - AP[2]: AP マップの終わりに達したため、AP スキャンを停止しました - AP[0]: AHB-AP (IDR: 0x24770011) - AP[1]: JTAG-AP (IDR: 0x001C0000) - 使用する AHB-AP を見つけるために AP マップを反復処理しています - AP[0]: スキップしました。CPUIDレジスタを読み取れませんでした - AP[1]:スキップ。AHB-APではありません - CPUへの接続に失敗しました。リセット状態で接続を実行します。- DPIDR: 0x2BA01477 - CoreSight SoC-400 以前 - 利用可能なすべての AP を見つけるために AP マップをスキャンしています - AP[2]: AP マップの終わりに達したため、AP スキャンを停止しました - AP[0]: AHB-AP (IDR: 0x24770011) - AP[1]: JTAG-AP (IDR: 0x001C0000) - 使用する AHB-AP を見つけるために AP マップを反復処理しています - AP[0]: スキップしました。CPUIDレジスタを読み取れませんでした - AP[1]:スキップ。AHB-APではありません - Coresightの設定でコアが見つからず - エラー:接続に失敗しました。ターゲットとの接続が確立できませんでした。- エラー: 接続に失敗しました
ハイ
考えられる原因:
フラッシュセキュリティはフラッシュ構成フィールドで設定されます。
S32K144では、セキュリティ状態はフラッシュセキュアレジスタから得られます FSEC 。これはリセット時にフラッシュ構成フィールドのフラッシュセキュリティバイトから読み込まれます。デバイスは安全である場合 SEC 安全でない 0b10 です。
一括消去が必要ですが、ブロックされています。
S32K144は通常、関連する FSEC ビット によって有効化された Mass Erase または Verify Backdoor Access Key によって安全解除されることがあります。しかし、もし CSEcはパーティショニングによって有効化されました 、 一括消去はブロックされています 一括消去が有効になっている場合でも MEEN/MEEM 。https://community.nxp.com/t5/S32K/Device-is-secure/td-p/1744921
CSEcが有効になっている場合、復旧にはCSEcデバッグ認証フローが必要です。
文書化された復旧手順は、CSEc パーティションを破壊することです。 CMD_DBG_CHAL そして CMD_DBG_AUTH 知識を持って MASTER_ECU_KEY その後、一括消去が再び可能になります。 。キーが不明で、デバイスがCSEcによる一括消去ブロックで保護されている場合、そのデバイスを復元する手段はありません。 。https://community.nxp.com/t5/S32K/Erased-whole-flash-of-the-S32K144/td-p/2036891
私が試してみる手順は以下の通りです(順不同):
MASTER_ECU_KEY キーを持っている場合は、以下の手順を実行してください。 CMD_DBG_CHAL → CMD_DBG_AUTH → CSEcパーティションを破壊 → 一括消去。unlock Kinetis 。これはマス消去が実際に許可されている場合にのみ機能します。 unlock Kinetis マスイレイスを有効にしていれば動作するはずです。https://community.nxp.com/t5/S32K/S32K148-Unsecurity/mp/1182938結論としては、これは通常の接続速度の問題ではなく セキュリティ/CSEc/大量消去によるブロック状態 ようです。CSEcが有効で MASTER_ECU_KEY がない場合は、実際の解決策は通常MCUを交換することです。
決定的な分岐は、CSEcパーティショニングが有効になっているかどうかです。 MASTER_ECU_KEY CSEcパーティションを破壊して消去してください。そうしないと、保護されたS32K144は復元できない可能性があります。
よろしくお願いいたします
ロビン