ライブラリの作成と利用
ライブラリの使用
新しいプロジェクトの作成
ライブラリプロジェクトの作成
アプリケーションプロジェクトでのライブラリの使用
このチュートリアルでは、ライブラリプロジェクトの作成方法と、ライブラリプロジェクトをアプリケーションプロジェクトに結合する方法について説明します。
このチュートリアルでは、これまでに説明されているIAR Embedded Workbench® IDEの基本事項について習熟していることを前提としています。
ライブラリの使用
大規模なプロジェクトに取り組んでいると、さまざまなアプリケーションで使用される、1つまたは複数のルーチンを含む便利なモジュールがすぐに集まってきます。必要になるたびにモジュールのアセンブルまたはコンパイルを避けるために、そのモジュールをオブジェクトファイルとして、すなわちアセンブルまたはコンパイルだけしてリンクはしない状態で、保存することができます。
ライブラリと呼ばれる単一オブジェクトファイルに多くのモジュールを集めることができます。デバイスドライバなど関連するルーチンは、ライブラリファイルとしてまとめることをお勧めします。
IARアーカイブツールのiarchiveを使用して、ライブラリをビルドします。
Main.sプログラム
Main.sプログラムはmaxというルーチンを使用して、レジスタR1 の内容を、ワードレジスタR1およびR2の最大値に設定します。EXTERNディレクティブは、リンクする際に解決される外部シンボルとして、maxを宣言します。
プログラムのコピーは、arm\tutorディレクトリにあります。
ライブラリルーチン
2つのライブラリルーチンによって、個別にアセンブルされたライブラリが形成されます。ライブラリは、mainに呼び出されるmaxルーチンおよび対応するminルーチンから構成され、どちらもレジスタR1R2の内容を操作して、結果をR1で返します。これらのライブラリルーチンを含むファイルは、Max.sおよびMin.sと呼ばれ、arm\tutorディレクトリにはそのコピーが製品とともに提供されています。
PUBLICディレクティブは、maxminを他のモジュールに対するパブリックシンボルとして宣言します。
PUBLICディレクティブについて詳しくは、『ARM® IARアセンブラリファレンスガイド』を参照してください。
新しいプロジェクトの作成
1
これまでのチュートリアルで使用したワークスペースtutorialsに新しいプロジェクトproject5を追加します。
2
ファイルMain.s を新しいプロジェクトに追加します。
3
オプションを設定するには、プロジェクト>オプションを選択します。一般オプションカテゴリを選択して、ライブラリ設定タブをクリックします。ライブラリドロップダウンリストで[None]を選択します。これは、標準のC/C++ライブラリはリンクされないことを意味します。
一般オプション>ターゲットページで、コアドロップダウンリストからCortex-M3を選択します。
他のオプションカテゴリでは、デフォルトオプションを使用します。
4
ファイルMain.sをアセンブルするには、プロジェクト>コンパイラを選択します。
別の方法として、ツールバーのコンパイルボタンをクリックすることもできます。
ライブラリプロジェクトの作成
これで、ライブラリプロジェクトを作成する準備が完了です。
1
同じワークスペースtutorialsに新しいプロジェクトtutor_libraryを追加します。
2
ファイルMax.sおよびMin.sをプロジェクトに追加します。
3
オプションを設定するには、プロジェクト>オプションを選択します。一般オプションカテゴリで、以下の設定を確認します。
 
ライブラリビルダがカテゴリのリストに表示されます。これはIARアーカイブツールのiarchiveが、ビルドツールチェーンに追加されたことを示します。このチュートリアルでは、iarchive固有のオプションを設定する必要はありません。
[OK]をクリックします
4
プロジェクト>作成を選択します。
ライブラリ出力ファイルtutor_library.aが、projects\Debug\Exeディレクトリに作成されました。
アプリケーションプロジェクトでのライブラリの使用
maxminルーチンを含むライブラリをproject5に追加します。
1
[ワークスペース]ウィンドウで、[project5]タブをクリックします。プロジェクト>ファイルの追加を選択して、projects\Debug\Exeディレクトリにあるファイルtutor_library.a(ILINKの場合はtutor_library.a)を追加します。開くをクリックします。
2
作成をクリックして、プロジェクトをビルドします。
3
これで、ライブラリが実行可能オブジェクトに結合され、アプリケーションを実行する準備が完了しました。ライブラリの操作について詳しくは、『ARM®用IAR C/C++開発ガイド』にあるIARアーカイブツールのマニュアルを参照してください。