このページでは、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)を取り上げていきます。
◆32ビットRISCアーキティクチャ搭載で28MHzの高速動作を実現しています。命令処理において、パイプライン機構を採用していますので、原則として1命令1クロックで動作し、同じ周波数でH8シリーズと比べて4倍程度の処理速度向上を実現しています。ただ、RISCアーキティクチャなので、それを生かすプログラミングが必要ですが....。
○256KBフラッシュROM・4KBRAM内臓
○28MHz高速動作
○50MHz版のSH7145もあります
○高速・高分解能ADコンバーター内臓
(SH7047)
◆256kバイト大容量フラッシュメモリーをCPUチップに内蔵しています。プログラムを100回以上書換え可能です。(メーカー動作機能保証最低書換え回数100回、通常機能書換え可能回数10000回)
◆最大106本のI/Oポート装備。(端子がマルチプレクスになっているので、外部ROM/RAM接続時にはその必要端子分I/Oポートの数は減ります。)
◆高速RS232Cドライバーレシーバー内臓。
◆開発はCコンパイラで行うので、アセンブラよりも開発が容易。
○動作モードによりメモリーマップが変化する。
モード モード名 内臓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
01FFFFFFHDRAM空間 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
01FFFFFFHDRAM空間 16MB 02000000H
FFFF7FFFH予約 FFFF8000H
FFFF87FFH内臓周辺モジュール 2KB FFFF8800H
FFFFEFFFH予約 FFFFF000H
FFFFFFFFH内臓RAM 4KB
○WDTをセットしプログラムの各所でゼロクリアするようにプログラムしておく。
○もし、プログラムが暴走すると、WDTがゼロクリアされず、WDTがオーバーフロー するとともに、CPUにリセットがかかる。
○以上の働きでCPUの暴走状態をリセットできる。
ゼロクリアを入れるのが結構面倒くさいかもしれませんが、うまく使えば暴走の悪夢から 開放されるかも?!