パタン修正した箇所を元に戻したところ、メモリテストは正常に続行するようになりました。
メモリ範囲の拡大やパタンをさらに変えて試験する必要がありますが、
今の開発環境ではプログラムの実装が非常にめんどくさいです。
メモリ範囲の拡大やパタンをさらに変えて試験する必要がありますが、
今の開発環境ではプログラムの実装が非常にめんどくさいです。
というのはプログラム作成後ROMに焼かなければなりませんが、ROMをソケットから抜いて、
コード焼付け、またソケットに実装と32ビットバスなのでこれを4回繰り返さなければなりません。
さらにPLCCソケットはバネでコンタクトを取っているのでメーカのサイトを見ると保証挿抜回数は50回とあります
(PLCCのIC側はさらに厳しくてアルテラとかでは3回までとしている)
FlashROMなのでまだいいですがこれがDIPの紫外線消去EPROMだったらくじけてます。
ともかく早くROM内容をFIXしたいのでモニタを移植してSRAM上で開発をおこないます
コード焼付け、またソケットに実装と32ビットバスなのでこれを4回繰り返さなければなりません。
さらにPLCCソケットはバネでコンタクトを取っているのでメーカのサイトを見ると保証挿抜回数は50回とあります
(PLCCのIC側はさらに厳しくてアルテラとかでは3回までとしている)
FlashROMなのでまだいいですがこれがDIPの紫外線消去EPROMだったらくじけてます。
ともかく早くROM内容をFIXしたいのでモニタを移植してSRAM上で開発をおこないます
/* シリアル出力するデータの変換 */ const unsigned char cnv_tbl_out[]= { 0x00,0x20,0x40,0x60,0x80,0xA0,0xC0,0xE0,0x04,0x24,0x44,0x64,0x84,0xA4,0xC4,0xE4, 0x01,0x21,0x41,0x61,0x81,0xA1,0xC1,0xE1,0x05,0x25,0x45,0x65,0x85,0xA5,0xC5,0xE5, ;;中略 0x1A,0x3A,0x5A,0x7A,0x9A,0xBA,0xDA,0xFA,0x1E,0x3E,0x5E,0x7E,0x9E,0xBE,0xDE,0xFE, 0x1B,0x3B,0x5B,0x7B,0x9B,0xBB,0xDB,0xFB,0x1F,0x3F,0x5F,0x7F,0x9F,0xBF,0xDF,0xFF }; /* シリアル入力されたデータの逆変換 */ const unsigned char cnv_tbl_in[]= { 0x00,0x10,0x20,0x30,0x08,0x18,0x28,0x38,0x40,0x50,0x60,0x70,0x48,0x58,0x68,0x78, 0x80,0x90,0xA0,0xB0,0x88,0x98,0xA8,0xB8,0xC0,0xD0,0xE0,0xF0,0xC8,0xD8,0xE8,0xF8, ;;中略 0x07,0x17,0x27,0x37,0x0F,0x1F,0x2F,0x3F,0x47,0x57,0x67,0x77,0x4F,0x5F,0x6F,0x7F, 0x87,0x97,0xA7,0xB7,0x8F,0x9F,0xAF,0xBF,0xC7,0xD7,0xE7,0xF7,0xCF,0xDF,0xEF,0xFF };
V53ボードを開発したときのモニタをベースにシリアル入出力ルーチンを差し替えROMに焼きこみました
とりあえず起動はするのですが何故か引数を持つコマンドが暴走します。
幸いL(ロード)コマンドとG(実行)コマンドは正常動作しているようなので
まずはROM焼きからは一時解放されました
幸いL(ロード)コマンドとG(実行)コマンドは正常動作しているようなので
まずはROM焼きからは一時解放されました