TOP > ソフトウェア > Cygwinを使ってコンパイルする。「コンパイル編」
 ▼ 3052f.hはどこに?

 実は私が昔入手したヘッダファイルは現在秋月のCDに収録されているものと違います。そこで、このヘッダファイルを入手する方法を記載します。この情報は2005年3月22日現在の情報なので、今後予告無く変更、または削除されてしまう可能性があるので、目的地にたどり着けない可能性がありますが、ご了承ください。
サンプルプログラムについて
 上記のリンクよりダウンロードしに行く訳ですが、少々時間が掛かるので、説明しておきます。

1.まず、上記の場所で「同意する」をクリックすると、サンプルプログラムの種類が表示されます。
2.そこで、「H8/300Hシリーズ H8/300H Tinyシリーズ 」をクリック。
3.表示された画面の一番下に、「開発環境システム」があるので、こちらをクリック。
4.また表示された画面の一番下に、「同意する」があるので、クリックするとダウンロードが始まります。

ダウンロード後、解凍すると各種の色々なヘッダファイルがあります。300Hフォルダ内の、3052S.Hというのがそれです。このファイル名を3052f.hと変更して、作業は終了です。お疲れ様でした。

 今の所、各所で公開されているH8/3052Fのプログラムは、このヘッダファイルを使用したものが多く、使いたいプログラムが見つかったら、ほぼそのまま使用することができます。
 それ以外の理由としては、私が今まで使ってきたヘッダファイルなので、プログラミングしやすいという点もあったりします。

 ▼ main.cがまだ何もないので・・・

 試しに簡単なプログラムをコンパイルしてみます。そうですね・・・ポート3のLEDを光らせて見ましょうか。下記にサンプルを載せます。
[main.cより]

#include	"3052F.h"
#include	"h8types.h"


s32 main(void)
{
  s32 i;
  u8 LED;
  
  P3.DDR = 0xff;      //ポート3の初期化。全部出力に設定。
  LED = 0x00;
  while(1)
  {
    P3.DR.BYTE = LED;
	i = 0xffff;  //時間稼ぎ用変数
	while(i--);  //時間かせぎ。i=0の時、ループを抜ける。
	LED++;
  }
  return(0);
}
 たった、これだけ・・・簡単すぎ(笑) これをそのまま貼り付ければ準備完了です。Cygwinでtestフォルダに移動して、

make[ret]

これを打ち込むだけで、コンパイル可能です。以上です。ご苦労様でした。
 ▼ h8types.hって何?s32とかu8って何!?

 これは、型を再定義して使用するためのヘッダファイルです。通常我々は、signed int、unsigned intなどと記述しますが、それだと長くなってしまいます。関数で値をいくつも受け取る時など、非常に見にくいです。

例.
signed int Kansuu(signed int x0, signed int x1, unsigned int x2, signed int x3)
{
(以下省略)

上記は、その一例です。しかし、それだけではなく真の狙いは、H8は16ビット、SHは32ビットとビット数が違うので、int型やlong型は、H8とSHでは違ってきます。そこで、プログラムを移植するときに、問題にならないようにするという目的があったりするのです。
 そんな訳で、これからのプログラムの書式はこの方法で記述していきます。
従来今後
signed chars8
unsigned charu8
signed shorts16
unsigned shortu16
signed ints32
unsigned intu32
signed longs64
unsigned longu64

履歴 2005年3月22日 公開

[TOP] [ソフトウェア] [準備編] [設定編] [コンパイル編]
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送