COLUMN
【Linux Tipsシリーズ】平凡なソフトウェア開発者が自分Linuxを作ってみた ⑨
前回は、BuildrootのEclipse 用プラグインをインストールして終了しましたので、今回はその続きです。
-
※
-
Eclipseは米国およびその他の国における Eclipse Foundation, Inc. の商標もしくは登録商標です。
Buildroot の設定変更
Eclipse プラグインを使用するには、ホームディレクトリに「.buildroot-eclipse.toolchains」という名前の設定ファイルを用意する必要があります。
「.buildroot-eclipse.toolchains」はテキストファイルなので手動で作ることもできますが、Buildrootの設定を変更することでイメージファイルを作る時に自動で生成させることもできます。
「.buildroot-eclipse.toolchains」の書式が不明なので、本コラムではBuildrootで自動生成しようと思います。
Buildrootの設定の「BR2_ECLIPSE_REGISTER」を有効にして「make」を実行すると「.buildroot-eclipse.toolchains」が生成されます。
Buildrootの設定を開き、「Toolchain」にある「Register toolchain within Eclipse Buildroot plug-in」にチェックを付けて(図 1 Buildroot_EclipseRegister 参照)保存を行い「make」を実行します。
「make」が終了したら、「.buildroot-eclipse.toolchains」が生成されたか確認するために「cat ~/.buildroot-eclipse.toolchains」と実行して、内容の表示をしてみます。
図 1 Buildroot_EclipseRegister
ここまでの手順をLinuxのコマンドにすると、以下のようになります。
~/build_root$ make xconfig
~/build_root$ make
>>> Finalizing host directory
・
・
・
INFO: hdimage(sdcard.img): writing MBR
~/build_root$
~/build_root$ cat ~/.buildroot-eclipse.toolchains
/home/column/build_root/output:aarch64-buildroot-linux-uclibc-:aarch64
~/build_root$
EclipseでBuildroot用アプリケーションを作る
本コラムの2回目ではクロスコンパイラへのPATHを設定し独自アプリケーションの作成を行いましたが、今回はBuildrootプラグインをインストールしたEclipseを使って作成してみます。
Eclipseを使ってアプリケーションを作るには、Eclipseプロジェクトを作る必要があります。
Eclipseのメニューの「File」->「New」->「C++ Project」とクリックすると(下図参照)、プロジェクト作成ウィザードが起動します(図 2 新規プロジェクト作成メニュー、図 3 新規プロジェクト作成 参照)。
図 2 新規プロジェクト作成メニュー
図 3 新規プロジェクト作成
「Project name:」は、作成するアプリケーションのプロジェクト名を入力するところですので、適当に名前を決めて入力してください。
-
※
-
ここでは、column_test にしています。
プロジェクト名を入力したら、「Project type:」で「Empty Project」が選択されていること、「Toolchains:」で「Buildroot AARCH64(・・・)」が選択されていることを確認して、[Finish] ボタンをクリックすると、ソースコードの含まれていないプロジェクトが作られます。
-
※
-
プロジェクトタイプに「Hello World C++ Project」など「Empty Project」ではないプロジェクトを選ぶと、「Toolchains:」の選択肢に「Buildroot AARCH64(・・・)」が出てきませんのでプロジェクトタイプは「Empty Project」にする必要があります。
図 4 プロジェクト画面
空のプロジェクトが作成できたので、テストプログラムのソースコードを追加してBuildroot用アプリケーションを作成します。
プロジェクトを選択した状態で、Eclipseのメニューの「File」->「New」->「Source File」とクリックするとソースファイル作成ダイアログが表示されますので(図 5 ソースファイル作成メニュー、図 6 ソースファイル作成画面 参照)、「Source file:」に「.cpp」で終了する適当なファイル名を入力して[Finish]ボタンをクリックするとコメントが数行書かれているファイルがプロジェクトに追加されます。(図 7 CPPファイル追加後 参照)
-
※
-
ここでは、column_test にしています。
図 5 ソースファイル作成メニュー
図 6 ソースファイル作成画面
図 7 CPPファイル追加後
ソースファイルが追加されたので、「リスト 1 テストプログラム」のような簡単なプログラムをソースファイルに記述してクロスコンパイルしてみます。
リスト 1 テストプログラム
#include <stdio.h>
int main(int arrgc, char **srgv)
{
printf(“Hello Buildroot Plugin World. \n”);
return 0;
}
テストプログラムの記述が終わったらソースファイルを保存し、ビルドを実行します。
-
※
-
プロジェクト作成時の「Toolchains:」で「Buildroot AARCH64(・・・)」を選択しましたので、ビルドを実行するとクロスコンパイルが実行されます。
Eclipseのメニューの「Project」->「Build Project」とクリックするとビルドが行われます。(図 8 ビルドメニュー 参照)
図 8 ビルドメニュー
ビルドが正常に終了すると、「Console」タブの表示が「図 9 ビルド結果」のようになり、ディレクトリ「~/workspace/column_test/debug」に、「column_test」というファイル名でアプリケーションが生成されています。
-
※
-
Eclipseを起動するときのワークスペースの選択で「~/workspace」を選択しています。
-
※
-
プロジェクト名を「column_test」としているため、ディレクトリ名、アプリケーションファイル名が「column_test」となっています。 別の名称を設定した場合は読み替えてください。
図 9 ビルド結果
ビルドで生成された“column_test”を、ターゲットに転送して実行してみます。(図 10 実行結果 参照 )
-
※
-
column_testをターゲットへ転送する方法については scpや、USBメモリを使う方法等、やり易い方法で行ってください。
図 10 実行結果
期待通り、“Hello Buildroot Plugin World.”と表示されたので、クロスコンパイルが正常に行われたことが確認できました。
今回は、Eclipseを使用してBuildroot用のアプリケーションを作成できるようになりましたので、次回以降はEclipseからのリモート実行等Buildrootプラグインの他の機能も使用してみようと思います。
個別相談も承っております。下記よりお申し込みください。