技術コラム Vol.10

SuperHファミリからのマイグレーションガイド

公開日:2023/02/15

SuperHファミリ(通称SH)は、1992年にルネサス エレクトロニクス社の前身である日立製作所半導体事業部で開発され、現在も供給されているロングセラーのマイコンです。おそらく、国内の産業向けでは最も普及したマイコンの1つだと思います。

しかし、最初のSH-1のリリースから30年近く経過し、後継のRXファミリやRZファミリが登場してきたことで、現在はEOL化が進んでいます。当社が長年供給していたSuperHファミリのCPUボードも、半分近くが2022年中に保守化となり、代替のご相談も増えています。

そこで今回は、SuperHファミリから新たなマイコンへの移行(マイグレーション)について、性能や開発環境などを比較しながら考察してみます。

  1. SuperHファミリの概要
  2. 選定条件
  3. マイコンの選定
  4. ソフトウェア開発環境
  5. まとめ

1.SuperHファミリの概要

SuperHファミリの正式名称は「SuperH RISC engineファミリ」で、32bitのRISCアーキテクチャを採用しており、CPUコアの名称で「SH-1」から「SH-4A」までシリーズ展開されています。各シリーズの概要は以下になります。

SuperHファミリの主なラインアップ
シリーズ 動作周波数 主なラインアップ 主な特徴
SH-1 最大20MHz SH703x プロセッサタイプ
SH-2 最大80MHz SH704x、SH708x、SH712x、SH714x 内蔵FLASH、ワンチップ
SH-2A 最大240MHz SH721x、SH726x、SH728x 内蔵FLASH、ワンチップ
SH-3 最大200MHz SH770x、SH772x ハイエンド、プロセッサタイプ
SH-4 最大240MHz SH7750、SH7751 ハイエンド、プロセッサタイプ
SH-4A 最大600MHz SH778x、SH773x、SH776x ハイエンド、SoCタイプ

2.選定条件

後継のデバイスを選定する場合、「周辺機能」「演算性能」のほか「ソフトウェア開発環境」と「価格」などが主な条件になってくると思います。「価格」については、変動要素がありますので、今回は、「周辺機能」「演算性能」と「ソフトウェア開発環境」を中心に考察します。

(1)周辺機能

まず、周辺機能として考慮しなければならないのは、外部バスコントローラです。外部バスを利用している場合には必須ですが、SDRAMを接続している場合には、「SDRAMコントローラ」を内蔵していることも条件になります。

次に「LCD」「Ethernet」「USB」インタフェースです。これらは、外部デバイスでも追加できますが、現在はマイコン内蔵が主流であり、デバイスも少ないため、できるだけ内蔵品を選択するべきです。

その次に「UART(SCI)」、「SPI」、「CAN」、「A/D」、「D/A」、「タイマ」など、外部デバイスでも追加しやすい機能が選択条件になると思います。

(2)演算性能

演算性能の主な要素は、「ビット数」「動作周波数」「浮動小数点演算機能(FPU)」です。まず、SuperHファミリは32bitマイコンなので、通常は32bit以上のマイコンを選定します。

次に周波数ですが、実際には動作周波数だけではなく、処理効率も大きく影響しますので、CoreMarkなどのベンチマークも参考にします。

見落としがちなのが浮動小数点演算器(FPU)で、例えばSH7750R(SH-4)など、単精度/倍精度の浮動小数点演算器を内蔵しているので、double型やfloat型などを使用している場合には、浮動小数点演算器を内蔵していないマイコンに置き換えた場合、処理が遅くなる可能性があるので注意が必要です。

(3)ソフトウェア開発環境

ソフトウェア開発環境は、主に「統合開発環境(コンパイラ)」「デバッガ」「OS」となります。

SuperHファミリでは、ルネサス エレクトロニクス社が提供している「統合開発環境 HEW(SHC)」と「デバッガ E10A-USB」の組み合わせが最も一般的ですが、他にも「GNU C」や各パートナーベンダのツールが対応しています。

また、OSは「μITRON」などのRTOSのほか、SH-4、SH-4AではLinuxにも対応しています。

3.マイコンの選定

前述の選定条件から、後継のマイコンを弊社製CPUボードを例に考察します。

まず、ルネサス エレクトロニクス社のラインアップで、後継として挙げられるのは、「RZファミリ」、「RXファミリ」、「RAファミリ」になります。いずれも産業向け32bit~64bitアーキテクチャでFPUを内蔵しています。

各ファミリの特長は下記になります。

ルネサス エレクトロニクス社のラインアップ(産業向け32bit以上)
ファミリ 主なシリーズ CPUコア 主な特徴/用途
RZファミリ RZ/A Arm® Cortex® 汎用、HMI、画像処理
RZ/T 高速制御、通信制御
RZ/G HMI、Linux対応
RZ/N 通信制御、Linux対応
RZ/V 画像処理、Linux対応
RZ/Five RISC-V IoT、Linux対応
RXファミリ RX100、RX200、RX600、RX700 Renesas RX 内蔵FLASH、汎用
RAファミリ RA2、RA4、RA6 Arm Cortex 内蔵FLASH、IoT向け

