お世話になります。 わさびぃです。 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を動作させているようには、見受けられません。 こうした、メモリのハードウエア操作を、 書き込む必要があるのか、お教えいただければ、 幸いです。 他、お気づきの部分あれば、お教えください。 よろしく、お願いします。 #初めてなので、どうしたものか、ぜんぜん、分かっていない状態です。 わさびぃ