マクロ __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>)」を選択します。

 

全ての製品名は、それぞれの所有者の商標または登録商標です。

 

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。