Raspberry Piでの開発環境を整えるにあたって。
Raspbianでコンパイルするのもいいけど、やっぱりコンパイルが遅いと思ったのでまとめてみました。
1. Mac上に仮想環境を立ち上げる
私が使っているのがParallels Desktop ですが VirtualBoxでも変わりません。
環境
- Host : macOS Sierra
- VM : Ubuntu Gnome 16.0.4 LTS 32bit
- 仮想化アプリ : Parallels Desktop
Ubuntuのダウンロードはこちら
後はインストールウィザードに従ってインストール
仮想環境で日本語を入力することがないので、私はいつも英語設定にしています。
2. Eclipse インストール
Eclipse をインストール
apt では、3.8がインストールされるのでマニュアルでインストールします。
aptバージョンでもいいのですが初期状態でRemoteSystemを選択できず、
プラグインを別途入れる必要があります。
まず JRE をインストールします。
sudo apt-get install default-jre
eclipse ダウンロード neonを選択
wget http://eclipse.stu.edu.tw/technology/epp/downloads/release/neon/3/eclipse-cpp-neon-3-linux-gtk.tar.gz
そして解凍
tar -xf eclipse-cpp-neon-3-linux-gtk.tar.gz
eclipse の起動
cd eclipse
./eclipse
デスクトップ環境を整えた人はデスクトップにショートカットをはっつけると良いかと思います。
3. クロスコンパイルの環境を整える
まずは必要なツールをセッティングします
ARMコアで開発するために、ARMコア用のクロスコンパイラをインストールします。
C言語で開発する方はこちら
sudo apt-get install gcc-arm-linux-gnueabihf
C++ で開発する方はこちら
sudo apt-get install g++-arm-linux-gnueabihf
ARM用の gdb は用意されていない(?)ので、
自分でBuildするか、メンドイひとはLinaroを使用します。
私はメンドイ派なのでらくらくダウンロードしました
wget https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-i686_arm-linux-gnueabihf.tar.xz
tar -xf gcc-linaro-6.3.1-2017.02-i686_arm-linux-gnueabihf.tar.xz
この解凍したフォルダは自分の好きな名前に変更すると便利と思います。
次にeclipseの新しいプロジェクトを立ち上げます。
File -> New -> C/C++ Project
プロジェクトは安直にtestとしました。
ここでAdvanced Settings を選択しコンパイラを設定します
Prefixを設定。arm-linux-gnueabihf-
Defaultではg++がBuild時に呼び出されますが、Prefixを入れることでarm-linux-gnueabihf-g++が呼び出されます

そのままプロジェクトの設定完了させます。
4. リモートデバッグの環境を整える
次にリモートデバッグの設定をします。
DebugでもRunでもどちらでも構いません。お好きな方で。
とりあえずDebugから進みましょう
C/C++ Remote Debug → New を選択します
MainのTabする項目は
- LocalhostをRaspberryPiに変更すること。ここではhomepiという名前にしています
- Remote Absolute File Path の設定。RaspberryPiの設定したフォルダを選択します。今回は/home/pi/remote/test です
- Commands to execute の設定。 chmod a+x /home/... としてます

「homepi」の設定はこんな感じです
New → ssh Only → そのまま選択OKして下さい。
後はデバッグ時のgdbの設定です。
今回はLinaroをダウンロードしてきたので、
bin/arm-linux-gnueabhf-gdb
のパスを入れて下さい。
それでは、Applyを押して、
- Build All
- Debug
を開始して下さい。
こんな画面になって、デバッグコンソールに
!!!Hello World!!!
と表示されるはず
eclipseでsshで接続するとき、初回は暗号化を承認せよとWarningが表示されますが、そのままOKして下さい。
RaspberryPiを使用している方ならご存知ですよね。