Eclipseを使ったビルド環境構築

書籍では、紙面の都合もあってEclipseを使ったビルド環境の構築について触れていません。 以下にEclipseを使ったビルド環境構築について示しますので参考にして頂ければと思います。

Blackfin用ツールチェインのインストール

書籍を参考にインストールを済ませて下さい。

Java実行環境のインストール

Eclipseの実行にはJava実行環境が必要です。 java.com: あなたとJavaからJava実行環境をダウンロードしてインストールして下さい。

Eclipseのインストール

Eclipse Luna SR2 Packages | PackagesのサイトからEclipse IDE for C/C++ Developersをダウンロードします。

ダウンロードしたファイルはZIP形式です。 お好みのディレクトリに展開して下さい。 上記の例では、toolsディレクトリの下に展開したファイルを配置しました。 ダウンロードしたEclipseのZIPファイルは、展開するとeclipseというディレクトリに展開されます。 このまま他のディレクトリにコピーすると、何のバージョンをインストールしたのか後から見てわかりにくいです。 そこで、ダウンロードしたZIPファイル名をディレクトリ名としておくと後から見てもわかり易いでしょう。

Eclipseの実行とプラグインのインストール

それでは先ほどインストールしておいたEclipseを起動します。

以下のような警告が表示される場合、「このファイル開く前に常に警告する(W)」のチェックを外しておくと、次回起動時にこの確認を省略できます。

それでは次に必要なプラグインをインストールします。 Eclipseのプラグインのインストールは、Eclipse上でリポジトリを指定する形で行ないます。 「Install New Software...」を選択します。

今回はLunaと呼ばれるバージョンをインストールしました。 このバージョンに対するプラグインのリポジトリはhttp://download.eclipse.org/releases/luna/を指定します。 Work with:の項目にURLを入力してEnterキーを押すとリポジトリの探索を開始します。 探索中はPending...と表示され少し時間がかかりますが、探索が完了した時点でインストール可能なパッケージが表示されます。

GDBを使ったハードウェアのデバッグを可能にするパッケージを導入しましょう。 「C/C++ GDB Hardware Debugging」をクリックし、Nextボタンを押して操作を進めます。 途中でライセンスのレビュー画面が表示されますので、「I accept the terms of the license agreement」を選択して、更にNextボタンを押して操作を進めて下さい。

Eclipseの再起動を促されますのでYesボタンを押して再起動して下さい。

次にBlackfin用のプラグインを導入します。 先ほどと同様に「Install New Software...」を選択します。 https://sourceforge.net/projects/adi-toolchain/files/eclipse/update_site/を指定します。

「Blackfin Debug」と「Blackfin GNU Toolchain」をクリックし、Nextボタンを押して操作を進めます。 途中でライセンスのレビュー画面が表示されますので、「I accept the terms of the license agreement」を選択して、更にNextボタンを押して操作を進めて下さい。 署名がされていない旨の警告が出ます。OKボタンを押して操作を継続します。

Eclipse上でビルドした時にLDRファイルを生成する設定

Eclipseのプロジェクトに対してポスト・ビルド・ステップを設定する事で、Blackfin MiniConfig for IFX-49で書き込み可能なLDRファイルを自動生成できます。 ここでは、プロジェクトを作って、設定を施すところまでを解説します。 前述のインストールの結果、ExecutableカテゴリでEmpty Projectを選択すると、Blackfin Bare Metal GNU Toolchain (bfin-elf)を選択できます。 プロセッサの選択画面が表示されますので、BF592を選択して下さい。 プロセッサに対するSilicon Revisionはanyのままで構いません。 次に、LDRファイルを生成するために、ポスト・ビルド・ステップに対して設定を施します。 プロジェクトのプロパティからBuild Stepsを選択し以下を入力します。
bfin-elf-ldr -T BF592 -c ${BuildArtifactFileBaseName}.ldr ${BuildArtifactFileName} --bmode spi
この記述に含まれる${BuildArtifactFileName}はビルド成果物のファイル名、${BuildArtifactFileBaseName}はビルド成果物のファイル名から拡張子を取り除いたもので、これらはEclipse側で用意されている変数ですのでユーザーが改めて設定する必要はありません。 上記でプロジェクトに対する設定は完了です。

Eclipse上でビルドして確認

構成毎に、ビルド結果に対してLDRファイルまで生成される事を確認して下さい。 参考までにEclipse上でビルドした時にConsoleタブに表示される内容を示します。
13:30:40 **** Build of configuration Debug for project led_blink ****
make all 
'Building file: ../main.c'
'Invoking: Blackfin ELF C Compiler'
bfin-elf-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mcpu=bf592-any -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"
'Finished building: ../main.c'
' '
'Building target: led_blink'
'Invoking: Blackfin ELF C Linker'
bfin-elf-gcc -mcpu=bf592-any -o "led_blink"  ./main.o   
'Finished building target: led_blink'
' '
make --no-print-directory post-build
bfin-elf-ldr -T BF592 -c led_blink.ldr led_blink --bmode spi
Creating LDR led_blink.ldr ...
 Adding DXE 'led_blink' ... [jump block to 0xFFA00000] [ELF block: 1136 @ 0xFF800000] [ELF block: 1788 @ 0xFFA00000] OK!
Done!
' '