NXPのエキスパート:
S32K324チップを使用した製品を開発しましたが、J-Linkでプログラムしたコードがデバッガで読み取られないようにしたいと考えています。プログラムを更新したい場合は、フラッシュメモリ全体を消去してから再プログラムする必要があります。このような方法でフラッシュメモリの読み取りを防止する設定方法はありますか?フォーラムの他の投稿をいくつか読みましたが、HSEを使用してパスワードを設定するのは少し複雑なようです。ST MCUにコンフィギュレーションビットを直接書き込むような、より簡単な方法があれば教えてください。
こんにちは、 @ktwor さん
セキュアデバッグを有効にするためにHSEファームウェアをインストールしたくない場合は、HSEに依存せずに、パスワードを使用してJTAG/SWD経由でMCUへのアクセスを制限する代替手段があります。このアプローチについては、以下のスレッドで議論されています。
[S32K3] HSEを使用しない場合、パスワードでデバッグアクセスを制限してください
内容をご確認いただき、ご要望を満たしているかどうかをお知らせください。
BR、VaneB
こんにちは、 @VaneB さん:
IVTにはLF_CONFIG_ADDRがあることが分かりました。LF_CONFIG_ADDR のアドレスは 0x007D2000 です。
こんにちは、 @ktwor さん
.boot_header を変更してくださいリファレンス・マニュアルのセクション32.5.3に記載されているとおりです。さらに、以前共有したリンク先の画像も参照してください。そこには必要な変更点が示されています。
こんにちは、 @ktwor さん
XRDC構成ポインタ(XRDC_CONFIG_ADDR)に対応するセクションのみを削除し、その他のセクションはすべて変更しないでください。
こんにちは、 @VaneB さん:
どう修正すればいいのか全く分かりません。S32K324というチップを使っているのですが、このチップにはCM7_0とCM7_1しかなく、CM7_2がありません。そのため、IVT内のCM7_2の位置が広く確保されているようです。修正方法を教えていただけないでしょうか?
.section ".boot_header","ax"
。長さSBAF_BOOT_MARKER /* IVTマーカー */
。長さ(CM7_0_ENABLE << CM7_0_ENABLE_SHIFT) | (CM7_1_ENABLE << CM7_1_ENABLE_SHIFT)
。長さ0 /* 予約済み */
。長さCM7_0_VTOR_ADDR /* CM7_0 開始アドレス */
。長さ0 /* 予約済み */
。長さCM7_1_VTOR_ADDR /* CM7_1 開始アドレス */
。長さ0 /* 予約済み */
。長さ0 /* CM7_2コア上のアプリケーションの開始アドレス(予約済み)*/
。長さ0 /* 予約済み */
。長さLF_CONFIG_ADDR /* ライフサイクル構成ポインタ */
。長さ0 /* 予約済み */
こんにちは、 @ktwor さん
IVTをアップデートしましたか?リファレンスマニュアルのセクション32.5.3を参照すると、CM7_2コア上のアプリケーションの開始アドレスの後に予約領域があり、その後にLC構成ワードのアドレスが続くことがわかります。これはXRDC構成ポインタではありません。
こんにちは、 VaneBさん:
ご提供いただいた情報に基づいてテストを実施しましたが、残念ながら、ライフサイクルをOEM_PRODに進めて電源を一度オフにしてから再度オンにしても、SWDは依然としてパスワードなしでアクセスを許可してしまいます。私の設定が正しく反映されていないようです。
画像に示すように、アドレス 0x1B000080 にパスワードを、アドレス 0x7D2000 に 0xDADADADA を既に書き込みました。また、startup_cm7.s の LF_CONFIG_ADDR アドレスを 0x7D2000 に変更しました。設定が機能しない理由について考えられる原因を教えていただければ、問題をさらに分析できます。私の MCU は S32K324 で、開発環境は S32DS3.4 です。
こんにちは、 @VaneB さん:
I have Removed only the section corresponding to the XRDC configuration pointer (XRDC_CONFIG_ADDR) and keep all other sections unchanged.However, it still hasn't taken effect and can still be アクセス without a password. What else could be the reasons for the configuration not taking effect?
こんにちは、 @ktwor さん
考えられる原因をいくつか除外するために、お使いのデバイスにHSEファームウェアは既にインストールされていますか?
こんにちは、 @VaneB さん:
私のデバイスにはHSEがインストールされていません。HSEファームウェアがないため、HSEなしでJTAGパスワードアクセスを実現する必要があります。