職業訓練40日目 H8マイコン入門(H8/3048Fマイコンの基礎)

アーキテクチャ

アーキテクチャの概要
CPU H8/300H
RAM 4KB
ROM 128KB
最大動作クロック 16MHz

 

H8/3048Fの考え方
  • CPU
  • メモリ
  • 入出力ポート
  • 周辺機能

メモリ

メモリマップ

メモリや外部バスの選択法によって7種類の動作モードがある。

動作モードの種類については、以下のリンクを参照。
http://www.takamisawa.org/gcc/3048F.html

テキストで使用しているのは、モード7のシングルチップアドバンストモード。
→外部メモリを接続せず、内蔵のRAMとROMを利用する。

モード7では、RAMとROMが以下の番地に割り当てられる。

  • ROM:00000H〜1FFFFH番地
  • RAM:FEF10H〜FFF0FH番地

FFF1CH〜FFFFFH番地には、
内蔵周辺機能の動作やポートの設定を行うための内部I/Oレジスタが割り当てられている。
→メモリマップに周辺機能を割り当てて使用する方式:メモリマップドI/O方式

RAM

FEF10H〜FFF0FH番地に割り当てられている。
CPUと16ビットの内部データバスで接続されており、
バイト(8ビット)単位、またはワード単位(2バイト)単位で読み書き可能。
バイトデータは上位8ビット、ワードデータは16ビット全て使用し、
両者とも2クロックでアクセス可能。

メモリ1領域の幅は8ビットで、
ワード単位のデータアクセスをする場合は2領域を使用するため、
偶数番地のアドレスを指定する必要がある。

ROM

00000H〜1FFFFH番地に割り当てられている。
CPUと16ビットの内部データバスで接続されており、
バイト(8ビット)単位、またはワード単位(2バイト)単位で読み書き可能。
バイトデータは上位8ビット、ワードデータは16ビット全て使用し、
両者とも2クロックでアクセス可能。
有効/無効の設定は、モード設定端子のピンを使用し、動作モードを選択する。

CPU

CPUの構成
汎用レジスタ(ERn)

32ビットの汎用レジスタを8本(ER0〜ER7)備える。
ER7はSP(スタックポインタ)として使用することが可能なため、
利用する際は注意が必要。
32ビットを分割することによって、16ビットまたは8ビットレジスタとして使用可能。
初期値は不定なので、初期化が必要な場合もある。

コントロールレジスタ
  1. PC:CPUが次に実行する命令のメモリのアドレスを格納するレジスタ
  2. CCR:CPUの内部状態を示す8ビットのレジスタ
スタックポインタ

サブルーチンを実行後に戻ってくるアドレスを格納する。
サブルーチンがネストしている場合、複数の戻りアドレスを格納する必要があるため、
スタックになっている。