Top > blog > 2012-06-20

広告

Renesas SH cross compiler

PICやArduinoだと非力なときがあるので、より速いCPUが使いたくなり、ルネサスのSHに走ってみることにした。
ARMやAVRの速いCPUにするというのもあるけど、やっぱり日本人はSHでしょ?
ルネサスも経営がうまくいっていないらしいし。

で、開発環境を構築する必要があるので、まずはクロスコンパイラの構築をした。
構築の仕方は「クロスコンパイラの構築」に書いたので、ここはいかにコンパイルが面倒だったか、恨み節的なことを書いていくw

AVRやPIC、ARMなどはLinux向けの開発ツールが出回っていて、いろいろなディストリビューションの公式パッケージになってたりするが、SHの場合、皆無に等しい。
「Windowsでやれ」と言わんばかりだ。

クロスコンパイラの構築の仕方をググってみても、上の方に出てくるページでは内容が古かったりして、なかなか思うようにできない。
散々ググってみてやっとわかる感じだ。

たとえば、binutilesのコンパイルのとき

$ ../binutils-2.22/configure --prefix=/usr/local/sh_cross_4.7 --target=sh-coff
$ make

とやると書かれていたりするが、やってみると

"sh-coff"  This target is no longer supported in gas

といわれる、targetの名前が変わっているのだ。
しばらく検索すると「sh-hitachi-elf」としているページが見つかる
これでもうまくいくが、昔は日立が作っていたとしても今はルネサスなので古い気がする。
さらにググると「sh-renesas-elf」としているページが見つかる。これは納得。

次にgccのコンパイルを始めるとconfigのときに

checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

とでる。GMPやMPFR、MPCといったライブラリをインストールする必要があるらしい。
このことも結構検索しないと書いてあるところが見つからなかった。
結果としては「クロスコンパイラの構築」に書いた通り、「libmpc-dev」パッケージを入れればよかった。

長くなるので一旦終わり

Category: [SH,H8] - 23:44:56


広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Wed, 20 Jun 2012 23:44:56 JST (4299d)