はじめまして、初心者のトムと申します。 AKI-H8/3052Fに外部RAMを増設し、デバッグモニタで遊ぼうとしていますが、 上手くできなくて悩んでいます。 内容は以下の通りです。 ハード: エリア4に1MBIT(TC551001CP-70L)を増設、モード5で使用 モニタのカスタマイズ: monitor.src は以下のように編集しました ;************************************************************************ ;* H8/300H Monitor Program (Advanced Mode) Ver. 2.2A * ;* Copyright (C) Hitachi, Ltd. 1995 * ;* Copyright (C) Hitachi Microcomputer System, Ltd. 1995 * ;************************************************************************ .PROGRAM INITIALIZE ; Program Name .CPU 300HA ; CPU is H8/300H Advanced .SECTION ROM,CODE,ALIGN=2 ; ROM Area Section ;************************************************************************ ;* Export Define * ;************************************************************************ .EXPORT _INITIALIZE ; User Initialize Module ABWCR: .EQU H'FFEC ASTCR: .EQU H'FFED CSCR: .EQU H'FF5F WCR: .EQU H'FFEE WCER: .EQU H'FFEF P1_DDR: .EQU H'FFC0 P2_DDR: .EQU H'FFC1 P5_DDR: .EQU H'FFC8 P6_DDR: .EQU H'FFC9 P8_DDR: .EQU H'FFCD PA_DDR: .EQU H'FFD1 ;************************************************************************ ;* User Initialize Module * ;* Input ER5 <-- Return Address * ;* Output Nothing * ;* Used Stack Area --> 0(0) Byte * ;************************************************************************ _INITIALIZE: ; RAM用初期化 MOV.B #H'FF,R0L MOV.B R0L,@ABWCR ; CS4領域バス幅8ビット(P4:D0-D7) MOV.B R0L,@ASTCR ; CS4領域3ステートアクセス MOV.B R0L,@WCER ; WCRを有効にする MOV.B #H'F0,R0L MOV.B R0L,@WCR ; 0 wait MOV.B #H'FF,R0L MOV.B R0L,@P1_DDR ; P1をアドレスバス(A0-A7) MOV.B R0L,@P2_DDR ; P2をアドレスバス(A8-A15) MOV.B R0L,@P5_DDR ; P5をアドレスバス(A16-A19) MOV.B #H'1F,R0L MOV.B R0L,@CSCR ; CS4出力許可 JMP @ER5 ; Goto Monitor Program .END ; monitor.sub は以下のように編集しました。 INPUT monitor INPUT CMD01,CMD02,CMD03,CMD04,CMD05,CMD06,CMD07,CMD08,CMD09,CMD10 INPUT CMD11,CMD12,CMD13,CMD14,cmd15,CMD16,CMD17,CMD18,CMD19,CMD20 INPUT CMD21, CMD23,CMD24,CMD25, CMD27,CMD28,CMD29,CMD30 INPUT CMD31,CMD32,CMD33,CMD34,CMD35,CMD36,CMD37,CMD38 input dmy26,dmy39 INPUT mod01,mod02,mod03,mod04,mod05,mod06,mod07,mod08,mod09,mod10 INPUT mod11,mod12,mod13,mod14,mod15,mod16,mod17,mod18,mod19,mod20 INPUT mod21,mod22,mod23,mod24,mod25,mod26,mod27,mod28,mod29,mod30 INPUT mod31,mod32,mod33,mod34,mod35, mod37,mod38,mod39 input advanced INPUT cpu01,cpu02,cpu03,cpu04 DEFINE $BRR(13) DEFINE $STACK(9fffc) PRINT monitor.map OUTPUT monitor.abs START VECTOR(0),ROM(100),RAM(0ffef10),USER(80000),SCI(0ffffb8) EXIT これで、monitor.mot を作り走らせると、メッセージは以下のように表示されま す。 H8/3052 Series Advanced Mode Monitor Ver. 2.2A Copyright (C) Hitachi, Ltd. 1995 Copyright (C) Hitachi Microcomputer System, Ltd. 1995 : ? Monitor Vector 00000 - 000FF Monitor ROM 00100 - 05AC3 Monitor RAM FEF10 - FF08B User Vector 80000 - 800FF Mコマンドで増設RAMのデーターを編集すると、エラーもでず問題無いように 見えますが、Dコマンドで確認すると書き換わっていません。 また、H8 BSCコマンドで確認すると、 : h8 bsc <REG> <ADDR> <CODE> < 7 6 5 4 3 2 1 0 > RFSHCR FFAC 000000.0 SRFMD PSRAME DRAME CAS/WE M9/M8 PFSHE RCYCE RTMCSR FFAD 00000... CMF CMIE CKS2 CKS1 CKS0 RTCNT FFAE 00 RTCOR FFAF FF ABWCR FFEC 11111111 ABW7 ABW6 ABW5 ABW4 ABW3 ABW2 ABW1 ABW0 ASTCR FFED 11111111 AST7 AST6 AST5 AST4 AST3 AST2 AST1 AST0 WCR FFEE ....0011 WMS1 WMS0 WC1 WC0 WCER FFEF 11111111 WCE7 WCE6 WCE5 WCE4 WCE3 WCE2 WCE1 WCE0 BRCR FFF3 111....0 A23E A22E A21E BRLE DIVCR FF5D ......00 DIV1 DIV0 MSTCR FF5E 0.000000 PSTOP ITU SCI1 SCI0 DMAC RFSHC A/D CSCR FF5F 0000.... CS7E CS6E CS5E CS4E MDCR FFF1 .....101 MDS2 MDS1 MDS0 : monitor.srcで設定している内容が、CSCRでCS4Eを有効にしているのに、なっていま せん。 また、WCRも実際には0としているのに3となっています。 以上、よろしくお願いします。