[H8-ML(1389)] 3048Fについて(From:小栗)
From: "おぐなお" <n.oguri@xxxxxxxxxxxx>
Date: 2001年10月10日(水)18時46分00秒
いつもお世話になっております。
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まで、行ったときに何か問題が発生しています。
この処理になにか問題があるでしょうか?
アドバイスよろしくお願いいたします。
以上。

スレッド概略
[表示中](起点)
 └[1391(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]