*

C言語でEV3開発(3)

公開日: : 最終更新日:2015/03/24 マインドストーム/EV3, 開発

どもです。
今回のエントリーの内容は、前回まででセットアップした環境で、実際にEV3上で動く実行ファイルをビルドするための、Eclipseの設定です。

(1). 新規プロジェクト作成
EV3上で実行するためのプロジェクトを作成します。
まずはEclipseを起動し、メニュー[ファイル]-[新規(N)]-[Cプロジェクト]と選択
します。
すると、新規作成プロジェクトのウィザードが開始されます。
まず、[Cプロジェクト]ダイアログでは、以下のような設定にします。
特にツールチェーンでは、「Cross GCC」を選択しているので注意してください。

cross_compile_project
次に、「プロジェクトの基本プロパティ」と「デプロイしたいプラットフォームの設定」が表示されますので、ここは任意の設定で問題ありません。
最後に、クロスコンパイラの設定になります。
ここでは、以下の画面のように設定してください。
cross_compiler_config

prefixに、クロスコンパイラの接頭辞である「arm-none-linux-gnueabi-」を、
pathにはコンパイラが格納されているパスを設定しています。
※人によっては環境が異なるかもしれませんが、その場合にはそれぞれの環境に一致した内容を入力をしてください。

これで、新規のプロジェクトが作成されます。

(2). バイナリのビルド実行
ビルドは、プロジェクト・エクスプローラ内で、ビルドしたいプロジェクトを選択、右クリックから「プロジェクトのビルド」を選択することで実行できます。
実行すると、「コンソール」タブに実行内容が表示されます。
cross_compile_build

コンソールタブ内の表示から、クロスコンパイラを使用してビルドとリンクが実行されていることがわかります。
次に、fileコマンドでファイルタイプを確認します。

cross_compile_file_command

画面上からもわかりますが、ARMの実行ファイルになっています。
これで、EV3上で動作するバイナリ(実行ファイル)が生成されました。

(3). EV3で実行…する前に
(2)で作成したバイナリをEV3上で動作させるために、生成したファイルを起動用のSDカードにコピーします。
これは、EV3をSDカードから起動させるようにしていることが前提になります。
あしからず。

今回は、EV3を起動・ログオンした直後のフォルダに実行ファイルを配置します。
起動用のSDカードをホストのVMに認識・マウントさせたら、以下のコマンドを実行します。

これで、実行ファイルがコピーされました。

(4). EV3で実行
単純に、EV3にログイン、実行ファイルを実行するだけですね。
その結果が、以下。
cross_compile_hello_ev3

以上、Eclipse上でのクロスコンパイルの環境構築と実行手順について記載しました。
これでEV3のC言語での開発は、だいぶ楽になるかと思います。

ではっ!

関連記事

RasPi_Qt

QtでRaspberryPi/GUI開発(5):pigpioを使ってみた

どもです。 RaspberryPiを購入して、LEDも手に入れたのでコレをチカらせてみようと思いま

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(1)-C#のユーザーコントロール開発

どもです。 突然ですが、今回はC#に関するエントリになります。 具体的には、C#/WPFで、独自

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(10)-SPI通信をしてみた(その2)

どもです。 えー。 「Qtで…」とか書いておきながら、今回もやっぱりQtは出てきません。

記事を読む

no image

C言語でEV3開発(7)

どもです。 今回のエントリーでは、いよいよEV3を動かしていきます。 新しい環境に対して、最もよ

記事を読む

eclipse_4.3_kepler

elicpse/CDTでのgdbでのソースを追従したデバッグができない問題

どもです。 今回のエントリーは、Eclipse上でgdbを利用したデバッグ中に発生する問題について

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(8):pigpioを使用したチャタリング対策の問題の対策

どもです。 だいぶ、間が空いてしまいました。 久しぶりの更新です。 前回のエントリーで、「

記事を読む

toppers

C言語でEV3開発(24)-APIの実行時間を測定してみた。

どもです。 今回、以前から気になっていた、開発環境/プラットフォームであるTOPPERS HRP2

記事を読む

toppers

C言語でEV3開発(22)-ロギング機能

どもです。 前回は、モーターの出力を制御する方法について記載しました。その際に、モータ/車体が期待

記事を読む

no image

C言語でEV3開発(4)

どもです。 今回のエントリーは、前回のエントリー内容/EclipseでEV3の実行ファイルをビルド

記事を読む

no image

Windows/EclipseでRaspberryPiのクロス環境を構築してみた

どもです。 今回は、Windows/EclipseでRaspberry Piのクロス環境を構築した

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

RasPi_Qt
QtでRaspberryPi/GUI開発(10)-SPI通信をしてみた(その3)

どもです。 えー。 「Qtで…」とか書いておきながら、今回もやっぱ

RasPi_Qt
QtでRaspberryPi/GUI開発(10)-SPI通信をしてみた(その2)

どもです。 えー。 「Qtで…」とか書いておきながら、今回もやっぱ

raspberry-pi
QtでRaspberryPi/GUI開発(9)-SPI通信をしてみた

どもです。 えー。 「Qtで…」とか書いておきながら、今回はQtは

GitHub
GitHubのFreeプランでのPrivate Repository数が無制限になったので試してみた

どもです。 年明けに、「おっ♪」と思うようなニュースがありました。

RasPi_Qt
QtでRaspberryPi/GUI開発(8):pigpioを使用したチャタリング対策の問題の対策

どもです。 だいぶ、間が空いてしまいました。 久しぶりの更新です。

→もっと見る

PAGE TOP ↑