コマンドラインからのビルド

テクニカル・ノート 47884

アーキテクチャ:

All

コンポーネント:

general

更新日:

2022/11/30 7:55

はじめに

このテクニカルノートは、IAR Embedded Workbench IDE を使用せずにプロジェクトのビルドを行う方法の例を提供します。

解説

以下に示す方法は、IAR Embedded Workbench for Arm 用に作成された例ですが、他のターゲットデバイス用にも簡単に修正することができます。

方法 1 -IAR Command Line Build Utilityを使用

ビルド構成 (myConfig) を持つプロジェクト (myProject.ewp) の場合、次のコマンドを使用してプロジェクトをビルドできます。:

install-dir/common/bin/iarbuild myProject.ewp -build myConfig -log all

プロジェクトを再ビルドし、ビルドから生成されたすべてのメッセージをログに記録するには、次のコマンドを使用します。:

install-dir/common/bin/iarbuild myProject.ewp -build myConfig -log all

注:

  • -build コマンドは、ツールの 2 回の実行に対応します。1 回目はオプション -clean を指定して実行し、2 回目はオプション -make を指定して実行します。
  •  IarBuild.exe をパラメータなしで実行すると、使い方が表示されます。

方法 2 – コンパイラとリンカをコマンドラインから起動

概要

iarbuild を使用せずに実行可能ファイルをビルドするには、まずソース ファイルをコンパイルおよびアセンブルし、次にリンカを使用してそれらをリンクします。

  • プロジェクトにアセンブラソースファイルがある場合  IAR Assembler for the target architecture (arch) を使用してください:
install-dir/arch/bin/iasmarch source_file options
  • 各C/C++ ソースファイルを IAR C/C++ Compiler for the target architecture (arch)を使用してコンパイルしてください:
install-dir/arch/bin/iccarch source_file options
  • 全てのアプリケーションのオブジェクトファイルとライブラリを実行可能ファイルにリンクしてください。
    • IAR ILINK Linker でのリンク:
install-dir/arch/bin/ilinkarch obj1.o obj2.o ... options -o myApp.out
    • IAR XLINK Linkerでのリンク:
install-dir/arch/bin/xlink obj1.rnn obj2.rnn ... objN.rnn lib1.rnn lib2.rnn ... libN.rnn options -o myApp.dnn

 

コマンド ラインで使用するためのビルド ウィンドウからの情報収集

IDE と同じビルド コマンドを使用してプロジェクトをビルドするシェル スクリプトを手動で作成するには、次の手順を試してください。

1. Add the following options in theIDEの Project>Options ダイアログボックスに以下のオプションを追加してください:

  • C/C++ Compiler>Extra Options--silent
  • Assembler>Extra Options-S
  • Linker>Extra Options--silent

2. IDEの View>Messages>Build を選択して  Build ウィンドウを開いてください。デフォルトでは、必要なメッセージはフィルタされているので、右クリックでコンテキストメニューを開き、 Live Log to File>Filter Level>All を選択してください。

3. また、コンテキストメニューから  BuildLog.log へのEnable Live Logging を選択してください。 (デフォルトの場所はプロジェクトディレクトリです)

4. プロジェクトをビルドしてください。プロジェクトがビルドされると、BuildLog.log ファイルにビルド コマンドのシーケンスが保持されます。

5. BuildLog.log のコピーを作成し名前を変更します。適切なスクリプト拡張子を使用するようにコピーのファイル名拡張子を変更し(たとえば、Windows では build.bat または build.cmd 、Linux では build.sh など)、テキスト エディタでファイルを開きます。

6. スクリプト ファイルを正しく実行するには、いくつかの変更が必要です。以下を変更してください:

  • ファイル名だけで構成される行を削除します。
    • 正規表現をサポートするエディターの場合、以下に一致するコンテンツを削除します:
      ^.*\.([Cc]([Xx][Xx]|[Pp][Pp])|[Cc][Cc]|[cC]|[sS]|[Aa][Ss][Mm]|out)$.
  • iasmarch -M<> ... のような、パラメータにストリーム リダイレクタ文字(< または >)を含むビルド コマンドの場合
    コマンドをシェルから正しく実行できるように、パラメータを引用符で囲みます(iasmarch -M<> ...)。
  • プロジェクト内のオブジェクト ファイルの数によっては、リンカー コマンドがシェルのコマンド ラインの最大長 (たとえば、Windows コマンド プロンプトの場合は 8192 文字) を超える場合があります。 このような状況を回避するには、拡張コマンド ライン ファイル (.xcl) を使用します。
    • build.batを編集: ilinkarch コマンドからすべてのパラメータを切り取り、リンカ設定ファイル(linker-args.xcl など)に貼り付けます。
    • linker-args.xclを編集: 各パラメータの後に改行を挿入します。
    • build.batを編集: ilinkarch の行を ilinkarch -f linker-args.xcl に変更します。
  • Linux シェル スクリプトを作成する場合:
    • 対応するビルド ツールへのパスを変更します。 (例:  /opt/iarsystems/bxarch/arch/…).
    • ディレクトリ区切り文字をバックスラッシュ (\) からスラッシュ (/) に更新します。
    • スクリプトを実行可能にします(つまり、chmod +x build.sh)。
  • スクリプトが適切に実行されるのに関係のないその他の後続情報を削除します。

 

まとめ

IAR Embedded Workbench プロジェクトは、コマンドラインからビルドすることができます。

  • IAR Command Line Build Utility (iarbuild) を使用してシングルパスで実行するか、あるいは、
  • ソースをコンパイルして最終的な実行可能ファイルにリンクするシェル スクリプトを手動で作成します。

詳細については、 IDE プロジェクト管理およびビルドガイドの”コマンドラインからのビルド”セクションを参照してください。このガイドは、 IAR Embedded Workbench のヘルプメニューから利用できます。

 

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

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