S32K142 チップは、FSEC の SEC 位置を 11 に設定します。
/* フラッシュ設定 */
。セクション.FlashConfig, "a"
。長さ0xFFFFFFFF /* 8バイトのバックドア比較キー */
。長さ0xFFFFFFFF /* */
。長さ0xFFFFFFFF /* 4バイトのプログラムフラッシュ保護バイト */
。長さ0xFFFF7FFF /* FDPROT:FEPROT:FOPT:FSEC(0xFE = 保護されていない) */
PEMicroを使用してプログラムをチップに書き込んだ後、デバッグが不可能になりました。「デバイスはセキュリティ保護されています。消去してセキュリティ保護を解除しますか?」というメッセージが表示されます。「はい」をクリックすると再びメッセージが表示され、さらに「はい」をクリックするとPEとデバイス間の接続エラーが発生します。JLINKもチップに接続できません。
デバッグ構成で「フルチップ消去による緊急 Kinetis デバイス回復」をチェックしても、接続を確立できません。
こんにちは@minsky
使用方法に違いはありません。J-LINKで選択したプログラミングアルゴリズムによって異なります。例えば、J-FLAHSを使用している場合は、手順の中でプログラミングアルゴリズムを選択するように求められます。
この記事の次のセクションをお読みください。
5. S32K1xxシリーズMCUのフラッシュプログラミングに関する一般的な問題と注意事項
こんにちは。CSEcキーを有効にし、J-Linkでデバッグを無効にしてプロジェクトをコンパイルし、J-Linkを使ってプログラムしました。チップに接続してJ-Linkで内容を読み取ることはできます。この機能はPEでのみ有効でしょうか?
こんにちは@minsky
これらは2つの別々の問題です。バックドアの有効化/無効化に関わらず、CSECを有効にしてキーを割り当てている場合は、一括消去操作を実行する前にキーを消去する必要があります。つまり、ご質問に戻ると、まずCSECキーの消去をデバッグして正常に実行されることを確認し、その後、スタートアップファイルでFSECを設定することができます。ご説明いただいた内容から判断すると、この問題はCSECの不適切な削除に関連しているのではないかと推測します。
こんにちは。弊社製品ではCSEc機能を有効にする必要があります。デバッグを無効にした後でも、一括消去を実行できるようにバックドアを残すにはどうすればよいでしょうか?
まずファイルをパーティション分割し、CSECキーを有効にしてから、 FSECのSEC位置を11に設定し、LIN経由で信号を送信してみました。LIN信号を受信した後、CSECキーを消去しましたが、それでも失敗しました。これは、HEXファイルを「FSECのSEC位置が11に設定されている」ところまで書き込んだ後、それ以上書き込めなくなったためでしょうか?
まず、設定に問題は見当たりません。問題は以下の状況が原因である可能性があります。
例えば、以前にチップ上でパーティション操作を実行し、CSEcキーを有効にしたことがありますか?その場合、デバッガを使用して直接一括消去操作を実行することはできません。一括消去を使用してMCUを操作する前に、CSEcコマンドを使用してCSEcキーを消去する必要があります。