Eclipse NiosIIのプログラム開発で、プロジェクトとは別のディレクトリに存在するソースコードをリンクする場合のメモです。
1. 新しいプロジェクトを作成する
まず、新しいアプリケーションプロジェクトを作成します。
.sopcinfoファイルの指定、プロジェクト名の指定、テンプレートの指定を行います。この例では、プロジェクト名はcubes、テンプレートはHello Worldを指定してます。(Finishではなく)Nextをクリックします。
BSPを作成します。既に存在する場合は新しく作り直す必要はありません。この例では、既存のBSPを選択しています。
Project Explorerにプロジェクトが追加されます。hello_world.cは別ディレクトリに用意したファイルに差し替えるので削除します。
2. 新しいmain関数の追加
別のディレクトリに用意したmain関数のファイルをProject Explorerのcubesプロジェクトにドラッグ&ドロップします。ファイルをコピーするかリンクするか聞かれるので、どちらかを選択してOKをクリックします。リンクを選択すると、ファイルの実体はプロジェクトにコピーされません。
次に、追加されたファイルを右クリックしてAdd to Nios II Buildを選択すると、ファイルがビルドの対象になります。
3. ライブラリファイルの追加
ミドルウェアのように、あるまとまったファイルをリンクする場合には、プロジェクトにディレクトリを作成し、そこに複数のファイルをリンクします。新しいディレクトリは、プロジェクト名の右クリック->New->Folderで作成できます。
この例では、clibというディレクトリを作成後、そこにドラッグ&ドロップで複数のファイルをリンクしています。リンク後、必要なCファイルすべてにAdd to Nios II Buildを実行してビルド対象に含めます。
この処理を必要なファイル分だけ繰り返します。
4. インクルードパスの設定
プロジェクト名を右クリック->Propertiesでプロパティのウィンドウを開きます。Nios II Application->Nios II Application Pathsに必要なディレクトリを追加します。ここでは、Cの#includeで参照されるパスをApplication include directriesに追加します。Addボタンを押すと、ディレクトリ選択のウィンドウが表示されるので、ファイルの実体が存在するディレクトリを指定します。
「Do you wish to convert the path to a relatice path」でYesを選択すると、相対パスでディレクトリが追加されます。
5. ビルドの実行
最後に、ビルドを実行して正常にELFファイルが生成されることを確認します。