いつもお世話になっております。 H8をさわり始めたばかりの、小栗と言います。 今回フラッシュメモリの書き換えを、ユーザープログラムモードを利用して行いたい と考えています。 ①PCからプレライト実行命令を取得 ②プレライト実行 ③PCへプレライト完了を送信 ④PCから消去実行命令を取得 ⑤消去実行 ⑥PCへ消去完了を送信 っといった感じに処理を進めたいと考えています。 しかし、②のプレライト実行を行い最終アドレスに0x00を書込んだところで、何か問 題が発生しているようです。 この原因がわからなくメールを送信いたしました。 この書込み関数は、下記の通りに行っております。 if(*gblPreAdr == 0x00) { if(gblPreAdr < &AD_E) { gblPreAdr++; /* 書込み先アドレス++ */ gblPreMember = PRE_STEP2; /* ステータス移行 */ } else { gblPreMember = PRE_STEP8; /* ステータス移行 */ } } else { gblPreMember = PRE_STEP5; /* ステータス移行 */ } ※unsigned char *gblPreAdr; /* プレライト処理アドレス */ ※#define AD_E (*(unsigned char *)0x1FFFF) っという記述を行っています。 0x00000〜0x1FFFFまで順にアドレスをインクリメントし、1バイト単位で0x00を書込 んでいくものです。 上記の処理では、0x00を書込めたかを確認するためのベリファイ処理を行っていま す。 このアドレスが0x1FFFFまで、行ったときに何か問題が発生しています。 この処理になにか問題があるでしょうか? アドバイスよろしくお願いいたします。 以上。