SH-2 CPU 備忘録

 このページでは、Renesas(ルネサス)のCPU、SH2の使い方で忘れてしいそうな事柄をまとめています。 少しづつ追加していく予定というか、結局色々出てくると思います。
 RenesasのCPU、SHシリーズは車・携帯や家電の組み込み用として、PICなどと並んで数多く使われています。 みなさんも、知らずしらずのうちに使っていることでしょう。現在16bit超小型R8CからSH4と呼ばれる、 クロック数も200〜400MHzにも達してLinuxすら走ってしまうものまで色々有ります。詳しくは
RenesasのHP (http://japan.renesas.com/)
へ行ってみると分かります。
また、CQ出版のインターフェイス誌2006年6月号付録でSH7144Fの基板が付いています。詳しくは インターフェイス誌バックナンバーをご覧ください。
ここでは、おもにSH2(SH7045/SH7046/SH7047)を取り上げていきます。

■ 目次 ■

1.SH7045の概要

2.SH−2のメモリーマップ

3.ウォッチドッグタイマ

4.SH−2のブート(起動)

5.SH−2のレジスター

6.SH−2 プログラミング その1 GNUSH編

7.SH−2 プログラミング その2 アルファプロジェクトボード編




 ■1.SH7045の概要

○256KBフラッシュROM・4KBRAM内臓

○28MHz高速動作

○50MHz版のSH7145もあります

○高速・高分解能ADコンバーター内臓


(SH7047)
◆32ビットRISCアーキティクチャ搭載で28MHzの高速動作を実現しています。命令処理において、パイプライン機構を採用していますので、原則として1命令1クロックで動作し、同じ周波数でH8シリーズと比べて4倍程度の処理速度向上を実現しています。ただ、RISCアーキティクチャなので、それを生かすプログラミングが必要ですが....。
◆256kバイト大容量フラッシュメモリーをCPUチップに内蔵しています。プログラムを100回以上書換え可能です。(メーカー動作機能保証最低書換え回数100回、通常機能書換え可能回数10000回)
◆最大106本のI/Oポート装備。(端子がマルチプレクスになっているので、外部ROM/RAM接続時にはその必要端子分I/Oポートの数は減ります。)
◆高速RS232Cドライバーレシーバー内臓。
◆開発はCコンパイラで行うので、アセンブラよりも開発が容易。

 ■2.SH−2のメモリーマップ

○動作モードによりメモリーマップが変化する。

モード モード名 内臓ROM
モード0 MCU モード0 無効
モード1 MCU モード1 無効
モード2 MCU モード2 有効
モード3 シングルチップモード 有効(内臓ROM・RAM以外は使用不可
モード4 PROM モード*3 有効
ブートモード*4 有効


内臓ROM有効モード時
番地 空間 備考
00000000H
0003FFFFH
内臓ROM空間 FLASHメモリー
ベクターテーブルなど
00040000H
001FFFFFH
予約
00200000H
003FFFFFH
外部メモリー空間 CS0 2MB 通常空間,7046では外部空間は使用できません
また、7047では外部空間はCS0のみ使用可です。
00400000H
007FFFFFH
外部メモリー空間 CS1 4MB
通常空間
00800000H
00BFFFFFH
外部メモリー空間 CS2 4MB
通常空間
00C00000H
00FFFFFFH
外部メモリー空間 CS3 4MB
通常空間/マルチプレクスI/O空間
01000000H
01FFFFFFH
DRAM空間 16MB
02000000H
FFFF7FFFH
予約
FFFF8000H
FFFF87FFH
内臓周辺モジュール 2KB
FFFF8800H
FFFFEFFFH
予約
FFFFF000H
FFFFFFFFH
内臓RAM 4KB


内臓ROM無効モード時
番地 空間 備考
00000000H
003FFFFFH
外部メモリー空間 CS0 4MB 通常空間,7046では外部空間は使用できません
また、7047では外部空間はCS0のみ使用可です。
00400000H
007FFFFFH
外部メモリー空間 CS1 4MB
通常空間
00800000H
00BFFFFFH
外部メモリー空間 CS2 4MB
通常空間
00C00000H
00FFFFFFH
外部メモリー空間 CS3 4MB
通常空間/マルチプレクスI/O空間
01000000H
01FFFFFFH
DRAM空間 16MB
02000000H
FFFF7FFFH
予約
FFFF8000H
FFFF87FFH
内臓周辺モジュール 2KB
FFFF8800H
FFFFEFFFH
予約
FFFFF000H
FFFFFFFFH
内臓RAM 4KB


 ■3.ウォッチドッグタイマ(WDT)

○WDTをセットしプログラムの各所でゼロクリアするようにプログラムしておく。
○もし、プログラムが暴走すると、WDTがゼロクリアされず、WDTがオーバーフロー するとともに、CPUにリセットがかかる。
○以上の働きでCPUの暴走状態をリセットできる。

ゼロクリアを入れるのが結構面倒くさいかもしれませんが、うまく使えば暴走の悪夢から 開放されるかも?!



TOPへ戻る

2006.05.23 Updated.
2005.11.09 First Edition.