LoginSignup
0
1

More than 5 years have passed since last update.

GR-CITRUSに組み込むmrubyをビルドする方法 for macOS

Last updated at Posted at 2017-01-11

GR-CITRUSに組み込むmrubyをビルドする方法 for WindowsのmacOS版です。

GR-CITRUSは、mrubyが気軽に使える小型ボードです。Chrome Appの「Rubic」を使うことでプログラムの作成から実行までスムーズに行うことができます。

GR-CITRUSのファームウェアの中にはmruby(libmruby.a)が組み込まれています。しかし、標準のファームウェアに組み込まれているmrubyには最低限のライブラリ(mrbgems)しか組み込まれていないため、ちょっと複雑なものを作ろうとしたときに困ることがあります。その場合、必要となるライブラリ(mrbgems)を組み込んだmruby(libmruby.a)のビルドと、それを組み込んだGR-CITRUSのファームウェアのビルドが必要となります。

この記事ではその手順を紹介します。

必要なもの

この記事では、macOS High Sierraを使用しています。まず、mrubyを普通にビルドできる環境が必要です。私の環境にはRailsを動かすためにrubyやgitなど一式諸々が入ってしまっているため詳細が確認できません。すみません。

また、GR-CITRUSのファームウェアをビルドしたことがない方は、あらかじめGR-CITRUSのFirmwareをビルドする方法 for macOSに従い、ビルド環境のセットアップとファームウェアのビルドができることの確認を行っておいてください。

mrubyのソースコードの取得

コマンドプロンプトを起動して、githubのmrubyリポジトリからmasterブランチをクローンします。

git clone https://github.com/mruby/mruby

GR-CITRUS用のbuild_config.rbの準備

mrubyのビルドを行うためには、build_config.rbファイルを適切に設定する必要があります。GR-CITRUS用のbuild_configファイルは、GR-CITRUSのFirmwareのmrubyフォルダに含まれてます。

このファイルを取得するか、その内容をすべてコピー&ペーストして、mrubyフォルダ内にあるbuild_config.rbファイルの内容を置き換えてください。

build_config.rbの修正

上記で取得したbuild_config.rbファイルを自分の環境にあうように書き換えます。書き換えるのは、BIN_PATHの行です。

build_config.rb
  BIN_PATH = "/Applications/IDE4GR.app/Contents/Java/hardware/tools/gcc-rx/rx-elf/rx-elf/bin/"
  LIB_PATH = "/Applications/IDE4GR.app/Contents/Java/hardware/tools/gcc-rx/rx-elf/rx-elf/rx-elf/lib"

ここで指定するパスは、rx-elf-gccコマンドがあるパスです。GR-CITRUSのFirmwareをビルドする方法 for macOSに従いビルド環境を構築した方は、IDE for GRをインストールしたパスとなります。

また、このファイル内でmrubyに組み込みたいライブラリ(mrbgems)を指定することができます。適宜、必要に応じて追加、削除などを行ってください。

mrubyのビルド

ターミナルを起動し、上記で修正したbuild_config.rbがあるフォルダに移動します。

$ cd mruby

mrubyのビルドを行います。

$ ruby ./minirake

ビルドが成功すると、以下のようなメッセージが出力されます。build\RX630\libフォルダに出力された、libmruby.aファイルが、GR-CITRUSのファームウェアに取り込むmruby(ライブラリ)です。

================================================
      Config Name: RX630
 Output Directory: build/RX630
    Included Gems:
             mruby-math - standard Math module
             mruby-numeric-ext - Numeric class extension
================================================

GR-CITRUSのファームウェアのビルド

GR-CITRUSのファームウェアのwrbb-v2lib-firm/firmware_release/wrbb_mrubyフォルダにあるlibmruby.aファイルを、mrubyのビルドで出力されたlibmruby.aファイルで上書きします。

cp build/RX630/lib/libmruby.a /{path_to}/wrbb-v2lib-firm/firmware_release/wrbb_mruby/libmruby.a

GR-CITRUSのファームウェアをビルドします。firmwareフォルダに移動して、makeコマンドを実行します。

cd /{path_to}/wrbb-v2lib-firm/firmware_release/

make

正常終了すると、makefileと同じフォルダにあるcitrus_sketch.binファイルが更新されているはずです。

ビルドしたファームウェアを書き込む場合は、GR-CITRUSのリセットボタンを押してUSBメモリとして認識させた後、citrus_sketch.binファイルをコピーしてください。

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