[H8-ML(2196)] メモリへのデータ書き込みについて
From: tikegami@xxxxxxxxxxxxx
Date: 2002年09月20日(金)00時15分28秒

お世話になります。

わさびぃです。

3048F-Oneをモード6で動作させています。
128KbyteのEEPROMを使って、外部メモリを
増設しました。

マニュアルを読み、バス関係のレジスタは、
初期値のままにしておきました。
(8ビット3ステートアクセス、ウェイト3ステート)

データは、D8〜D15を、メモリの0から7のビットに
接続して、バスは、128Kbyteなので、
A0からA16まで接続しました。

エリア0だと、128kbyteのROMにかぶって指定できない(?)
と思い、エリア1を使うため、CS1の端子を、
メモリのCEに接続しました。


次に、C言語での指定方法がわからなかったので、
次のように書いてみました。

グローバル変数として、
     BYTE *ptr;


          if(data == 0x31){
               ptr = (long*)0x200000;
               *ptr = 0xAB;
          }else{
               ptr = (long*)0x200000;
               data = *ptr;
               sendData();//<-dataを通信で返送しています。
          }


このようにすれば、
*ptrは、エリア1の先頭アドレスの1バイトをさすと思います。
#違うでしょうか?

(3048Fone マニュアル6−9、図6.2より)

HEW2(H8用)でコンパイルしたファイルをロードして、
ICEで覗き込んでいるのですが、混合モードでアセンブラコードを見ても、
CS,WE,REを動作させているようには、見受けられません。

こうした、メモリのハードウエア操作を、
書き込む必要があるのか、お教えいただければ、
幸いです。

他、お気づきの部分あれば、お教えください。

よろしく、お願いします。

#初めてなので、どうしたものか、ぜんぜん、分かっていない状態です。

わさびぃ

スレッド概略
[表示中](起点)
 ├[2198(1)]
 ├[2199(2)]
 ├[2200(3)]
 ├[2201(4)]
 ├[2208(5)]
 └[2209(6)]


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


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