マクロ __loadModule 使用して2つのアプリケーションイメージをデバッグする
テクニカル・ノート 73861
アーキテクチャ:
ARM
コンポーネント:
debugger
更新日:
2018/08/25 13:44
はじめに
あるプロジェクトでブートローダをビルドし、別のプロジェクトでアプリケーションをビルドした場合、これら2つのプロジェクトを同時にデバッグすると問題が発生する可能性があります(通常、アクティブなプロジェクトのデバッグ情報しか得られないため)。
以下のサンプルでは、C-SPYの__loadModuleマクロ(IAR Embedded Workbench for ARMバージョン5.30の場合)または__loadImageマクロ(IAR Embedded Workbench for ARMバージョン6.21)を使用して、非アクティブなプロジェクトのデバッグファイルからデバッグ情報を読み取る方法について説明されています。
注: IAR Embedded Workbench for ARM version 6.21以降では、このマクロの代わりにデバッガ(Debugger) > イメージ(Images)を使用できます。
このサンプルアプリケーションは、ブートローダとアプリケーションで構成されており、これらは別々のプロジェクトでビルドされています。
このブートローダはアクティブなプロジェクトで、規定のアドレス(このブートローダのジャンプ先アドレス)に生のバイナリデータ(アプリケーションデータ)を読み込みます。
このプロジェクトをシミュレータで実行すると、ブートローダとアプリケーションのデバッグ情報が出力されます。
以下のリンクからサンプルアプリケーションをダウンロードし、readme.pdfの指示に従ってこのサンプルアプリケーションをビルドして実行してください。
Example application IAR Embedded Workbench for ARM 5.30 (__loadModule.zip).zip
Example application IAR Embedded Workbench for ARM 6.21 (__loadImage.zip).zip
曖昧なシンボル
これらの2つのイメージで同じシンボルが定義されている場合、デバッグ情報を結合すると問題が発生する可能性があります。
この状況に対処する一つの方法は、イメージ(Images)ウィンドウ (表示(View) > イメージ(Images)を選択。IAR Embedded Workbench for ARMバージョン5.40以降)を開き、リストに表示されたイメージのいずれかを選択し、選択したイメージのデバッグ情報のみ表示させるというものです。すなわち、マウスを右クリックし、メニュー項目の「イメージのみを表示(Show only <image>)」を選択します。
全ての製品名は、それぞれの所有者の商標または登録商標です。