H8開発環境

 秋月のCDでも gccに移行しているようですが、私はまだトランジスタ技術2002年3月号付録の
コマンドライン版コンパイラ(Ver2.0)を使用しています。
今まで使用してみた所感、およびネットでの情報では


長所
使用期限の制約がない。
インストール容量が小さくて(3M程度)動作も軽い。
浮動小数点も使用可能。
インライン・アセンブラが使用可能。
C言語のみでベクタ・テーブル、割込み処理関数が書ける。
以下のH8/H8S用ライブラリが付属している。
    ・H8/300H (ノーマル/アドバンスドモード共)
    ・H8S/2600
アセンブラ、リンカおよび MOTファイルコンバータ(CNVS.EXE)も付属。
短所
コマンドライン版(Windows コンソールアプリ)。
数学関数(sin, cosなど)のライブラリがない。
自前のライブラリが作成できない。

 通常使用するには、ほぼフルスペックの環境ですね。
 特に使用期限の制約がないのが嬉しいです。


短所について

 ライブラリアンは入っていませんが、自前ライブラリのソースファイルを
 毎回コンパイルし、リンクしてもコンパイルが速いのでさほど気になりません。

 数学関数も(浮動小数点も含めて)私などは使用する機会はあまりありません。
 浮動小数点を使用しない場合で printf, scanf系の関数を使用する場合には
 no_float.h をインクルードしておくと浮動小数点ライブラリをリンクしない
 代替関数がリンクされるので、オブジェクトファイルはかなり小さくなります。
 ROM容量の小さいTinyでは必須です。

 コンパイラはコマンドライン版ですが、私はここ(Vector)で公開されている
 H8-IDE というソフトを使用させてもらっていました。(とても便利)。
 Windowsから統合開発環境で使用でき、コマンドラインからは開放されます。

  最近SH用も必要になったのと、プロジェクトごとにCPUの種類を変える
 場合にちょっと不便を感じたので同じようなソフトをSH用も合わせて作成して
 使用しています。


    各CPUごとのインクルードファイルは、ルネサスより最新版を
DLして使用していますが、I/O構造体のビットフィールド定義で
フィールド名が空白の箇所があるのでそのままではVer2.0コンパイラ
ではエラーになります。適当な名前を追加して使用します。

ヘッダファイルのダミー名称追加例
struct { /* Bit Access */
     unsigned char     :3; /*     */
     unsigned char XTGD:1; /* XTGD */
     unsigned char     :2; /*     */
     unsigned char OLS4:1; /* OLS4 */
     unsigned char OLS3:1; /* OLS3 */
     } BIT;            /*     */
} TOCR; /* */
               ↓
struct { /* Bit Access */
     unsigned char xb5  :3; /* dummy */
     unsigned char XTGD:1; /* XTGD */
     unsigned char xb2  :2; /* dummy*/
     unsigned char OLS4:1; /* OLS4 */
     unsigned char OLS3:1; /* OLS3 */
     } BIT;            /*     */
} TOCR; /* */





SH開発環境

  H8と同様にトランジスタ技術2001年6月号付録のコマンドライン版コンパイラ(Ver5.0)
 を使用しています。

  このコンパイラはルネサスよりDLしたヘッダファイルはそのまま使用できます。
 また、MOTファイルへの変換をする cnvs,exe は入っていませんが、トランジスタ技術2002年3月号
付録の
H8用のものが使用できました。



続く...