[H8-ML(1638)] Re:[Q] SRAM増設時の日立製モニタの設定(解決)
From: k-zono@xxxxxxxxxxxxxxxx
Date: 2002年03月05日(火)23時43分49秒
まつぞの です。皆様のおかげで無事 SRAM を認識できるように
なりました (^^)/~

[今回学んだこと]

・ SRAM の場合、アドレス信号間、またはデータ信号間を
   入れ換えてつないでも良い

・初期化プログラム中のレジスタの指定
  初期化プログラム中のレジスタは @ABWCR:8と書いて「絶対8ビット
アドレス」を明示的に指定した方がオブジェクトコードが短くなる。

[チェックポイント]
・CPU動作モード
  1MBit の SRAM を増設したいので、モード5に設定。

  (a) 目視による確認
      CN5 の 3,4 をジャンパピンでつないでいるか?
  (b) モニタコマンドで確認
       H8 BSC
       で MDCR の値が 101 になっていることの確認

・バスのアクセスモード
  8ビットアクセスにしたいのでその確認。
  モニタのコマンドで ABWCR の内容を表示させ、全て 1 である
  ことを確認。
  # 今回は第2ビットが 0 となっており、16ビットアクセスに
  # なっていた!

私と同じような初心者のために、動いた初期化ファイルを以下に
つけます
# 初心者以外の皆様ごめんなさい <_o_>

Monitor.sub は前回のものと同様です。
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
WCR:		.EQU	H'FFEE
WCER:		.EQU	H'FFEF
P1_DDR:		.EQU	H'FFC0
P2_DDR:		.EQU	H'FFC1
P5_DDR:		.EQU	H'FFC8
P8_DDR:		.EQU	H'FFCD

;************************************************************************
;*	User Initialize Module						*
;*		Input	ER5 <-- Return Address				*
;*		Output	Nothing						*
;*		Used Stack Area --> 0(0) Byte				*
;************************************************************************
_INITIALIZE:	
		; RAM用初期化 
		MOV.B	#H'FF,R0L:8
		MOV.B	R0L:8,@ABWCR:8		; CS1領域バス幅8ビット(P4:D0-D7)
		MOV.B	#H'FF,R0L:8
		MOV.B	R0L:8,@ASTCR:8		; CS1領域3ステートアクセス
		MOV.B	#H'F0,R0L:8
		MOV.B	R0L:8,@WCR:8		; 0wait

		MOV.B	#H'FF,R0L:8
		MOV.B	R0L:8,@P1_DDR:8		; P1をアドレスバス(A0-A7)
		MOV.B	R0L:8,@P2_DDR:8		; P2をアドレスバス(A8-A15)
		MOV.B	R0L:8,@P5_DDR:8		; P5をアドレスバス(A16-A19)
		MOV.B	#H'E8,R0L:8
		MOV.B	R0L:8,@P8_DDR:8		; P8-3 CS1出力
		
		JMP	@ER5			; Goto Monitor Program
		.END				;
---------------------------------------------------------------------------->

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/  Keiji Matsuzono   k-zono@xxxxxxxxxxxxxxxx                       _/
_/  fingerprint = 8C E9 4B 40 10 86 0C 2E  D3 9B 2E 63 35 59 11 69  _/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

スレッド概略
[1625(R)](起点)
 └[1632(U)]
   └[表示中]


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


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