CoreMarkについては、技術コラム Vol.09「CoreMarkでマイコンの性能を比較!」をご覧ください。

記載しているCoreMarkスコアは弊社が独自で調査した結果であり、内容を保証するものではありません。

(1)SH-2からの移行

SH-2は、SuperHファミリで初めてFlashROMを内蔵した、ワンチップ動作も可能なシリーズです。EthernetやUSBなどは内蔵しておらず、SCIやSPIなどレガシーなインタフェースのみになっています。

移行する候補としては、RX600、RX700およびRA6シリーズがお勧めです。

SH-2シリーズ
CPU CPUボード 周波数 CoreMark RAM ROM Ether USB LCD その他
SH7046 AP-SH2F-4A 50MHz 57 12KB 256KB - - - 内蔵FLASH
SH7047 AP-SH2F-5A 50MHz 57 12KB+512KB 256KB - - - 内蔵FLASH
SH7144 AP-SH2F-7A 50MHz 57 8KB+1MB 256KB - - - 内蔵FLASH
SH7145 AP-SH2F-6A 50MHz 57 8KB+2MB 256KB - - - 内蔵FLASH
SH7136 AP-SH2F-11A 80MHz 92 16KB+16KB 256KB - - - 内蔵FLASH
SH7137 AP-SH2F-12A 80MHz 92 16KB+128KB 256KB - - - 内蔵FLASH
RX600、RX700、RA6Mシリーズ
CPU CPUボード 周波数 CoreMark RAM ROM Ether USB LCD その他
RX65N AP-RX65N-0A 120MHz 440 256KB+16MB 1MB - 内蔵FLASH
RX651 AP-RX651-0A 120MHz 440 640KB+16MB 2MB - 内蔵FLASH
RX64M AP-RX64M-0A 120MHz 440 512KB+16MB 4MB 内蔵FLASH
RX72T AP-RX72T-0A 200MHz 1058 128KB 1MB - - 内蔵FLASH
RA6M3 AP-RA6M-0A 120MHz 288 640KB+16MB 2MB 内蔵FLASH
RA6M5 AP-RA6M-1A 200MHz 480 512KB 2MB - 内蔵FLASH

(2)SH-2Aからの移行

SH-2AはSH-2の後継で、SH-4より演算性能は低くなりますが、内蔵FlashROMと内蔵RAM、USBやEthernet、LCDコントローラなどの周辺機能を内蔵したシリーズです。

移行する候補としては、RX700およびRZ/Aシリーズがお勧めです。

SH-2Aシリーズ
CPU CPUボード 周波数 CoreMark RAM ROM Ether USB LCD その他
SH7211 AP-SH2A-0A 160MHz 258 32KB+16MB 512KB - - - 内蔵FLASH
SH7263 AP-SH2A-1A 200MHz 322 64KB+32MB 16MB - -
SH7216 AP-SH2A-4A 200MHz 322 128KB+16MB 1MB - 内蔵FLASH
SH7269 AP-SH2A-6A 240MHz 386 2.5MB+16MB 16MB - -
RX700、RZ/Aシリーズ
CPU CPUボード 周波数 CoreMark RAM ROM Ether USB LCD その他
RX71M AP-RX71M-0A 240MHz 880 512KB+16MB 4MB 内蔵FLASH
RX72N AP-RX72N-0A 240MHz 1271 1MB+32MB 4MB 内蔵FLASH
RX72M AP-RX72M-0A 240MHz 1271 1MB+16MB 4MB - 内蔵FLASH
RZ/A1H AP-RZA-0A 384MHz 1488 10MB+32MB 16MB -
RZ/A1H AP-RZA-1A 384MHz 1488 10MB 4MB -

(3)SH-4、SH-4Aからの移行

SH-4、SH-4Aは、SuperHファミリでも、最も高性能なシリーズです。なかでもSH7750Rは多くのユーザーに支持され、リリースされてから20年が経過した現在も利用されている製品は多いと思います。

特長としては、キャッシュメモリとMMUを内蔵しており、外部メモリのアクセスが高速で、Linuxにも対応しています。

移行する候補としては、RZ/Aシリーズがお勧めです。

SH-4、SH-4Aシリーズ
CPU CPUボード 周波数 CoreMark RAM ROM Ether USB LCD その他
SH7750R AP-SH4-1A 236MHz 357 32MB 4MB - - - -
SH7750R MS104-SH4(RTOS) 236MHz 357 32MB 16MB - - -
SH7763 AP-SH4A-2A 266MHz 363 64MB 16MB -
RZ/Aシリーズ
CPU CPUボード 周波数 CoreMark RAM ROM Ether USB LCD その他
RZ/A1H AP-RZA-0A 384MHz 1488 10MB+32MB 16MB -
RZ/A2M AP-RZA2-0A 528MHz 2039 4MB+64MB 16MB -

4. ソフトウェア開発環境

