OAKS-16 + RTL8019AS +128K RAM 2個、
ARP、ICMP(Ping),IP,TCP、UDP,DHCP,NTP を実装
しました。 移植のポイントを列挙します。
1.フラッシュROMでデバッグ出来、(ダウンロード20
秒)ブレイクポイント2点が使えて快適だった。
2.I/O向けのウェイト機能が貧弱なため、モノマルチ
で、ウェイトを保障した。 H8では、プログラマブルの
範囲が広く追加回路は不要です。 ここは、予想外で
した。
3.動作速度を向上させたいが、三菱のコンパイラー
NC30は、かなりの頑固者で、スタックサイズ256バ
イトだから自動変数をニアーで、使えず速度を犠牲
にするしかない。
4.NC30は、MSC,日立Cと比較して、意固地です。
ビット演算する場合、unsigned int にしないと、ビット
エラーが発生してしまいます。
si=(si >>8 + si << 8);
05BA --> 05BA とはならず、 04BAでした。
これは、困りました。 >>,<< を利用する場合全て
unsigned を利用することにしました。
int a;
char c;
a=c << 8;
この結果は 0、だって、char で、シフトすれば、無く
なりますから。 MSC,日立C 共に、シフトの場合、
unsigned int に変換した上で、やってくっれていました。
a=(int)c <<8; と、当たり前のくどい表記にしました。
4.リトルエンディアンでした。 i808X 系です。
-----------------------------------
現状では、Ping 計測で、 H8 3048F16 の半分の
速度ですね。 デバッグ向けコンパイルですから、ROM
化すればもう少し良いのかも。
V53A H8 M30620
32 文字 6 12 12
512 文字 22 26 40
1024 文字 37 49 81
4回の応答時間を合計しています。
感想 -----------------------------
安価(¥22,000)な投資で、開発環境を含め評価出来ま
した。 デバッガーが貧弱で、作業能率が低めですから、
パートナークラスのデバッガーが、望ましいでしょう。
コンパイラーの制約がやや、アセンブラーに引きずられ
ている感を持ちました。 エリア、スタックの設定がもっ
と自由で無いと、RAMを増設する場合に、使い切れませ
ん。
私の評価作業は、自社開発のTCP/IPプロトコルスタッ
クの移植性確認でしたので、この癖の強いNC30を使っ
ての移植作業から多くを教わりました。 ARM コンパ
イラーでも、エラーの山を築きましたので、新たな血を加
える事の大切さを再度教わった感が有ります。
杉本
横浜市 緑区 東本郷 6017-1-602
オンボード Tel: 045-473-7678
URL:www02.so-net.ne.jp/~ob_henry