こんにちは、しゅうです。
今回はスラロームの調整や不具合の原因調査の息抜きに、僕が普段から愛用しているMac OSでRXマイコンの開発ができないか調査してました。
と言うわけでまずは、そこに思い至った背景をお話します。
背景
以前のブログでご紹介したRXマイコン用の開発環境CS+はWindows用のものでした。Mac OSやLinuxでは動かないもので、今までは会社の貸し出しWindowsPCを借りて、Pi:Coの開発を進めてきました。Macでマニュアルを読んだり調べ物をしたりして、WindowsPCでコーディングをしていました。OSを行ったり来たりするのが、思いの外面倒で・・・疲れちゃいますね。(もしかしたら仮想マシンとかデュアルブートを使った方が良かったかもですねw)
それがひと段落したということで、なんとか自分のMacで開発ができるようにしたいなって思い至りました!使用するデバイスをなるべく1つにまとめられるならそうしたいですし。しかも(会社の大先輩曰く)できるそうなので、超苦手な環境構築にチャレンジしていきます!
今回の環境
このブログを書いている時のMac OSはCatalina (10.15.2)です。マシンのスペックは次の表の通りです。
Machine | MacBook Pro (13 in, 2019) |
---|---|
Memory | 16 GB |
Processor | 1.4 GHz Quad-Core Intel Core i5 |
あとはパッケージなどをインストールするためにHomebrewを使いました。Mac portsでもやる方法はあるそうなのですが、どちらかに限定した方が良いです。Mac portsを使いたい方はこちらのブログを参照してみてください。
ちなみに今回使用しているHomebrewのバージョンはHomebrew 2.4.1です。インストールの仕方はこちらを参考にしてください。
何が必要?
CS+のような統合開発環境が用意されていないので、ソースからビルドしたりHomebrewでパッケージのインストールをしないといけません。さらに、Mac OSで開発を行う場合、Xcodeというものをインストールしておかないといけません。これはAppStoreから、重くて時間はかかりますが、簡単にインストールが可能です。僕はversion 11.5を使っています。xcode-selectというものも入っていると、ビルド時間が短くなるので入れておくと良いですよ。次のコマンドでインストールできます。
$ xcode-select --install
ソースのダウンロード
次に必要なソースをダウンロードしていきます。こちらのページにあります。下の画像に示されているように、今回はGCC for Renesas v8.3.0.202002-GNURXをダウンロードします。項目は4つありますが、GCC・Newlib・Binutilsの3つをダウンロードします。今回はデバッグ用のソースであるGDBは導入しません。また、2020/07/13時点では、ソースコードであれば、ダウンロードするのに会員登録は必要ありません。
ダウンロードが完了したら、まとめて同じフォルダーに入れておきましょう。次のような構成にしましょう。参考までに、僕は/Users/shu_rt/ws/RX-ToolChainと言うふうに作りました。
RX-ToolChain (この名前と場所は任意で問題ありません) +source | +gcc (ダウンロードしたもの) | +newlib (ダウンロードしたもの) | +binutils (ダウンロードしたもの) +prefix +build
brewを使う
次はbrewを使ってコンパイルに必要なパッケージをインストールしていきます。まずは
$ brew update
を行っておきましょう。完了したら、
$ brew install gcc@8
を実行しましょう。これで一緒に、gmp-6.2.0, mpfr-4.0.2, libmpc-1.1.0がインストールされます。ビルドされるので、まあまあ時間はかかります(30分から1時間ほど?)。完了したらリンクを貼ります。
$ cd /usr/local/binln -s gcc-8 gcc $ ln -s gcc++-8 g++ $ ln -s c++-8 c++
これで、再起動をして設定を反映させましょう。再起動後に
$ gcc --version
を実行して次の画像のようにhomebrewのgccであれば成功です。
この他にもインストールするものが後2つ必要です。まずは次のコマンドでautogenを入れましょう。
$ brew install autogen
次にautoconfも必要なのですが、brewでそのまま入れるとバージョン2.69が入りgccで想定しているバージョンが異なるためmakeするときにエラーが発生します。そこで必要な2.64をソースからインストールします。次の一連を行いましょう。インストール先はどこでも問題ありません。
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.64.tar.gz $ tar xvfz autoconf-2.64.tar.gz $ cd autoconf-2.64 $ ./configure --prefix=/usr/local/Cellar/autoconf/2.64 $ make $ make install
将来的に2.69を使う場合は、
$ brew switch autoconf 2.69
とすればバージョンの切り替えがすぐ行えます。
まとめ
割と長くなってきたので、今回はここまでとします。今回ご紹介したアプリケーションなどの情報を次の表にまとめておきます。次回は、ダウンロードしたソースのビルドなどを行っていきます!
Application | Version |
---|---|
macOS Catalina | 10.15.2 |
Homebrew | 2.4.1 |
Xcode | 11.15 |
xcode-select | 2373 |
GCC for Renesas | 8.3.0.202002-GNURX |
gcc | 8.4.0_1 |
autogen | 5.18.16 |
autoconf | 2.64 |