Skip to main content

IAR Embedded Workbench for Arm 9.70.x

プロジェクトの作成方法

このセクションの内容:

IDEを使用すると、論理構造を一目でわかるように階層ツリー構造でプロジェクトを編成できます。

IDEは、ソフトウェア開発プロジェクトが一般的に編成される方法に合わせて設計されています。たとえば、ターゲットハードウェアの異なるバージョン用にアプリケーションの関連バージョンを開発する必要がある場合や、デバッグルーチンを初期バージョンには組込み、最終的なアプリケーションには含めたくない場合があります。

異なるターゲットハードウェア用のアプリケーションのバージョンには、共通のソースファイルが含まれることが多く、これらのファイルの一意のコピーを1つだけ保持して、アプリケーションの各バージョンに自動的に改善が反映されるようにしたい場合があります。また、アプリケーションのハードウェアに依存する側面を扱うソースファイルなど、アプリケーションのバージョンによって異なるソースファイルがある場合もあります。

以下のセクションでは、階層のさまざまなレベルについて説明します。

プロジェクトとワークスペース

通常、1 つまたは複数のプロジェクトを作成します。各プロジェクトには、次のいずれかを含むようにします。

複数の関連プロジェクトがある場合は、それらに同時にアクセスして作業できます。これを行うには、関連するプロジェクトをワークスペースで整理できます。

各ワークスペースには 1 つ以上のプロジェクトを含めることができ、どのプロジェクトも少なくとも 1 つのワークスペースに属している必要があります。

次の例を考えてみましょう。2つの関連するアプリケーション(例えばAとB)が開発されており、それぞれ1つの開発チーム (チームAとB) が必要であるとします。2 つのアプリケーションは相互に関連しているため、ソースコードの一部を共有することができます。この場合、以下のプロジェクトモデルを適用できます。

  • 3つのプロジェクト- 各アプリケーション用に 1 つ、共通ソースコード用に1つ

  • 2つのワークスペース- 1つはチームA用、もう1つはチームB用。

共通ソースをライブラリプロジェクト(コンパイル済みだがリンクはされていないオブジェクトコード)にまとめることは、不要なコンパイルを避けることができるため、便利で効率的です。次の図はこの例を示したものです。

IDE1 70percent.png
プロジェクトとビルド構成

いくつか異なるバージョンでプロジェクトをビルドしなければならないことがよくあります。たとえば、リンカとデバッガに異なる設定を必要とするような異なるデバッグソリューションを実現したい場合などです。別の例としては、実行トレースなどの特別なデバッグ出力を備えた、別途ビルドされた実行可能ファイルが必要な場合があります。IAR Embedded Workbenchでは、プロジェクトごとに複数のビルド構成を定義できます。 単純なケースでは、最適化、デバッグ情報、出力形式に使用するオプションだけが異なる、デバッグ構成とリリース構成の 2 つだけで十分です。リリース構成では、プリプロセッサシンボル NDEBUG が定義され、アプリケーションにはアサートが含まれません。

ビルド構成を追加すると、異なるターゲットデバイスでアプリケーションを使用したい場合などに便利です。アプリケーションは同じですが、ハードウェア関連の部分のコードが異なります。したがって、ビルドするターゲットデバイスに応じて、一部のソースファイルをビルド構成から除外できます。以下のプロジェクトAのビルド構成は、このような要件を満たすでしょう。

  • プロジェクトA - デバイス1:リリース

  • プロジェクトA - デバイス1:デバッグ

  • プロジェクトA - デバイス2:リリース

  • プロジェクトA - デバイス2:デバッグ

グループ

通常、プロジェクトには論理的に関連する数百のファイルが含まれます。各プロジェクトには、関連したソースファイルをまとめた1つ以上のグループを含めることができます。 複数のレベルのサブグループを定義して、論理的な階層を作成することもできます。デフォルトでは、各グループはプロジェクトのすべてのビルド構成に存在しますが、グループを特定のビルド構成から除外するように指定することもできます。

ソースファイルとそのパス

ソースファイルは、プロジェクトノードの直下、またはグループの階層内に配置できます。後者は、ファイル数が多くプロジェクトの調査が困難な場合に便利です。デフォルトでは、各ファイルはプロジェクトのすべてのビルド構成に存在しますが、ファイルを特定のビルド構成から除外するよう指定することもできます。

ビルド構成に含まれるファイルのみが実際にビルドされ、出力コードにリンクされます。

プロジェクトが正常にビルドされると、すべてのインクルードファイルと出力ファイルが、それらをインクルードした、または生成したソースファイルの下の階層に表示されます。

注記

ビルド構成の設定は、ソースファイルのコンパイル中にどのインクルードファイルが使用されるかに影響を与える可能性があります。つまり、コンパイル後のソースファイルに関連付けられたインクルードファイルのセットは、ビルド構成によって異なる場合があります。

IDEは、 ある程度までソースファイルの相対パスをサポートします。

  • プロジェクトファイル

    プロジェクトファイルの一部であるファイルへのパスは、同じドライブにある場合は相対パスになります。パスは$PROJ_DIR$または $EW_DIR$のいずれかからの相対パスです。引数変数 $EW_DIR$は、パスが$EW_DIR$のサブディレクトリにあるファイルを参照し、 $EW_DIR$からの距離が $PROJ_DIR$からの距離よりも短い場合にのみ使用されます。

    ファイルが異なるドライブにある場合、プロジェクトファイルの一部であるファイルへのパスは絶対パスになります。

  • ワークスペースファイル

    ワークスペースファイルと同じドライブにあるファイルの場合、パスは$PROJ_DIR$からの相対パスです。

    ワークスペースファイル以外のドライブにあるファイルの場合、パスは絶対パスになります。

  • デバッグファイル

    デバッグイメージファイルにデバッグ情報が含まれている場合、ソースファイルを参照するファイル内のパスはすべて絶対パスです。

ドラッグアンドドロップ

Windowsエクスプローラからワークスペースウィンドウに、個々のソースファイルやプロジェクトファイルをドラッグすることができます。グループにドロップされたソースファイルは、そのグループに追加されます。プロジェクトツリーの外側(ワークスペースウィンドウの背景)にドロップされたソースファイルは、アクティブなプロジェクトに追加されます。