検索
連載

組み込みソフトウェア開発の第一歩を踏み出そうH8で学ぶマイコン開発入門(1)(4/4 ページ)

組み込みソフトウェア開発には、ハードウェアからソフトウェアまで、広い知識が求められる。今回は最低限必要な知識を解説しよう。

Share
Tweet
LINE
Hatena
前のページへ |       

H8/3048F-ONEの概要

 H8マイコンは、ルネサステクノロジ社の8/16ビットマイコンです。H8マイコンには、8ビットCPUコアのH8/300シリーズと16ビットCPUコアのH8/300Hシリーズがあります。そのほかに、H8/300LやH8/300H Tinyなどもシリーズ展開されています。ここではH8/300H CPUをコアに持つ、H8/3048F-ONEの概要について解説します。


ルネサステクノロジ社のマイコン製品展開マップ
図6 ルネサステクノロジ社のマイコン製品展開マップ

 H8/3048F-ONEは、H8/300H CPUをコアにしたワンチップマイコン(MCU)です。内部は32ビット構成で、最大25MHzクロックをサポートしています。CPUコアの周辺に、フラッシュROMやRAM、I/Oポート、D/A変換機、A/D変換機、16ビットインテグレーテッドタイマユニット、シリアルインターフェイス、DMAコントローラ、割り込みコントローラなどが内蔵されています。

H8/3048F-ONEのブロック図
図7 H8/3048F-ONEのブロック図

アドレス空間と動作モード

 H8/300H CPUは、最大16Mbytesのリニアアドレス空間を持っています。

H8/300H CPUのアドレス空間
図8 H8/300H CPUのアドレス空間

 H8/3048F-ONEは、モード端子(MD2、MD1、MD0)の状態により、モード1〜7までの動作モードが選択できます。モード1〜6では、外部メモリや周辺デバイスをアクセスできます。バス幅コントロールレジスタ(ABWCR)を操作することで、バス幅はリセット時バス幅から変更できます。内蔵RAMは、システムコントロールレジスタを操作することで無効にできます。これにより、内蔵RAMがマッピングされているアドレス範囲は、外部アドレス空間として使用できるようになります。

H8/3048F-ONEの動作モード
表1 H8/3048F-ONEの動作モード

レジスタ構成

 H8/300H CPUは、32ビット長の汎用レジスタ8本、32ビット長のコントロールレジスタ(24ビットのプログラムカウンタと8ビットのコンディションコードレジスタ)を1本持っています。汎用レジスタは、32ビット×8本、16ビット×16本、8ビット×16本としても使用できます。汎用レジスタはすべて同じ機能を持っていますが、ER7レジスタはスタックポインタとして機能します。

H8/300H CPUのレジスタ構成
図9 H8/300H CPUのレジスタ構成

内蔵周辺レジスタ

 H8/3048F-ONEは、H8/300H CPUコアが持つレジスタに加えて、以下に示す周辺レジスタを内蔵しています。

  • 16ビットインテグレーテッドタイマユニット:ITU×5チャネル
  • プログラマブルタイミングパターンコントローラ:TPC
  • ウォッチドッグタイマ:WDT×1チャネル
  • シリアルコミュニケーションインターフェイス:SCI×2チャネル
  • A/D変換器、D/A変換器
  • I/Oポート:入出力端子70本、入力端子8本
  • DMAコントローラ:DMAC×4チャネル
  • リフレッシュコントローラ

 各レジスタの用途や実際のプログラミングは、次回以降のプログラミング編で解説します。

I/Oポート

 H8/3048F-ONEは、10本のI/Oポート(ポート1、2、3、4、5、6、8、9、A、B)と1本の入力専用ポート(ポート7)があります。各ポートはアドレスバス/データバスと入出力用の兼用端子になっています。各ポートをバス用として使うか入出力用として使うかは、動作モード(モード1〜7)により異なります(表1参照)。また、入出力用として使う場合、該当する端子を入力用にするか出力用にするかは、データディレクションレジスタ(DDR)により制御されます。

本連載で使用する機能

 本連載で使用するボードには、各ポートにLEDやLCD、モータドライバなどのデバイスが接続されています。各デバイスは、適切な内蔵周辺レジスタを設定することで制御しています。詳細は、次回以降の各デバイス制御のところで解説します。



 組み込みシステムの開発言語の主流は、C言語です。組み込みC言語の基本的な文法やプログラミングスタイルは、WindowsやLinuxなどが搭載されたPCで動作するプログラムと同じです。ただしC言語で組み込みシステムを記述する場合は、若干の注意事項が必要です。次回は、組み込み開発に必要なC言語の前提知識について解説します。(次回に続く)

⇒ 連載バックナンバーはこちら

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る