LoginSignup
4
1

More than 1 year has passed since last update.

#1 Windows(Cygwin)版開発環境構築【後輩たちのためのEV3rt講座(改)】

Last updated at Posted at 2021-12-19

はじめに

この記事は元ロボコン出場者がクラブの後輩(中高生)向けに記している記事です。
又、2019年に執筆したシリーズの改定版になります。
前シリーズよりわかりやすく、正確にお伝えしたいと思っております。
もしかすると大人にとっては表現が易しすぎる、もしくは生徒には難しすぎるといったことがあるかもしれませんが何卒ご了承ください🙏
それでは、本題に移ります。

EV3rt とは?

まずはじめに、EV3rtを使うにあたりどのようなものか簡単に説明すると…
- TOPPERSが開発した、μITRON 組み込みOS
- LEGO Mindstorms EV3 で使うことが出来る。
- プログラミング言語としてCもしくはC++を用いる
- ETロボコンでは公式環境の一つとして提供されている

TOPPERS/EV3RTとは?(EV3rtのHPより)

今回やること

EV3rtを使い始めるにあたってまず立ちはだかる壁が、開発環境構築です。
プログラミングをするための下準備というわけです。
今回はイチから環境構築の過程を説明したいと思います。
既に終わっている箇所があれば適宜読み飛ばしてください。

環境構築の方法

今回紹介するのはCygwinというツールを使う方法です。
私が現役の時はこの方法が使われていましたが、現在ではレガシーなもの(古い方法)となっております。
新しい方法(WSLを用いるもの)については別の記事で紹介しますので、自分にあった方法で環境構築を進めてください。

EV3rtのバージョンについて

(この項目はわからなければ読み飛ばして頂いて構いません。)

EV3rtには2019年07月9日リリースのβ7.3版まで「HRP2」というカーネルが使われていました。
一方、2020年4月15日リリースの1.0版からは「HRP3」という新しいカーネルが使われています。
このカーネルの変更に伴い、環境構築・プログラム方法に違いがあります。
今回は最新版である2021年6月25日リリースの1.1版、すなわち「HRP3」版を用いていきます。
(β版を使用したい方はこちらの記事で)

環境構築スタート

Step1 Cygwinのインストール

Windowsでプログラムを人間が読める言語から機械語に変換する(このことをコンパイルといいます)ときに必要なツールです。UNIX系OSにおけるターミナルの役割を担います。

ダウンロード

まずはCygwinのサイトからインストーラーをダウンロードします。
リンクを開いた先にあるInstalling Cygwinの項目にあるsetup-x86_64.exeというところをクリックするとダウンロードできます。

インストールの開始

ダウンロードが完了したら、インストーラーを実行しましょう。
その際に以下のような警告が出てくるかと思います。
20211205_075149708_iOS (1).jpg
今回は問題ありませんので「はい」を選択してください。

起動すると以下のような画面になると思います。
スクリーンショット 2021-12-05 170206.png
「次へ」を押して次に進みましょう。

スクリーンショット 2021-12-05 170329.png
この画面では、インストール方法を選択します。
デフォルト通りInstall from Internetを選択した状態で「次へ」を押して次に進みます。

スクリーンショット 2021-12-05 170531.png
インストールするディレクトリ(場所)を指定します。
特にこだわりがなければデフォルトのままにしておきます。

もし任意の場所にインストールする場合は、パスにスペースや全角文字が入らないように注意しましょう。(特にOnedrive下にあるドキュメントなどはNG)

確認できたら「次へ」を押して次に進みます。

スクリーンショット 2021-12-05 170844.png

ダウンロードしたパッケージを置く場所を聞かれます。
先ほど同様、任意の場所に変更しても構いませんが、基本的にはデフォルトをお勧めします。
特に、スペースや全角文字が入るようなパスには置かないようにしましょう。

確認できたら「次へ」を押して次に進みます。

スクリーンショット 2021-12-05 171336.png

インターネットの接続について聞かれます。
プロキシサーバ等を使用していない場合はDirect Connectionを選択してください。

プロキシを使用している場合はUse System Proxy Settingsを選択してPCの設定を利用するか、Use HTTP/FTP Proxy:を選択してプロキシの設定を行ってください。

確認できたら「次へ」を押して次に進みます。

スクリーンショット 2021-12-05 171700.png

ここではどのサーバーからダウンロードするかを選択します。
基本的にどのサーバーを選択しても大丈夫ですが、ドメインが日本のもの、すなわち.jpで終わるサーバーは日本のサーバーなので信頼度が高いといえます。
今回はhttps://ftp.jaist.ac.jpというサーバーを選択します。
(ちなみにこれは「北陸先端科学技術大学院大学」のサーバーです。)

確認できたら「次へ」を押して次に進みます。

図2 (1).png

