TOPPERS/EV3RTの開発環境を整える

TOPPERS/EV3RTを使用し、C言語で開発する環境を構築する方法を紹介します。

そもそも、TOPPERS/EV3RTとは?

>・TOPPERS/EV3RT(Real-Time platform for EV3)とは、メモリ保護機能付きRTOSである[TOPPERS/HRP2カーネル](http://toppers.jp/hrp2-kernel.html)をベースとしたMindstorm EV3用の開発プラットフォームです。

>・EV3RTを使って、CやC++などの開発言語でリアルタイム性の高いアプリケーションを開発することができます。

>・[ETロボコン](http://www.etrobo.jp/2015/)2015の公式ソフトウェアプラットフォームの1つとして採用されています。

>・[名古屋大学 大学院情報科学研究科 高田研究室](http://www.ertl.jp/)を中心に開発を進めています。

以上、[TOPPERSページ](http://dev.toppers.jp/trac_user/ev3pf/wiki/WhatsEV3RT)より引用しました。なお、[ETロボコン2016](http://www.etrobo.jp/2016/)でも公式ソフトウェアプラットフォームとして採用されているようです。

私の端末のOSがWindows10、開発言語はC、開発環境がTOPPERS/EV3RTなので、ここではWindouwsでの構築法になるのでご了承ください！

#Cygwinの導入

まずは[Cygwinのサイト](https://www.cygwin.com/)からインストーラをダウンロードします。
→[64bit版](http://cygwin.com/setup-x86_64.exe)　　→[32bit版](http://cygwin.com/setup-x86.exe)
ダウンロードしたら、インストーラ起動！
<img width="402" alt="cygwin1.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/b67fb88c-386f-59bf-308e-ed553073bfa1.png">


「次へ」を選択し、インストールの方法を選択します。インターネットが使えるなら、"Install from Internet"を選択して、「次へ」をクリックします。
<img width="413" alt="cygwin2.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/e2c05b63-169f-e81c-fff2-df2e61665414.png">

その後、インストール先やダウンロードしたパッケージの保存先を設定します。私はデフォルトの設定のまま設定しちゃいました。（忘れっぽいので、任意の保存先にすると後々後悔しそう、という残念な理由です。。。）

パッケージをダウンロードするサイトを決めます。特に理由がなければ、安心と信頼の日本国内サイト(URL語尾が.jpのもの)からダウンロードするといいです。

<img width="413" alt="cygwin3.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/fb21d5f2-0aec-b1a4-da11-41d0f6db47f7.png">

今度はインストールするパッケージを選択します。必要なパッケージは以下の4つ！

 - gcc-core(バージョン4.9.0-1以降のもの)
 - make(バージョン4.0-2以降のもの)
 - diffutils(バージョン3.3-2以降のもの)
 - perl(バージョン5.22.1以降のもの)

どんな感じにやればいいのか、gcc-coreを選択する作業を通してご紹介します。

<img width="640" alt="gcccore.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/bb5acd6b-e530-417a-563a-da100596055e.png">

画面上部にある検索窓に”gcc-core”と入力し、表示された一覧の中から、”Devel”を選択。その後表示される一覧から、”gcc-core:GNU Compiler Collection(C, OpenMP)”を何度かクリックし、最新のバージョンを表示させます。**「次へ」はまだクリックしちゃダメ！！！！**

こんな感じで、残り3つも選択します。

 - ”Make”で検索→”Devel”を選択→”make:The GNU version of the ‘make’ utility”の最新バージョンを表示させる。
 <img width="640" alt="make.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/b250a09b-4dbb-e626-3750-23cfd890c6ee.png">
　　

 - ”diffutils”で検索→”Utils”を選択→”diffutils:A GNU collection of diff utilities”の最新バージョンを表示させる
<img width="640" alt="diffutilts.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/9eabebc3-ec54-01f2-095f-47cd8ef30694.png">
　　

 - ”perl”で検索→”Perl”を選択→”Perl programming language interpreter”の最新バージョンを表示させる
 <img width="640" alt="perl.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/2ad32679-e193-60e9-72f5-ed218b5ae0c4.png">



**以上四つを選択してから**(これ重要)「次へ」をクリックします。

インストールするパッケージを確認します。
「次へ」をクリックするとインストールが始まります。以上でCygwinの導入は完了です！

#GCC ARM(GNU Tools for ARM Embedded Processors)のダウンロードとインストール

[GCC ARMのサイトのダウンロードページ](https://launchpad.net/gcc-arm-embedded/+download)からインストーラをダウンロードします。
<img width="640" alt="gnu.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/76821a07-53f9-b6d2-e687-c3a59963b7cc.png">

ダウンロード後にインストーラを起動、言語選択画面で”English”を選択し、ライセンス確認画面までいきます。
<img width="226" alt="gnu_lang.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/686377f3-3b59-1297-ef9a-4e572e1cf771.png">

ライセンス確認画面では、” I accept the terms of the license agreement”にチェックを入れてから次へ進んでください。

その後、インストール先のディレクトリの設定・確認をすればインストールされます。
<img width="383" alt="gnu_install.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/a94e54e3-7b00-2507-3147-988fb09e2c5c.png">
(こんな感じです、インストール先決めたら"Installをポチっと")

<img width="383" alt="gnuset.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/649a796a-e692-8cb3-2d6b-8a64bf5cb87e.png">


インストールが完了すると上の画面のようになります。**”Add path to environment variable”のみチェックを入れて**(これとっても重要)、終了してください。


Cygwinを起動して`arm-none-eabi-gcc -v`とコマンドを入力し、自分がインストールしたバージョンが表示されればOK!<img width="640" alt="ver_kakunin.png" src="https://qiita-image-store.s3.amazonaws.com/0/152243/8f03f055-cbab-37c4-9efb-479a2e163990.png">



#U-Bootの導入

[ARM Linux Mini Computers](http://www.compulab.co.il/utilite-computer/web/home)のサイト内で"Support"→"Download"と辿っていって、Cygwin用のmkimageのバイナリをダウンロードします。(辿って探すのが面倒な方は[ここから](http://www.trimslice.com/download/tools/Mkimage.tar.gz)DLできます)

cygwinを起動し、Mkimage.tar.gzのあるディレクトリに移動します。Chrome以外のブラウザでダウンロードした場合は、移動後に以下のコマンドを実行します。

`$ mv Mkimage.tar.gz Mkimage.tar.gz.gz`
`$ gzip -d Mkimage.tar.gz.gz`

以下のコマンドでMkimage.tar.gzの解凍とコピーを行います。

`$ tar zxvf Mkimage.tar.gz`
`$ cp mkimage.exe /usr/local/bin`

以上でU-Bootの導入完了です!
#開発プラットフォームEV3RTのダウンロードとインストール

[TOPPERSのダウンロードページ](http://dev.toppers.jp/trac_user/ev3pf/wiki/Download)からEV3RTのパッケージをダウンロードします。
![toppers_ver](http://www.fastpic.jp/images.php?file=6693378444.png)



現時点(2016/12/21)で最新のパッケージを
Zipフォルダを解凍し、プラットフォームパッケージ(hrp2.tar.xz)をC:/cygwin64にコピーします。コピーしたらCygwinを起動して、cygdrive/c/cygwin64へ移動します。

`$ cd ../../`
`$ cd cygdrive/c/cygwin64`

以下のコマンドでhrp2.tar.xzを解凍します。

`$ tar xvf hrp2.tar.xz`


以上で環境構築は完了です、お疲れ様でした！！