IARビルドツール — 概要
IAR製品インストールには、Armベースの組み込みアプリケーションのソフトウェア開発に最適なツール、サンプルコード、ユーザマニュアルのセットがあります。これらを使用することで、C/C++またはアセンブラ言語でアプリケーションを開発できます。
注意
IAR Embedded Workbench®は強力な統合開発環境(完全な組み込みアプリケーションプロジェクトを開発および管理できます。本製品は、コードを最大限に再利用できることや、一般的な機能とターゲット固有の機能をサポートすることで、操作が分かりやすく、非常に効率的な開発環境を実現しています。IAR Embedded Workbenchは実用的な作業手法を採用しており、開発時間を大幅に短縮することができます。
IDEについては、『プロジェクト管理およびビルドのユーザードキュメント』を参照してください。
危険
構築済みのプロジェクト環境で外部ツールとして利用したい場合は、コンパイラ、アセンブラ、リンカを、コマンドライン環境で実行することもできます。
注記
Armの IAR ビルドツールの同じバージョンは、さまざまな製品エディションで提供されます。ただし、ホスト オペレーティング システムの環境設定、ファイル パスの長さなどが異なると、同じソース コードから同一でない ELF オブジェクト ファイル(シンボルとデバッグ情報を含む完全なビルド出力)が生成される場合があります。ただし、ターゲットメモリに書き込まれるバイナリイメージは、バイト単位で完全に同一であることが期待されます。これは、IARツールがIAR Embedded Workbenchの一部として提供されるか、IAR Build Toolsの一部として提供されるか、またはホストオペレーティングシステムの種類に関わらず変わりません。そうでない場合、 IAR はこれをコード生成エラーとして扱います。このようなエラーの重大度は、生成されたコードが両方のケースで正しい限り(機能的に同じ)低くなります。
IAR C/C++コンパイラ
IAR C/C++コンパイラfor Armは、CおよびC++言語標準機能に加えて、Arm固有の機能を利用するための拡張機能を装備した最新のコンパイラです。
IARアセンブラ
IAR アセンブラ for Armは、多用途のディレクティブや式演算子セットを備えた強力な再配置マクロアセンブラです。C言語プリプロセッサを内蔵しており、条件アセンブリをサポートしています。
IARアセンブラfor Armでは、Arm LimitedArmアセンブラと同じニーモニックとオペランド構文を使用するため、既存のコードを容易に移行できます。詳細については、アセンブラのユーザードキュメントを参照してください。
IAR ILINK リンカ
IAR ILINKリンカ for Armは、組み込みコントローラーアプリケーションの開発に適した、強力で柔軟性のあるソフトウェアツールです。リンカは、サイズの大きい再配置可能な入力の、マルチモジュールのC/C++プログラムやC/C++プログラムとアセンブラプログラムの混合リンクに適していますが、サイズの小さい単一ファイルの絶対アドレスを持つアセンブラプログラムのリンクにも同様に適しています。
専用ELFツール
ILINKは、業界標準のELFとDWARFの両方をオブジェクトフォーマットとして使用し生成するので、これらのフォーマットを処理する追加のIARユーティリティが用意されています。
IAR Archive Tool
(iarchive)は、複数のELFオブジェクトファイルで構成するライブラリ(アーカイブ)の作成および操作を行います。IAR ELF Tool
(ielftool)は、ELF実行可能イメージ上でさまざまな変換(フィル、チェックサム、フォーマット変換など)を実行します。IAR ELF Dumper for Arm
(ielfdumparm)armは、ELF再配置可能イメージまたは実行可能イメージの内容のテキスト表示を作成します。IAR ELF Object Tool
(iobjmanip)は、ELFオブジェクトファイルの下位レベルの操作を実行する際に使用します。IAR Absolute Symbol Exporter
(isymexport)は、ROMイメージファイルから絶対シンボルをエクスポートします。これらのシンボルは、アドオンアプリケーションのリンク時に使用できます。
注記
これらのELFユーティリティは、IARのツールにより生成されるオブジェクトファイルに非常に適しています。よってGNUバイナリユーティリティではなく、こちらの使用をお勧めします。
外部ツール
IDEのツールチェーンを拡張する方法については、ツールチェーンの拡張』を参照してください。