前回までにおおよそ必要な物は準備できたので、今回はそれらの設定を行っていきます。
sshログインの設定
eclipse にプラグイン (Remote System Explorer) を導入したことで、ssh のターミナルや sftp を eclipse から操作することができるようになります。
ファイルの転送について、GUI上でドラッグアンドドロップで操作できるのはすごく楽になると思います。今までならWinScpを別途立ち上げるとかだったと思います。
メニューから Window / Open Perspective / Other と選択し、Remote System Explorer を選びます。
新しく、Remote Systems というタブ(ウィンドウ)が開くと思います。
この開いたウィンドウで、新規にコネクションの作成を行います。
ウィンドウ上で右クリックし、New/Connection… を選んで下さい(あるいは追加のボタンを押しても可).
以下のようなウィンドウが開くと思います。ここでは対象がLinuxを選びます(Jetson TK1がそうなので)
続いて対象のIPアドレスを入力します。そしてNextボタンを押します。
その後のウィンドウでは、ssh.files、processes.shell.linux、ssh.shells, ssh.terminals と順番に選んで設定を完了させます。
設定が完了した後では、以下のように登録されていると思いますが、ここで右クリックしてプロパティを開きます。
そして、デフォルトのエンコーディングを UTF-8 にしておきます(おそらく最近はこちらのケースが多いでしょう)
あとは、右クリックして Connect でターゲットに対して接続を行います。また Sftp Files ではターゲットのディレクトリツリーを確認できますし、Ssh Terminals で右クリックして Launch Terminal を選ぶとsshのシェルを開くことが出来ます。
もう、ちょっとしたシェルのために別アプリを開かなくていいので大変楽になります~。
C,C++のプロジェクトを作ってクロスコンパイル
eclipseで C/C++ のサンプルを作って動作の確認および設定を行っていきます。
まずは、簡単なプログラムHello,worldを作ってみます。
メニューから File / New / Project と辿り、C/C++の C++ Project を選択します。
すると詳しい情報を入力するウィンドウが開くので、ここでは以下のように設定してみます。
- Project Name: HelloWorldArm
- Executable は Cross-Compile Project
続いてクロスコンパイル用のツールに関して以下のように入力します。
今回のターゲット Jetson TK1 は Linaro の eabihf のものを使用しているのでこんな感じになります。
- Tool command prefix: arm-linux-gnueabihf-
- Tool command path: D:\Linaro\gcc-linaro-arm-linux-gnueabihf-4.8-2014.04\bin
もし他のツールチェインを使う場合にはこれらの設定を対象の物に変えてあげればうまくいくかなと思います。
プロジェクトを作成したら、プロジェクトを右クリックして New / Other を選択してダイアログを開き、「Source File」を選択します。
ファイル名には適当に、main.cppとでもしておきます。
こうして作成したファイルに、以下のように適当なプログラムコードを記述します。
#includeint main() { printf( "Hello, CrossTarget.\n" ); return 0; }
作成したら、プロジェクトを右クリックして、「Build Project」を選択します。するとコンパイルが開始されます。
以下のようになると思いますが、エラーが出ている場合には make コマンドが実行できているか確認するところから調査します。Msysで入れ忘れているか、パスが通っていないかだと思います。
ソースコードのビルドまで、たどり着きました!
メニューから Project / Build Configurations / Set Active と辿ることで、デバッグビルドとリリースビルドの選択切り替えができるようです。
次回は、デバッグについて設定していきたいと思います。