FRDM-A-S32K344向けに2つのアプリケーションを作成しました。1つのアプリケーションはアドレス0x00400000に、もう1つはアドレス0x00500000にあります。
オンボードデバッガで1つのアプリケーションをフラッシュすると、一括消去が行われ、もう1つのアプリケーションも削除されます。
大量消去を無効にして、デバッガーをプログラミング中に特定のフラッシュ領域やセクションだけ消去するように設定するにはどうすればいいですか?
こんにちは、
なるほど、両方のバイナリを同時に正常に読み込めるということですね。
しかし、ブートローダーを使用する予定だとはおっしゃっていませんでしたね。
S32DSでLaunch Groupを使うと、各デバッグ構成はELFを読み込み、最後の設定が現在のPCを決定します。したがって、アプリケーションのエントリポイントがブートローダーを上書きし、スキップします。
ブートローダーが正しく実行されるようにするには、両方のイメージをロードするものの、ブートローダーのリセットベクタから実行を開始する単一のデバッグ構成を使用してください。また、起動コードのスキップを避けるため、「メイン関数へ実行」を無効にしてください。
実際のリセット後、S32K3は必ず事前に定義されたブートアドレス(内部フラッシュ0x00400000)から実行を開始し、最初の有効なイメージ(通常はブートローダー)が実行されます。
しかし、S32DSでのデバッグ時には、この動作がデバッガによって上書きされ、ELFファイルを読み込んだ後にプログラムカウンターをアプリケーションのエントリポイントに設定することで、ブートローダーを実質的にバイパスできます。
よろしくお願いいたします。
ピーター
こんにちは、
ご提案ありがとうございます。
Launch グループを作成し、Bootloaderとアプリケーション ELFのデバッグ設定の両方を追加しました。しかし、デバッグセッションを始めると、アプリケーションコードだけが実行され、ブートローダーの実行がバイパスされているように見えます。私の要件は、ブートローダーがリセット後に最初に実行され、その後SW2が押されたときにのみアプリケーションにジャンプすることです。
ブートローダーがアプリケーションより先に動作するようにするために、追加のLaunch Group設定やデバッガ設定が必要かどうか教えていただけますか?
私はFRDM-A-S32K344の搭載デバッガを使っています
こんにちは、
Debug Configurationsでは、Launch Groupを作成し、読み込みたいすべてのELFファイルを追加するだけです。これにより、複数の画像を読み込むことができます(例:ブートローダー+アプリケーション)を一気に使うことができます。
よろしくお願いいたします。
ピーター
Hello
S32DSを両方のELFファイルが読み込まれているけれど、PCがアプリケーションのエントリポイントではなくブートローダー Reset_Handler 0x00400000に設定されるように設定する方法を説明してもらえますか?