RZ、RX、RA各ファミリの開発環境について以下にまとめました。

(1)RZファミリの開発環境

RZファミリの主な開発環境
ファミリ 主なシリーズ CPUコア 統合開発環境(コンパイラ) デバッガ 対応OS
RZ RZ/A Arm Cortex
  • Renesas e2 studio(GNU C)
  • IAR EWArm
  • Arm DS
  • J-LINK(SEGGER)
  • I-jet(IAR)
  • PARTNER-Jet2(KMC)
  • ベアメタル
  • μITRON
  • FreeRTOS
  • AzureRTOS
RZ/T
RZ/G
  • Eclipse(GNU C)
  • Qt Creator(GNU C)
GDB Linux
RZ/N
RZ/V
RZ/Five RISC-V

RZファミリは、対応OSがRTOS系かLinux系で大別されます。

RTOS系のRZ/AとRZ/Tについては、「e2 studio」と「J-LINK」の組み合わせが最も一般的です。

e2 studioは、ルネサス エレクトロニクス社が提供している無償の開発環境で、他のマイコンと共通プラットフォームになっているので、まずはこちらから利用されるのが良いと思います。

また、OSは、FreeRTOSおよびAzure RTOSが、ルネサス エレクトロニクス社より無償で提供されているソフトウェアパッケージ(FSP)に含まれています。

各RTOSの概要については、技術コラム Vol.05「今すぐ試せる!リアルタイムOSのすゝめ」でも紹介していますので、参考にしてください。Linux系については、Linuxカーネルを含む、Board Support Package(BSP)が提供されており、デバッガはGDBなどが利用できます。

e2 studio 画面イメージ

(2)RXファミリの開発環境

ファミリ 主なシリーズ CPUコア 統合開発環境(コンパイラ) デバッガ 対応OS
RX RX100、RX200、RX600、RX700 Renesas RX
  • Renesas CS+(RX-C)
  • Renesas e2 studio(GNU C)
E2 Lite(Renesas)
  • ベアメタル
  • μITRON
  • FreeRTOS
  • AzureRTOS

RXファミリは、ルネサス エレクトロニクス社オリジナルのRXコアを搭載し、開発環境はルネサス エレクトロニクス社より、ワンストップで提供されています。

SuperHファミリでは、純正の「HEW(SH-C)」と「E10A」を利用していたユーザーが多いと思いますが、RXでも、純正の「CS+(RX-C)」と「E2 Lite」が提供されているので、SuperHのユーザーは馴染みやすいと思います。

RXファミリの開発環境については、技術コラム Vol.04「ドライバソフト開発を軽減!RXマイコンFIT活用ガイド」でも紹介していますので、参考にしてください。

CS+ 画面イメージ

(3)RAファミリの開発環境

RAファミリの主な開発環境
ファミリ 主なシリーズ CPUコア 統合開発環境(コンパイラ) デバッガ 対応OS
RA RA2、RA4、RA6 Arm Cortex
  • Renesas e2 studio(GNU C)
  • IAR EWArm
  • Arm DS
  • E2 Lite(Renesas)
  • J-LINK(SEGGER)
  • I-jet(IAR)
  • PARTNER-Jet2(KMC)
  • ベアメタル
  • μITRON
  • FreeRTOS
  • AzureRTOS

RAファミリは、グローバルで最も普及しているプロセッサの一つであるArm Cortex-Mコアを搭載しており、GNU Cをはじめ、世界中のさまざまな開発ツールが利用できます。

RAファミリのデバッガは、RXファミリと共通の「E2 Lite」が利用できます。

また、統合開発環境「e2 studio」とOSを含むソフトウェアパッケージ「FSP」も提供されているので、安価に開発環境を整えることができます。

RAファミリの開発環境については、技術コラム Vol.02「今からはじめるRAマイコン開発」でも紹介しているので、参考にしてください。

「E2エミュレータLite」でRAファミリのデバッグが可能

5. まとめ

今回は、SuperHファミリからのマイグレーションについて、ご紹介しました。

SuperHファミリは、最後のデバイスのリリースから、すでに10年以上経過しています。

その間にRXやRZなど新たな製品が登場し、機能、性能とも格段に向上しており、開発環境も充実しています。

今回、長年使い慣れ親しんできたSuperHファミリが消えていくのは、個人的にも残念ですが、新しいマイコンで、新たな技術や性能向上に取り組んでいく良い機会ではないかと思います。

製品のご案内

各CPUボードの製品の仕様やマニュアルやアプリケーションノートなどの情報を公開しています。
検討の際には、ぜひご参照ください。

  • ※ArmおよびCortexは、米国および/またはその他の地域におけるArm Limited(またはその子会社)の登録商標です。
  • ※RISC-V、RISC-V International、およびRISC-Vロゴは、RISC-V Internationalの商標です。
  • ※CoreMarkはEEMBCの登録商標です。
  • ※記載されている会社名、製品名は、各社の登録商標または商標です。
  • ※記載の内容は改良のため、予告なく変更する場合がございます。