0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#1-3 開発環境を作ろう (Linux/Ubuntu向け)【もっと!後輩たちのためのEV3rt講座】

Posted at

目次

タイトル 内容
1 はじめに この記事について
2 開発環境構築 環境構築について説明
3 最後に この後やる事について説明

1. はじめに

この記事は 【もっと!後輩たちのためのEV3rt講座】シリーズ#1 開発環境を作ろう に対する補足記事となります。

#1 では、開発環境構築をテーマに、主にWindows(WSL) でEV3rtの開発環境を作成する方法を紹介しました。
それ以外のOSについての紹介はしていなかったため、 #1-2でmacOS版の構築方法を解説しました。
そして本記事では、Linux/Ubuntu での構築方法を紹介していきます。
本質的には #1 と同じ内容ですが、WSL特有の設定が多く含まれていたので、それらを取り除き、そして実際にUbuntu環境に構築し検証した記事となります。

環境構築以外の説明 (#1の「EV3rtとは?」など) は省いていきますので、そちらはご自身で #1 の記事をご覧ください。

2. 開発環境構築

Step 1. 必要なパッケージのインストール

gcc, make, diff のインストール

まずは「コンパイラ」を含めた 「パッケージ」 をインストールしていきます。
「コンパイラ」とはソースコードを機械語に翻訳するソフトのことです。
また「パッケージ」とは平たく言えば、ソフトウェアとそれに付随するファイル群のことで、Linuxでは「パッケージ管理システム」を使うことで簡単にソフトウェアをインストールしたり、アップデートすることが出来ます。

では、ターミナル(Ubuntuを日本語化していると「端末」という表記かも)を開き、以下のコマンドを一行ずつ入力していきましょう。

terminal
$ sudo apt update
$ sudo apt install build-essential

コマンドの前の$は入力する必要ありませんので注意してください。

$ sudo apt update は、パッケージ管理システム「apt」のアップデートです。
2行目はパッケージのインストールを行っており、gccmakediffといったパッケージを使えるようにするものです。

ここで、各行の先頭にsudoというコマンドがありますが、こちらは 「管理者権限で実行する」 という意味です。
この際、パスワードの入力が求められますので、Ubuntuにログインする際のパスワードを入力してください。

これらのパッケージを正しくインストール出来ているかは、以下のコマンドで確認することが出来ます。

terminal
$ gcc -v
$ make -v
$ diff -v

以下のように出力されればOKです。

Screenshot from 2025-01-25 13-00-02.png

Screenshot from 2025-01-25 13-00-32.png

ruby のインストール

次に、コンパイルに必要なrubyの環境を整えます。
ターミナルを開き、以下のコマンドによりrubyをインストールします。

terminal
$ sudo apt install ruby

インストール出来たかは以下のコマンドにより確認することが出来ます。

terminal
$ ruby -v

以下のように出力されればOKです。

ruby.png

rubyのバージョンが3.0以上の場合、この後必要な作業があるので注意してください。

shell のインストール

コンパイルの際にrubyのライブラリでshellというものを用います。
ruby 2.7系以降では標準搭載されていないので、インストールしていきます。

Ubuntuのターミナルで、以下のコマンドを入力してインストールします。

terminal
$ sudo gem install shell

インストール出来たかは以下のコマンドにより確認することが出来ます。

余談

shellをインストールするためにgemというものを使っています。
これもまた「パッケージ管理システム」で、これはrubyのライブラリを管理するパッケージ管理システムとなります。

terminal
$ gem list

インストールされているライブラリが一覧表示されますが、その中に shell (バージョン) があればOKです。

gem_shell.png

以上で、必要なパッケージのインストールは完了です!

Step3. EV3rt用のシェルスクリプトの実行

ここからは、TOPPERSが用意している 「シェルスクリプト」 を用います。
「シェルスクリプト」とは、今まで手打ちで行っていたコマンドが書かれているファイルで、これを用いることでコマンドの実行を自動化することが出来ます。

Ubuntuのターミナルを開き、以下のコマンドを一行ずつ実行してください。

Ubuntu
$ wget http://ev3rt-git.github.io/public/ev3rt-prepare-ubuntu.sh
$ sudo bash ev3rt-prepare-ubuntu.sh

1つ目のコマンドではgithub上にあるev3rt-git.github.ioというリポジトリから、インストールに用いるシェルスクリプトをダウンロードしています。
2つ目のコマンドはそのシェルスクリプトを実行しています。

2つ目のコマンドを入力すると、次のような表示がなされます。

shell_run.png

ここで1を入力してください。
これでEV3rtに必要なものが自動的にインストールされます。

余談

今回用いたシェルスクリプトについて、その中身をほんの少しだけご紹介します。
このシェルスクリプトはEV3rtのGithubリポジトリより見ることが出来ます。

https://github.com/ev3rt-git/ev3rt-git.github.io/blob/master/public/ev3rt-prepare-ubuntu.sh

このシェルスクリプトでは 「ARM社のマイコン用のGCCコンパイラ」 、そしてブートローダーである 「U-bootのmkimage」 がインストールされます。
以下、カッコ内の行数はシェルスクリプト上の行数を表しています。

EV3はARM社のプロセッサTexas Instruments AM1808 ARM Microporcessorを採用していますが、このARMプロセッサ用のコンパイラも必要なのです。
ARM社用GCCコンパイラは多くのバージョンがありますが、自動的に動作確認済みバージョンをインストールしてくれます。(58~61行目)
又、コンピュータ内にそれ以外のバージョンがあった場合は削除してくれます。(52行目)

そして、EV3を起動するとき、一番最初に動くソフトウェアであるブートローダーのU-bootの設定も同時にしてくれます。(55行目)

ここで、再起動をするよう指示されるので、Ubuntuを再起動しましょう

Step4. EV3rtのファイルをダウンロード ⇒ 配置

それでは、EV3rtのソースコードをダウンロードしていきます。

TOPPERS/EV3rtのページから、EV3rtのファイルをダウンロードしましょう。

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

上記ページでのzipファイルのダウンロードですが、Google Chromeを利用するとダウンロードが出来ません。
よって、Firefox などの他のブラウザを利用するようにしてください。

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

zip_ext.png

展開するとev3rt-1.1-releaseというフォルダが生成されます。
その後、展開したフォルダを移動させますが、ここでは「ホーム」フォルダの下に「Workspace」フォルダを置き、その中にコピーすることとします。

home_workspace.png

workspace_dir.png

コピーできたら、圧縮ファイル hrp3.tar.xz を展開します。
右クリックして「展開」を押すと展開することが出来ます。

hrp3_ext.png

ソースコードの修正

ruby 3.0系以上をインストールしている場合は必ずこの作業を行ってください。
2.7以下の場合はやらなくても大丈夫です。

コンパイルする際のrubyのコードに誤りがあるようで、修正しておかないとruby 3.0系以上でコンパイルで出来なくなるバグが発生します。
これを修正したいと思います。

@kuboaki(Kuboaki Shin) 様の下の記事👇の情報を元に修正していきます。

まず、ev3rt-1.1-release/hrp3/cfg/pass1.rbを探して開きます。

pass1rb.png

見つけたらダブルクリックで開いてみましょう。
デフォルトの設定なら「テキストエディター」が開くはずです。

開いたら、179行目 に移動します。
以下のように「Show Line Numbers」にチェックを入れて行番号を表示すると探しやすいです。

line_num.png

移動したら、以下の画像の部分を修正します。

pass1rb179.png

コードを以下のように修正してください。
({ } 両端の中カッコを取ります。)

pass1.rb
# 元のコード
symvalCsv = CSV.open(symvalTableFileName, { skip_blanks: true, skip_lines: /^#/ })

# 修正後のコード
symvalCsv = CSV.open(symvalTableFileName, skip_blanks: true, skip_lines: /^#/ )

修正出来たら上書き保存して、メモ帳を閉じてください。

以上にて、環境構築完了です!!
このあと、動作確認を行います。

Step 5. 動作確認

それでは最後に、プログラムをコンパイル出来るか確認してみましょう。

ターミナルを開き、EV3rtの ワークスペースフォルダ Workspace/ev3rt-1.1-release/hrp3/sdk/workspace に移動します。
この次々回詳しく説明しますが、このフォルダ内にプロジェクトを作製していきます。

Ubuntu
$ cd Workspace/ev3rt-1.1-release/hrp3/sdk/workspace

今回は既に用意されているサンプルプログラムをコンパイルしてみます。
以下のコマンドでコンパイルを行います。

Ubuntu
$ make app=helloev3

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

Screenshot from 2025-01-25 13-32-36.png

以上で、動作確認は完了です!!

3. 最後に

#1 の Windows(WSL) 版の記事では、この後 microSDカードの準備 を行います。
ここからは、エクスプローラーと表示は多少違えど、やる事はWindowsでもUbuntuでも共通ですので、そちらを参照してください。

本編: #1 開発環境を作ろう
次回: #2 エディタを使おう(VisualStudio Code)

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?