ここでダウンロードするパッケージを選択します。
上図のように検索ボックスに以下のパッケージ名を入力して探します。
EV3rtの環境に必要なものは以下の5つのパッケージです。

  • gcc-core
  • make
  • diffutils
  • perl
  • ruby

gcc-coreの選択

スクリーンショット 2021-12-05 173319.png

説明書きも確認して、正しいものが選択できているか確認してください。
(gcc-coreの説明 : GNU Compiler Collection (C, OpenMP))
Newの列のプルダウン(▼ボタン)を押すと、バージョンを選択することが出来ます。
基本的には最新のバージョンを選択すると良いと思います。

同様に残り4つも選択します。再度検索ボックスでパッケージ名を検索して探してください。

makeの選択

スクリーンショット 2021-12-05 173859.png

(makeの説明 : The GNU version of the 'make' utility)

diffutilsの選択

スクリーンショット 2021-12-05 174041.png

(diffutilsの説明 : A GNU collection of diffutilities)

perlの選択

スクリーンショット 2021-12-05 174306.png

(perlの説明 : Perl programming language interpreter)

rubyの選択

スクリーンショット 2021-12-05 174617.png

(rubyの説明 : Interpreted object-oriented scripting language)

全て選択出来たら「次へ」を押して次に進みます。

スクリーンショット 2021-12-05 174922.png

ここも「次へ」を押して次に進みます。
するとダウンロードおよびインストールが始まります。

スクリーンショット 2021-12-05 175939.png

インストールが完了すると、上のような画面になります。
「完了」を押してセットアップを終了しましょう。

Step2 GCC ARM(GNU Tools for ARM Embedded Processors)のインストール

EV3のマイコンにはARM社のものが使用されています。
近年のスマートフォンなどにも多く使用されているあのARM社です。
このARM社のマイコン用のコンパイラをインストールしていきます。

ダウンロード

以下のサイトにアクセスしてください。

すると過去にリリースされたバージョンが並んでいます。
ここで注意していただきたいのが、バージョンによって動作しないものがあることです。
現在確認できているもので最新のバージョンは6-2017-q1-updateです。
よってこのバージョンのインストーラーをダウンロードしてください。
(ちなみにダウンロードに少し時間がかかります。)

スクリーンショット 2021-12-05 181739.png

インストールの開始

ダウンロードできたらインストーラーを実行しましょう。
Cygwinの時と同様、警告が出てきますが「はい」を選択してください。

スクリーンショット 2021-12-05 183710.png

言語選択が出てきますので、そのままJapaneseを選択した状態で「OK」を押してください。

スクリーンショット 2021-12-05 183806.png

こちらの画面も「次へ」を押して次へ進みましょう。

スクリーンショット 2021-12-05 183850.png

ライセンス契約書が表示されますので、読まずにしっかり読んで「同意する」を押しましょう。
ちなみに全部英文です。(ガンバレ)

スクリーンショット 2021-12-05 184149.png

インストールする場所を選択します。
特にこだわりがなければデフォルトのままの状態で「インストール」を押してください。
するとインストールが始まります。

スクリーンショット 2021-12-05 184619.png

インストールが完了すると、上のような画面になります。
ここで重要なのが、必ずAdd path to environment variableにチェックを入れることです。
これを忘れると正しく動作しなくなります。
(ここでしていることは環境変数にパスを通すという作業です。)
チェックを入れた状態で「完了」を押してください。

動作チェック

ここまででCygwinとGNU Toolsのインストールが完了しましたが、正しくインストールできているか、確認してみましょう。
まずはCygwinを起動します。

スクリーンショット 2021-12-05 185638.png

このような画面が表示されます。ここにUNIXコマンドを打ち込んでいきます。
(UNIXコマンドについてはこの記事の一番最後に少し解説しています。)

ここに以下のコマンドを一行ずつ順番に入力していってください。
なお、コピペする際、CygwinのペーストのショートカットキーはCtrl + VではなくShift + Insertなのでご注意を。

$ gcc -v
$ make -v
$ diff -v
$ perl -v
$ ruby -v
$ arm-none-eabi-gcc -v

すると以下のようにそれぞれのバージョンが表示されるはずです。

スクリーンショット 2021-12-05 211354.png
スクリーンショット 2021-12-05 211808.png
スクリーンショット 2021-12-05 212101.png

それぞれ打ち込んだコマンドを青線、バージョンが書かれている部分を赤線で表しています。
全てのパッケージがインストールされていることを確認してください。
もしインストールされていなかった場合は上記の手順をもう一度行ってインストールをやり直してください。

Step3 U-bootのmkimage

こちらはEV3が起動するときに必要なブートローダのファイルです。

ダウンロード

mkimageのバイナリファイルをダウンロードします。
こちらのサイトにアクセスしてください。

