[H8-ML(1254)] OAKS-16 コンパイラーは気難しい
From: "Henry Sugimoto of OB." <ob_henry@xxxxxxxxxxxxxxxx>
Date: 2001年08月18日(土)16時28分01秒
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

スレッド概略
[表示中](起点)


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]