2009年8月25日火曜日

Linuxな環境

どうも、Linuxを久々にインストール、起動して、今それでこの文章を書いているQです、こんちには。

少々思うところがあってLinuxとH8とgccを使ってみようと思ったのですが・・・。結論からいうとあんまり良くありません。
もし何かの関係でこのページにたどり着いた人は参考までに。


相当昔に秋月で購入したH8/3069-LANのキットです。ずっと段ボールの奥にお倉入りしてたのですが久々に引っ張りだして組み立ててみました。組み立てたはいいのですが、残念なことにあまりまともに使えません。また使う必要もないと思います。
みついわゆきお氏のH8/OSはソースが公開されているのでTCP/IPスタックをハッキング、再構築でもするなら別ですが・・・

まず、google等で調べてみても即座に使える文献等は殆ど出てきません。出てくるのは殆どが5年前とかそんなんばっかりです。gccは新しい方のバージョンはH8アーキテクチャのサポートを辞めていますし、みついわ氏のホームページでもH8のサポートは打ち切ったとのことです。
したがって本や他のホームページを基にして最新版等をインストールできません。どこかに良いものがあるかもしれませんが、僕には探せませんでした。

そもそもH8の開発環境はルネサスがほぼ無償でHEWを提供していますし、使いかたも簡単です。わざわざ苦労してまでgccを使う理由はないでしょう。また、一応古いバージョンのH8/OSやMESのH8対応版はダウンロードできるようですが、他のHPに書いてあるようなあっさり書き込めた、みたいにはならないと思います。OS自体は書き込めるんですが・・・
(H8/OS、MESのH8対応のふたつのバージョンがあって情報が錯綜気味。しかも情報が古い)

ボードはともかく、開発環境をgccにこだわるのはあんまり賢明ではないかも知れません。只、その代わりそれ以外のことをよく知ることができます(笑)正直なところよくわかりませんが、とにかく以下の環境でできたことをメモ。


使ったOSはCentOS5.3。
ダウンロードしたのはbinutils-2.16.1、gcc-core-3.4.6、newlib-1.14.0。
tar.gzやtar.gz2を解凍して以下を行う。(configure、make,make installはrootやsuで行う)

$ cd binutils-2.16.1/
$ mkdir build
$ cd build/
$ ../configure --target=h8300-hms --prefix=/usr/local/h8 --disable-nls
$ make
$ make install


PATHを通す。
この例では/usr/local/h8/bin

$ cd gcc-3.4.6/
$ mkdir build
$ cd build
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
--with-gnu-as --with-gnu-ld --with-newlib
--with-headers=/展開したディレクトリ/newlib-1.14.0/newlib/libc/include
$ make
$ make install


$ cd newlib-1.14.0
$ mkdir build
$ cd build/
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
$ make
$ make install


大抵の場合ここまででどっかでエラーが出ると思うがでなければOK。ていうかこの組み合わせに達するまで3日かかった(笑)
ちなみにいずれも更新が2005年程度のものです。むしろ良く通ったなと・・・

h8300-hms-gccでコンパイル。h8300-hms-objcopyでmotファイルに変換。とりあえずLEDチカチカのプログラムを書いたらなんとか動きました。

他のディストリビューション、バージョンではわかりません。とにかく以上の状況で動いています。CentOS5.3で成功したものなので結構最新の導入情報にはなるとは思います。

なおノートPCの場合シリアル端子がないことがよくあります。秋月の例のUSBシリアル変換ですがCentOS5.3、Plamo Linux4.6、ubuntu9.04では挿せば認識されました。只ふるいものなので、新しい奴がチップ変わってたりするとわかりません。
またこの場合みついわ氏のh8writeのプログラムのデバイス情報を/dev/ttyUSB0に変換してコンパイルする必要があります。


なんかの関係でここにたどり着いた人、そしてこれから始めるような初心者は悪いことは言いません。H8でgccは時間の無駄になるので止めた方が良いです。HEWを使った方が良いでしょう。
(LANの関係があるんだけど今はLantronixも有るしTCP/IPスタック内蔵のLANコントローラも安く売っているし・・・)
正直H8/Tinyはともかくそれ以外のH8ってもはやメリットがないんだよね。せっかく今から始めるならARMとかSHの方が・・・・まあ、鬱気分を味わいたい人はどうぞ。ちなみに僕はとりあえずやってみようと思ってこの有様です。せっかくできたのでもう少しなにかやってみますが多分すぐ飽きてHEWに乗り換えると思います。
まあボード自体は動くのでためしに買う分には良いんじゃないでしょうか?幸いふるいものだけあってアプリケーションの例は探せばいろいろ出てきます。

ちなみにHEWとお仲間の書き込みツールFDTでH8/OS書き込んでも動きませんでした。鬱。多分単純な設定を変えれば動くとは思うけど・・・




gcc
インストールに
一時間

0 件のコメント:

コメントを投稿