[H8-ML(4013)] 3052増設RAM用のデバッグモニタについて
From: "Tom" <rundle03@xxxxxxxxxxxxxx>
Date: 2003年10月13日(月)18時59分04秒
はじめまして、初心者のトムと申します。

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となっています。


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

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


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


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