明けましておめでとう御座います。本年もよろしくお願い致します。

 

昨年は、USBシリアル変換ボードに自作レベル変換器をつないでH8マイコンにUSBでプログラム転送できるようにしました。

 

今回は、H8マイコンにWindows10PCからLAN接続が出来るようにします。

 

この連載で利用しているのは秋月通商のH8-3069ネット対応マイコンボードとWindows10PCです。

 

ソフトウェアのインストールマニュアルに従って、Windows10PCにはCygwin-1-3-3が、H8マイコンにはH8/OS(plus3068.mot)が既にインストールされています。

 

なお、H8マイコンを操作するのは初めてなのでマニュアルに従って作業を進めていきます。

 

1.RAM転送ツールのインストール

 

TeraTermを終了してWindowsのコマンドプロンプトで「put lcd.mot」を実行するも「file not found!!」といきなり叱られる。

これはこの先長くなりそうだ。汗

確かに、C:\cygwin\binにはパスを通してあるのでput.exeは実行されるがlcd.motが見当たらない。

 

探す事数分、CDの中のh8_OS\lcdprogにありました。

 

以前作った作業領域、c:\3069にコピーします。

 

c:\3069に移動してもう一度、「put lcd.mot」実行

今度はエラーも出ず、うんともすんとも…

 

comポートを指定します。

comポートが分からない場合は、TeraTermで調べるかデバイスマネージャで調べます。

 

put lcd.mot com7実行

実行されました。

 

TeraTermに接続して、H8マイコンの電源を切らずにリセットボタンを押します。

TeraTermの設定で、「端末」-「改行コード」を「CR」にしておきます。

 

dump ffde40実行

exec ffde40実行

input出来ないのですがEnterを押すとexecuted.が表示されます。汗

 

2.Windows環境でのプログラムの流れ

作業フォルダ(c:\3069)にsample.cファイルを作ります。

 

プログラム部分はスマホでは正しく表示されません。

プログラムをご利用の方はPCでご確認下さい。m(_ _ )m

 

sample.c

#include <h8/reg3067.h>
#include <h8/syscall.h>

int main() {
 static unsigned char lcdport[] = {0x80, 0x40, 0x20, 0x02, 0x01, 0x08, 0x04};
 char buffer[20];
 char *mac;
 int n;
 
 PBDDR = 0xef;
 lcd_setup(4, 20, &PBDR, lcdport);
 sys_write("\ninput:", 7);
 write_mode(LCD);
 n = read_string(buffer, 20);
 sys_write(buffer, n);
}

 

 

CDROMから

  ram3068.x (h8_os)

  ramcrt0.S (h8_os/crt)

を作業フォルダにコピーします。

 

コンパイル

コマンドプロンプトで作業フォルダに移動して

h8300-hms-gcc -O -mh -mint32 -T ram3068.x -o sample.coff -nostartfiles ramcrt0.s sample.c -lc

実行

sample.cからsample.coffが生成されます。

 

coffファイルをモトローラ形式に変換

h8300-hms-objcopy -O srec sample.coff sample.mot

実行

sample.motが生成されます。

 

以上でinstall.pdfの内容は終了です。

 

3.http.cをROMに書き込んで動作させる(説明書参照)

CDROMから

  rom3068.x (h8_os)

  30xxcrt0.S (h8_os/crt)

を作業フォルダにコピーする。

CDROMからh8_os/httpprog/http.cを作業フォルダにコピーする。

ROMターゲット用にコンパイルする

h8300-hms-gcc -O -mh -mint32 -T rom3068.x -o http.coff -nostartfiles 30xxcrt0.S http.c -lc

モトローラ形式に変換する

h8300-hms-objcopy -O srec http.coff http.mot

 

CDROMのkern3068.mot(h8_os)を作業フォルダにコピーしエディタで開く

上で作成したhttp.motをエディタで開き、kern3068.motの最後に貼り付ける

 

 

名前を付けて保存(例えばhttprom.mot)

 

H8マイコンのディップスイッチを書き込みモードにしてコマンドプロンプトから

h8write -3069 -f20 httprom.mot com7実行

 

H8マイコンの電源を切り、ディップスイッチを通常使用モードにし、H8マイコンにLANケーブルを接続して電源を入れる。

 

ブラウザから

  http://192.168.0.145/

を呼び出すとWelcomeメッセージが表示される。

表示されない場合は、PCのIPアドレスのセグメントを設定する。

「コントロールパネル」-「ネットワークと共有センター」-「アダプター設定の変更」

ローカルエリア接続を選んで「プロパティ」

「インターネットプロトコルバージョン4」を選んで「プロパティ」

現在のIPを固定IPにして、「詳細設定」

IPアドレスの「追加」をクリックして、「192.168.0」のセグメントのIPアドレス(192.168.0.145以外)を追加してコントロールパネルを抜ける。

 

4.H8マイコンのIPアドレスを変える

以前、ESP-WROOM-02で温湿度センサーを使ったときはIPアドレスを192.168.254.112にした気がするので(笑)今回は192.168.254.113を使います。

固定IPを割り当てる場合は、必ずコマンドプロンプトでPINGを実行し同じIPが使用されていないことを確認しましょう。

 

変更は、http.cで行います。

 

int main(void) {
 ether_init(0x200000);
 if(get_ether_status() == 0) return -1;
 ip_setup(IPADDR(192,168,0,145), IPADDR(255,255,255,0));
 tcp_regport(tcp);
 while(1);
}

 

main関数の中にip_setupという関数があるのでここを変更します。

IPADDR(192,168,0,145)→IPADDR(192,168,254.113)

保存したらもう一度コンパイルからROM転送まで実行します。

 

PCのブラウザで192.168.254.113を呼び出してWelcomeメッセージが表示されればOK

 

以上、お試し下さい。(。・ω・)ノ゙

 

MENUに戻る