(EV3rtのWikiにある ​http://www.trimslice.com/download/tools/Mkimage.tar.gz はリンクが切れていますのでご注意ください。)

スクリーンショット 2021-12-06 023615.png

サイトにアクセスした後、上の画像のように赤線の部分をクリックしてmkimage.tar.gzという圧縮ファイルをダウンロードしてください。

解凍

ダウンロードしたMkimage.tar.gzというファイルのプロパティを開いてください。
(ファイルの上で右クリックを押し、「プロパティ」を選択)
すると以下のようなウィンドウが表示されます。

スクリーンショット 2021-12-06 024220.png

この赤線で引かれた部分をコピーしてください。ここが、Mkimage.tar.gzが保存されている場所になります。

ここからはCygwinを使います。Cygwinを起動して、以下のコマンドを打ち込んでください。

$ cd C:/Users/■■■■■/Downloads

まずcdとは、指定した先のフォルダに移動するというコマンドです。
そしてその指定するフォルダというのが後ろのC:/Users/■■■■■/Downloadsです。
つまりここに、先ほどコピーしたmkimageが保存されている場所に移動するということです。

ただし!! 貼り付けたときにバックスラッシュが用いられているので普通のスラッシュ(/)に書き換えてください。バックスラッシュのままだとエラーが起きます。

下の画像の赤線で示したのがバックスラッシュ、青線で示したのが普通のスラッシュです。
正しく打ち込むことが出来れば長い赤線で示したように黄色の文字で場所が表示されるはずです。

スクリーンショット 2021-12-06 024748.png

次に、解凍のコマンドを打ちます。

$ tar zxvf Mkimage.tar.gz

これで中身を解凍することが出来ました。

ファイルのコピー

最後に、このファイルを「/usr/local/bin」にコピーします。
これもCygwinで行います。以下のコマンドを入力してください。

$ cp mkimage.exe /usr/local/bin

Step4 EV3rtのファイルをダウンロード

TOPPERS/EV3rtのページから、EV3rtのファイルをダウンロードしましょう。
EV3rt ダウンロードページ
このページの一番上にある2021年6月25日リリースの1.1版のファイルをダウンロードしましょう。
(ev3rt-1.1-release.zipというzipファイル)

ダウンロードが出来たらzipファイルを解凍してください。

スクリーンショット 2021-12-06 030811.png

zipファイルを開いて、「すべて展開」を押すと解凍できます。

解凍するとev3rt-1.1-releaseというフォルダが生成されます。
このフォルダ内に入り、その中の同じフォルダ名であるev3rt-1.1-releaseをコピーします。
その後、Cドライブ直下にペーストして移動してください。

Cドライブへのアクセス方法

スクリーンショット 2021-12-06 031126.png
上の画像のように、赤線で囲った枠の部分にC:\と入力してEnterキーを押してください。
これでCドライブ直下に移動することが出来ます。

Cドライブ直下に移動出来たら先ほどコピーしたフォルダを貼り付けてください。

スクリーンショット 2021-12-06 031919.png

ここからはCygwinを使います。
起動したら以下のコマンドでCドライブ直下にあるev3rt-1.1-releaseに移動します。

$ cd c://ev3rt-1.1-release

続いてそのフォルダ内のhrp3.tar.xzを解凍します。

$ tar xvf hrp3.tar.xz

解凍されたファイルが一覧で表示され、コマンドが打てるようになったら完了です。

以上にて、環境構築完了です!!

動作確認

ここまでで全てのセットアップが完了したので、実際にプログラムをコンパイルすることが出来るか試してみましょう。

Cygwinを起動し、以下のコマンドを入力します。

$ cd C:/ev3rt-1.1-release/hrp3/sdk/workspace

移動した先のフォルダは今後のプログラミングでも用いるワークスペースフォルダです。
このフォルダ内にプログラム作成します。
ここでは既に用意されているサンプルプログラムをビルドしてみます。

以下のコマンドでコンパイルを行います。

$ make app=helloev3

今回はworkspace内のhelloev3というフォルダをビルドしました。
このサンプルプログラムはev3rtのチュートリアル的なプログラムになっています。
このコマンドを打ち込むことでworkspace内にappというファイルが生成されていれば成功です。

これで動作確認も完了です!!

最後に

今回はCygwinを用いる方法でEV3rtの環境構築を進めました。
次回は冒頭にもご紹介したWSLを用いる方法で環境構築してみたいと思います。
当然ながら、今回ご紹介した方法で環境構築出来た場合は次回の作業は必要ありません。
次々回ご紹介するEV3での実行方法に進んでください。

【おまけ】UNIXコマンドについて

環境構築やプログラム作成の際に、Cygwinを用いるのですが、このときに使うのがUNIXコマンドです。
cdmvmkdirなどといったよく使うコマンドについては理解しておきましょう。
「UNIXコマンド 〇〇」といった形でググるとすぐ出てくると思います。
また、Qiitaの中にもコマンド解説の記事は数多く存在します。

次回 : #2 Windows(WSL)版開発環境構築

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1