H8開発環境
秋月のCDでも gccに移行しているようですが、私はまだトランジスタ技術2002年3月号付録の
コマンドライン版コンパイラ(Ver2.0)を使用しています。
今まで使用してみた所感、およびネットでの情報では
1 | 使用期限の制約がない。 |
2 | インストール容量が小さくて(3M程度)動作も軽い。 |
3 | 浮動小数点も使用可能。 |
4 | インライン・アセンブラが使用可能。 |
5 | C言語のみでベクタ・テーブル、割込み処理関数が書ける。 |
6 | 以下のH8/H8S用ライブラリが付属している。 ・H8/300H (ノーマル/アドバンスドモード共) ・H8S/2600 |
7 | アセンブラ、リンカおよび MOTファイルコンバータ(CNVS.EXE)も付属。 |
1 | コマンドライン版(Windows コンソールアプリ)。 |
2 | 数学関数(sin, cosなど)のライブラリがない。 |
3 | 自前のライブラリが作成できない。 |
通常使用するには、ほぼフルスペックの環境ですね。
特に使用期限の制約がないのが嬉しいです。
短所について
ライブラリアンは入っていませんが、自前ライブラリのソースファイルを
毎回コンパイルし、リンクしてもコンパイルが速いのでさほど気になりません。
数学関数も(浮動小数点も含めて)私などは使用する機会はあまりありません。
浮動小数点を使用しない場合で 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用のものが使用できました。
続く...