カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10810916
FAQカテゴリ(大) リンカ
最終更新日 2016-01-01

質問内容

TN96176: ARM用 IAR Embedded Workbenchで RealView .sym ファイルを使う

回答内容

ターゲット: ARM
コンポーネント リンカ
公開 2008/03/14 10:10

 

概要
ARM用 IAR Embedded Workbench で RealView .sym ファイルを使うにはどうしたら良いですか?

警告!
これは技術的に高度なソリューションです。 たとえば AEABI は、どのような呼び出し規約が使用されているか知っている必要があります。

このソリューションに注意してください。
外部シンボルのエラーおよび警告は限られた数しか作成されません。

別のイメージ内のシンボルへのアクセス
IAR 組み込みワークベンチ ARM RealView コンパイルツールで生成された別のイメージのグローバルシンボル値を知るため、生成された 1 つのイメージをします。

ARM用 IAR Embedded Workbench で作成したイメージに、RealView Compilation Toolsで作成されたイメージのグローバルシンボルを知らせたいと思っています。

 

解決策
シンボル定義 (symdefs) ファイルを使用できます。.sym ファイルを生成し、このファイルをプロジェクト ディレクトリにコピーします。Armlink オプション - symdefs を使用します。

armlink --symdefs filename

ARM リンカーについては、ARMのドキュメントを参照してください。

 

.bat ファイル
.h と .f ファイルを生成するのにプレビルド用の sym2h.bat スクリプトファイルを使用します。

IAR Embedded Workbench > プロジェクト > オプション... > ビルド アクション > プレビルドコマンドライン
$PROJ_DIR$\sym2h.bat $PROJ_DIR$\filename.sym

Use: sym2h.bat filename
    The filename should be a fully qualified path name. 
    Output directory is the same as the input directory.

ファイル名の入力が必要です。ファイル名は、完全修飾パス名でなければなりません。

出力ディレクトリは入力ディレクトリと同じです。

 

.f ファイル
生成されたシンボル定義ファイルを使用するには ilinkerarm.exe にオプションを追加します。

IAR Embedded Workbench  > プロジェクト > オプション... > リンカー > 追加オプション > 「コマンド ラインオプションを使用する」とコマンドラインオプションを選択。

-f $PROJ_DIR$\filename.f

Use: -f file
    Read command line options from file

.h ファイル

作成された外部定義ファイルを使用するには、自分のコードにインクルードを追加します。

#include "filename.h"

 

追加の情報

RealView Compilation Tools version 2.2 [Build 576] と IAR Embedded Workbench for ARM version 5.11 でテスト

この bat ファイルは、シンボルが A(arm)、T(thumb) 、D(data) に基づく標準定義だけ生成することに注意してください。

A または T スクリプトが、

void <SYMBOL_NAME>();

を使用していて、

D スクリプトが、

extern int <SYMBOL_NAME>;

を使用している場合、必要とするシンボルをキャストする必要があるでしょう。

 

イメージのロード

外部でビルドしたイメージがターゲットにない場合の、1つの方法は、

ilinkarm.exe --image_input filename.axf

Use: --image_input file[,symbol[,section[,alignment]]]
    Put image file in section from file


サンプルプロジェクト

リンク Example project including sym2h.zip にサンプルプロジェクト があります。

 

免責事項
IAR システムズは sym2h.bat を販売もサポートもしていません、ツールチェーンの一部でもありません。従って、これらのファイルについて、これ以上のサポートまたは情報の提供のお約束はしません。sym2h.bat についてIARと共有したい改善提案がある場合、お知らせください。

 

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

参考資料URL