Top > blog > 2012-06-20 > Renesas SH cross compiler

広告

#blog2navi()
**[[Renesas SH cross compiler>blog/2012-06-20/Renesas SH cross compiler]] [#a3ebea3e]

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

で、開発環境を構築する必要があるので、まずは[[クロスコンパイラの構築>sh_cross_compiler]]をした。~
構築の仕方は「[[クロスコンパイラの構築>sh_cross_compiler]]」に書いたので、ここはいかにコンパイルが面倒だったか、恨み節的なことを書いていく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といったライブラリをインストールする必要があるらしい。~
このことも結構検索しないと書いてあるところが見つからなかった。~
結果としては「[[クロスコンパイラの構築>sh_cross_compiler]]」に書いた通り、「libmpc-dev」パッケージを入れればよかった。

長くなるので一旦終わり

RIGHT:continue on: [[[SHクロスコンパイラ構築恨み節2>blog/2012-06-21/SHクロスコンパイラ構築恨み節2]]]
RIGHT:Category: [[[SH,H8>blog/Category/SH,H8]]] - 23:44:56
----
RIGHT:&blog2trackback();
#blog2navi()

広告

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes