広告
#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:Category: [[[SH,H8>blog/Category/SH,H8]]] - 23:44:56 ---- RIGHT:&blog2trackback(); #blog2navi() 広告 |