こんにちは、
現在、FRDM-S32K344上でApp1からApp2へのアプリケーションジャンプをテスト中です。
私たちのアプリケーションレイアウトは以下の通りです:
アプリ1の開始アドレス: 0x00400000
アプリ2の開始アドレス: 0x00500000
デバッグには、フラッシュメモリ保護を有効にした個別のデバッグ構成を使用しています。
App1のデバッグ時、メモリ保護範囲は次のように設定されます。
0x00500000~0x005FFFFF(App2を保護するため)
App2のデバッグ時、メモリ保護範囲は次のように設定されます。
0x00400000~0x004FFFFF(App1を保護するため)
しかし、デバッグ構成によるプログラミング中に、メモリ保護範囲が設定されているにもかかわらず、保護対象のフラッシュ領域が消去されていることが確認されました。
どなたか次の点をCANしてもらえますか?
フラッシュプログラマは、消去/書き込み操作中に、設定されたメモリ保護範囲を尊重することが求められますか?
保護されたフラッシュ領域が消去されないようにするために、追加の設定が必要ですか?
FRDM-S32K344上で1つのアプリケーションだけをプログラムしながら、メモリ保護を使って別のアプリケーションを保存することに成功した方はいらっしゃいますか?
何かご助言やご提案があれば、大変ありがたく思います。
よろしくお願いします。
こんにちは、@Avinpat123さん
同じバージョンのS32 Design Studioで動作しているか素早くテストしました。私も同じ設定を使いました。1つのアプリケーションは0x50_0000領域が保持されるように設定されている間に強制的に0x40_0000し、もう1つのアプリケーションは0x50_0000を強制され、0x40_0000領域は保存されるように設定されています:
この設定が考慮されていることを示すログを以下に示します。
メモリを見ると、内容が本当に保存されているのがわかり、SO、期待通りに動作します。
スクリーンショットを確認したところ、アドレス範囲は設定されているようですが、「この範囲を保持する」チェックボックスが有効になっていません。問題はそこではないでしょうか?
よろしくお願いいたします。
ルーカス