*

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言語での開発は、だいぶ楽になるかと思います。

ではっ!

関連記事

toppers

C言語でEV3開発(18)-モードの遷移の設計-コマンド通信処理の準備

 どもです。  今回は、前回紹介したEv3とBluetoothで通信する機能を

記事を読む

eclipse_oxygen

苦肉の策でLinux/EclipseでRaspberryPiのクロス環境を構築してみた

どもです。 前回のエントリでは、仮想環境(VirtaulBox)を用いたRaspberryPi3の

記事を読む

Arduino_Logo

ホールセンサーの種類と使い方

どもです。 今回のエントリは、表題にある「ホールセンサー」についてです。 1.「ホールセンサ

記事を読む

no image

C言語でEV3開発(8)-opOUTPUT_POWERコマンド

どもです。 今回のエントリーでは、EV3でモーターを動かします。 なお、今回のエントリーでも

記事を読む

GitHub

C/C++のスタブを自動生成するツールを公開しました

(テーマ) C/C++のスタブを自動生成するツールを公開しました (下書き) どもです。

記事を読む

no image

C言語でEV3開発(9)-opOUTPUT_SPEEDコマンド

どもです。 今回のエントリーでは、前回に引き続きEV3のモーターを動かしていきます。 ただし、単

記事を読む

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

raspberry-pi

RaspberryPi3対応のタッチスクリーンを買いました

どもです。 ついに、念願のRaspberryPi3対応のタッチスクリーンを買いました。 今回のエ

記事を読む

eclipse_oxygen

Eclipse/CrossCompile環境でプロジェクトをクリーンできない

どもです。 今回は、Eclipseでクロスコンパイル環境を作成した場合、を実行すると「指定されたフ

記事を読む

toppers

C言語でEV3開発(28)-EV3の移動距離を計算できるようにしてみた

どもです。 今回は、Ev3の移動距離の算出についてです。 1.算出方法について 移動距離は

記事を読む

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="">

GitHub
C/C++のスタブを自動生成するツールを公開しました

(テーマ) C/C++のスタブを自動生成するツールを公開しました

Arduino_Logo
フォトレジスタを使ってみた-Arduinoで光検出

どもです。 今回は、タイトル通り「フォトレジスタの使い方」です。

no image
PC自作2019 – Windows10への移行

どもです。 突然ですが、PCを交換しました。 1. 何があ

RasPi_Qt
QtでRaspberryPi/GUI開発(12)-gpioの状態をGUIに反映する

どもです。 今回は、gpioピンの状態(HIGH/LOW)の変化を画

raspberry-pi
RaspberryPi起動時にpigpiodがスタートしないようにする

どもです。 これまでpigpioを使用してRaspberryPiから

→もっと見る

PAGE TOP ↑