リンカの概要
IAR ILINK Linkerリンカは、組み込みアプリケーションの開発に適した、強力で柔軟性のあるソフトウェアツールです。リンカは、サイズの大きい再配置可能なマルチモジュールのC/C++プログラムやC/C++プログラムとアセンブラプログラムの混合リンクに適していますが、サイズの小さい単一ファイルの絶対アドレスを持つアセンブラプログラムのリンクにも同様に適しています。
リンカは、再配置可能ファイルを1つまたは複数のオブジェクトファイル(IARのコンパイラまたはアセンブラで作成)を、1つまたは複数のオブジェクトライブラリから選択した部品と組み合わせて、業界標準形式のExecutable and Linking Format (ELF)で、実行可能なイメージを作成します。
リンカは、リンクするアプリケーションが実際に必要なライブラリモジュール(ユーザライブラリおよび標準C/C++の派生ライブラリ)だけを自動的にロードします。さらに重複セクションや必要のないセクションを削除します。
ILINKでは、ArmとThumbの両方のコード、およびこれらの組み合わせのリンクが可能です。自動的に追加命令(ベニア)を挿入することで、ILINKでは、リンク先が呼び出しや分岐に到達し、プロセッサの状態が必要に応じて切り変わることを保証します。ベニアの生成方法の詳細については、ベニアを参照してください。
リンカは設定ファイルを使用します。このファイルでは、ターゲットシステムのメモリマップのコードやデータ領域を、別々の位置に指定できます。このファイルではアプリケーションの初期化フェーズの自動処理もサポートしています。すなわち、イニシャライザのコピーや、場合によっては解凍も行って、グローバル変数領域とコード領域のイニシャライズを行います。
ILINKが作成する最終出力は、ELF(デバッグ情報のDWARFを含む)形式の実行可能なイメージを含む、絶対オブジェクトファイルです。このファイルは、C-SPYのほかELF/DWARFをサポートする互換性のあるデバッガにダウンロードできます。あるいは、EPROMまたはフラッシュに格納することができます。
ELFファイルを使用するために、さまざまなツールが提供されています。付属のユーティリティについては、専用ELFツールを参照してください。
注記
IAR Embedded Workbenchのデフォルトの出力フォーマットは、DEBUGです。