RL78ファミリから解る汎用MCUの変遷

汎用MCUの定義が変わりつつあります。ルネサスエレクトロニクス(以下、ルネサス)のRL78ファミリから、最近の汎用MCUの変わりつつある現状を考察します。

RL78ファミリの汎用MCUロードマップ

2018年6月版の最新RL78ファミリMCUカタログから抜粋したRL78ファミリのロードマップです。

RL78ファミリロードマップ (出典:ルネサス汎用MCUラインアップカタログ)
RL78ファミリロードマップ (出典:ルネサス汎用MCUラインアップカタログ)

赤囲みのRL78/G1xが汎用MCU製品を示します。2014年以後は、For小型システムやForモータシステムなど、一見するとASSP:application-specific standard product、特定用途向けMCUのような製品が汎用MCUの中にあります。

これは、RL78/G1Fのコンセプトを見るとその理由が理解できます(出典:ローエンドマイコンで実現できる 高機能なブラシレスDCモータ制御

RL78_G1Fのコンセプト(出典:ローエンドマイコンで実現できる 高機能なブラシレスDCモータ制御)
RL78_G1Fのコンセプト(出典:ローエンドマイコンで実現できる 高機能なブラシレスDCモータ制御)

つまり、汎用MCU RL78/G14を、モータシステム向きに周辺機能拡張や使い勝手を向上させたのがRL78/G1Fなのです。あくまで汎用MCUがベースで、それを特定用途、この場合はモータ制御向けに調整したのです。

このメリットは、開発者、ルネサス双方にあります。開発者にとっては、使い慣れた汎用MCUの延長上に特定用途向けMCUがあるので馴染みやすく開発障壁が低くなること、ルネサスにとっては、新規ASSPを開発するよりも低コスト、低リスクなことです。

RL78ファミリの汎用MCUとは、変わる定義

RL78ファミリのMCUには、S1/S2/S3という3種類のコアがあります。数字が大きくなると高性能になります。

関連投稿:RL78 S1/S2/S3コアの分類

ルネサスの汎用MCUとは、これらS1/S2/S3コアを使ったMCU製品を指します。また、RL78/G1FのようにS3コアMCUのRL78/G14をベースとし、特定用途向け機能を付加したものも汎用MCUです。

※弊社は、S1/S2/S3コアの各汎用MCUに対してRL78/G1xテンプレートを販売中です。

販売中の汎用MCU向けテンプレートと特定アプリ向けMCUの関係
販売中の汎用MCU向けテンプレートと特定アプリ向けMCUの関係

この特定用途名が、ルネサスが考えるIoT時代にふさわしい汎用MCUと言えます。「汎用」という従来の広く漠然とした用途よりも、より「具体的な用途・応用に適す汎用MCU製品」としてRL78/G1FやRL78/G11があるのです。

特定用途向け汎用MCU開発にもRL78/G1xテンプレートが役立つ

このIoT時代の特定用途向けMCU開発でも、弊社RL78/G1xテンプレートが使えます。ベースが「汎用中の汎用」RL78/G10(S1コア)、RL78/G13(S2コア)、RL78/G14(S3コア)だからです。

例えば、RL78/G1Fのアプリケーションノートやサンプルコードは、具体的でほとんどそのまま開発製品へ適用できます。しかし、用途が限定されているだけに、逆に簡単な機能追加が難しい場合もあります。そんな時に、テンプレートが提供するサンプルコードを活かしつつ処理を追加できる機能を使うと便利です。

ここでは、ルネサス汎用MCUについて考察しましたが、NXPセミコンダクターズやSTマイクロエレクトロニクス、Cypressセミコンダクターなどの他社MCUベンダも同様です。汎用MCUの定義は、より具体的な用途・応用名が付いたIoT MCUへ変わりつつあります。しかし、基本の汎用MCUを習得していれば、より応用し発展できます。基本が重要だということです。

IoTでは、MCU開発はより複雑で高度になります。また、製品完成度の要求もさらに高まります。基本要素や技術を、(たとえブラックボックス的だとしても)積み上げられる、基礎・基本を習得した開発者のみが生き残ると思います。開発者個人で基礎を習得するために、是非弊社マイコンテンプレートをご活用ください。

RL78 Quick Solution

RL78 Quick Solutionは、RL78マイコンのアプリケーション「実例」です。従来ベンダ提供サンプルソフトの枠を超え、アプリ動作ハード基板:PCB、部品BOM、ユーザーズマニュアル(残念ながら英文ですが…)も「ルネサスが提供」します。

RL78 Quick Solution
RL78 Quick Solution

アプリケーション実例の貴重性

PCB Soulution (Source: R01AN3909EC0100 Rev.1.00)
PCB Soulution (Source: R01AN3909EC0100 Rev.1.00)

顧客に製品を納める方法は色々ありますが、PCBも含めて納めることは稀です。製品を求める顧客にとってPCB(ガーバーファイル)の必要性は低く、逆に開発側にとってPCBはノウハウの塊だからです。

例えば、Figure 3.3/3.4で太い配線を部分的に使っています。これは電流容量を稼ぐためです。回路設計者が、回路図にコメントを付記しても、PCB化時に実際にどの太さを用いるかは、アートワーク担当者が決めます。また、どのように配線するかでノイズ耐力や部品実装のし易さも変わります。PCBはこれら検討結果が反映されており、開発側の実力を示しています。

ベンダのMCU評価ボードは、STM32 Nucleo boardなどでもPCB&BOM掲載が一般的になってきました。しかし、アプリケーションレベルでのPCB掲載は、珍しいと思います。つまり、このRL78 Quick Solutionは、アプリ開発側にとって貴重な情報源と言えます。

ソリューション例

ソリューション例(サイトより)
ソリューション例(サイトより)

2017年12月現在のソリューション例が、上記です。例示したセーフティライトカーテン以外に10種掲載中です。ガーバーファイルやBOMがありますので、ハード製作は出来ます。勿論、動作ソフトもサンプルソフトではなく、アプリケーションソフト(!)が添付されています。

*  *  *

個人的意見を言わせてもらえれば、コストレベルでは、さらに改良の余地が残されたソリューションが多いと思います。ルネサスRL78マイコンを存分(!)に複数使っている箇所があるからです。しかし、高性能マイコン1個で開発するより、複数MCUの方がソフト開発は楽でしょう。機能追加も容易です。

従って、MCUコストとソフト開発リスクのどちらに重点を置くかで、意見が分かれるでしょう。

ルネサスがこのアプリケーション例を公開した背景は、より多数のルネサスRL78マイコンを、より簡単開発で購入してもらうためだと思います。それでも、開発側にとって貴重な情報であることに変わりありません。

ソリューションは、定期的に追加されます。ソルーション例に近いアプリケーション開発を検討されている方は、是非参考にしてください。

RL78/G1xテンプレートのCコンパイラパッケージリビジョンアップ対応状況

2016年7月16日号RUNESAS TOOL NEWSで、RL78ファミリ用CコンパイラパッケージV1.03.00のリビジョンアップが通知されました。7月21日からCS+アップデートの確認、または、アップデート・マネジャーで更新可能です。

弊社RL78/G1xテンプレートは、2015年7月4日にRL78-S1/S2/S3コア全てに対応のVer5を発売して以降、変更を加えていません。そこで、RL78/G1xテンプレートVer5の上記CコンパイラV1.03.00対応状況を報告します。

CS+出力パネル

アップデート・マネジャーでCコンパイラアップデートを実行後、最初にCS+を起動すると、警告(W0202005)ダイアログが表示されますのでOKをクリックします。この警告は、更新など何らかの変更がCS+に加わった時に注意喚起を促すダイアログで、出力パネルに下記のような詳細内容が表示されます。

CS+出力パネル警告
CS+出力パネル警告

青字が変更箇所です。黒字は、お使いの環境設定により異なりますので、無視してください。

さて、今回のCコンパイラリビジョンアップで、RL78/G1xテンプレートVer5を再コンパイルします。方法は、ビルド(B)>クリーン・プロジェクト(C)を実行後、リビルド・プロジェクト(R)を実行します。出力パネルに下記結果が表示されます。

CS+出力パネル0エラー
CS+出力パネル0エラー

私のCS+は、評価版インストール後かなり経過していますので評価期間切れの警告が表示されますが、無視してください。

0エラーですので、今回のCコンパイラパッケージリビジョンアップに対して、RL78/G1xテンプレート付属の下記6プロジェクトに対して問題なく動作します。動作確認評価ボードは、コチラに一覧写真があります。

RL78/G1xテンプレートVer5のプロジェクトとRL78コア、評価ボード
CS+プロジェクト名 RL78対応コア 動作確認評価ボード
BB-RL78G13-64(プロジェクト) RL78-S2コア BlueBoard-RL78G13-64
RL78G13-PB(サブプロジェクト) RL78-S2コア G13スタータキット:RL78G13-Stick
RL78G14-PB(サブプロジェクト) RL78-S3コア G14スタータキット:RL78G14-Stick
QB-R5F100LE-TB(サブプロジェクト) RL78-S2コア QB-R5F100LE-TB
QB-R5F104LE-TB(サブプロジェクト) RL78-S3コア QB-R5F104LE-TB
QB-R5F10Y16-TB(サブプロジェクト) RL78-S1コア QB-R5F10Y16-TB

プロジェクト内容やマイコンテンプレート概要等は、マイコンテンプレートサイトからPDFダウンロードができますので参照ください。

CS+ V4、e2 studio V5へ更新

ルネサスツールニュース2016年4月16日号でIDEのCS+がV4、e2 studioがV5の更新が発表されました。
更新は、通常手順で問題ありません。しかしCS+は、セキュリティソフトAvastとの相性問題か、脅威検出が発生しました。

更新方法

CS+は、アップデートマネジャの起動で更新されます。但し、ラピッドスタート有効時は、一旦CS+を終了しアップデートマネジャ単独での処理が必要です。

e2 studio V5(Eclipse 4.5:Marsベース)は、V5のインストーラをダウンロードし、新規インストールが必要です。前版からは、V5へ更新できません。

これはEclipseベースのIDEでは周知のことで他社、例えば旧FreescaleのKinetis Design Studioも同様でした。

更新結果

CS+は、Windows 8サポートが終了し、Windows 10または8.1利用が必須となりました。
また、CS+起動時にMy Runesasへのログインダイアログが表示されるようになりました。ログインすると、同意確認ダイアログが表示されます。Windows 10の情報収集と同じような機能だと思います。

MyRunesas Login and Confirmation
MyRunesasログインと同意確認

気持ちが悪い人は、CS+起動後にヘルプ>プライバシー設定(Y)…で同意の変更が可能です。

Privacy Setting
プライバシー設定変更

e2 studioは、V5インストーラ起動後、アップグレードか別フォルダへのインストかを選択し実行します。追加ソフトウエアで、CC-RLコンパイラやKPIT GNU RL78コンパイラが選択インスト可能です。

e2 studio v5 setup
e2 studio v5セットアップ

更新完了で下図となります。

e2 studio v5
e2 studio v5

AvastとCS+の相性

旧CS+では生じなかったセキュリティソフトAvastから脅威検出が発生しました。この現象は、過去のCS+更新時にも生じた経験があります。

Avast Block Report
Avastがブロックした脅威

今回は、「スキャンから除外するリストに追加」で対処しました。Avast以外のセキュリティソフトでも発生する可能性がありますので、参考にしてください。

e2 studio所感

e2 studioをCS+の代わりにRL78/G1xマイコン開発で使う必要性は、「今のところ無い」と思います。

「なれ」の問題もありますが、コード生成ツールや、デバッガの基本的な使い方などは、CS+と同じであることが理由です。敢えて差分を示すと、今回のツール更新方法やCコンパイラが選択できること、デバッガ接続方法などです。
また、他社と比べベースとなったEclipse IDE更新が数か月遅れなのも気になります。

最近のルネサスサンプルコードは、CS+とe2 studioの両プロジェクトが一緒に提供されます。狙いはe2 studioの普及だと思います。

汎用のIDEであるEclipseになれるという目的でe2 studioを使うのは良いかもしれませんが、ルネサスMCU専用のIDEであるCS+よりも使いやすいとは言えません。

いずれにせよ、e2 studioは、要観察を続ける予定です。

CS+のCS78K0Rコンパイラ消える?

ルネサスツールニュース2016年4月1日号で、CcnvCA78K0Rが発表されました。

これは、RL78の統合開発環境CS+のCA78K0RコンパイラCソースを、CC-RLコンパイラCソースへ変換するツールです。58ページからなるユーザーズマニュアルも公開中です。

コンパイラ一本化への布石

統合開発環境:IDEのコンパイラが2本あるのは、使う側、提供する側双方にとってメリットはありません。

まして、CC-RLが性能では優れているので、CA78K0Rを使い続けるのは既に顧客へ提供済みのCソースを使うからでしょう。

本ツールは、そんなCソースをCC-RL Cソースへ変換します。CA78K0Rコンパイラは、半導体デバイスでは良くあるディスコン(discontinue)にして、CC-RLコンパイラへ一本化するための布石だと思います。

IDE

ルネサスは、統合開発環境IDEも独自開発のCS+と、ワールドワイドで一般的なEclipseベースのe2 studio、さらにRenesas Synergy™ 開発環境(ISDE)やHewなども提供中です。

要は、デバイス開発に使いやすいIDEが良いのですが、誰とどのように開発するか等の条件によりルネサスは、様々な解を提供しているのです。Synergyは別物としても、何種類も提供するのは大変でしょう。他ベンダがEclipseベースで一本化されているのとは、対照的です。

ベースとなるのがEclipseでも、各社IDEのAPI関数を生成するツールは全く異なります。ルネサスのAPI生成ツールが慣れもあって使いやすいので、この特徴を活かした発展を望んでいます。

マイコンIDEを早く効果的に習得するコツは、コチラのページにまとめています。

CA78K0Rコンパイラ V1.71回避不能バグ

2月1日発行のルネサスツールニュースで、RL78/G1xの「CA78K0Rコンパイラ V1.71の回避不能なバグ」が報告されています。

RL78/G1xテンプレートVer5のCA78K0Rコンパイラ版でも、報告記載の「volatile」や「前置インクリメント」を使っていますが、こられバグに該当しませんので安心してください。
但し、テンプレートを使ってアプリを開発された方は、ニュース内容に目を通し確認することをお勧めします。

RL78_G1xテンプレートの動作コンパイラP3より抜粋
RL78_G1xテンプレートの動作コンパイラP3より抜粋

ニュース最後に、「次期バージョンで改修する予定」と記載されていますので、ディスコンを懸念したCA78K0Rも改版されるかもしれません。しかし個人的には、CC-RLコンパイラへの乗換えをお勧めします。

CS+からe2 studio移行

ルネサスサポート情報 Vol.273 2016/1/28で、RL78統合開発環境CS+ for CCからe2 studioへの移行ガイドが示されました。

このガイドは、CC-RLでコンパイルしたCS+プロジェクトを、e2 studioプロジェクトへ変換(インポート)し、インポートしたe2 studioプロジェクトとE1デバッガを接続する方法が示されています。

CA78K0R → CC-RL → e2 studio

RL78アプリノート/サンプルコードの機能をクリックして「置き換え」の欄を視ると、CA78K0RからCC-RLプロジェクト変換方法はありますが、CA78K0Rからe2 studioへの移行ガイドはありません。

RL78アプリケーションノート/サンプルコード(機能)
RL78アプリケーションノート/サンプルコード(機能)

つまり、今回RL78開発環境CS+のCA78K0R → CC-RL → e2 studioへの道筋が示された訳です。

ルネサスのIDE

HewからCS+、そしてe2 studioが追加されたルネサスIDEの状況が、統合開発環境ページに示されています。CS+とe2 studio間は、「両方向の矢印」ですが、これが今後「e2 studioへの片方向」へ変わるかが気になります。

ルネサス統合開発環境の移行
ルネサス統合開発環境の移行

なにせ、CS+のようなユニークな独自IDEを開発、サポートするだけでも結構大変なことだからです。e2 studioは、Eclipse IDEを日本語化しルネサスの各種ツールを組込めますが、これだけでも手間がかかるでしょう。

テンプレートのe2 studioサポート

現状は、「CC-RLとCA78K0R両方サポート」のRL78/G1xテンプレートですが、e2 studio動作のテンプレートも必要と考えています。

E1でデバッグする評価ボードは、移行ガイドに従えば問題なさそうですが、EZ Emulatorで接続するRL78G13/G14-Stickボードがe2 studioでデバッグできるか否かが不明です。近々にこの調査結果を掲載予定です。

※e2 studioでE1は勿論ですが、EZ Emulatorも接続できることが確認できました。

CC-RLコーディングテクニックとRL78開発環境の今後

CC-RLテクニック

ルネサスサポート情報 Vol.272 2016/1/21に、RL78ファミリ用Cコンパイラ CC-RLコーディングテクニックが紹介されています。

CC-RLコーディングテクニック

RL78/G1xテンプレートでも使っている「CC-RLコンパイラの上手い使い方」がまとまっています。
e2 studioとCS+ for CC(RL78, RX, RH850)両方のIDEについて、従来あまり解説されなかった「変数/関数情報ファイル」に関しての利用方法も少し記載されています。

e2 studioの説明がCS+と同じ資料に含まれているのは、これまで見たことがありません。e2 studioの日本人ユーザが増加しつつあるからでしょうか?

CS+がV3.03.00へ改版

2015年末にCS+がV3.03.00へ更新されました。
更新に伴い、CS+ for CCは、パッケージ・バージョンもV3.03.00へ変わりましたが、CS+ for CA、CXはV3.01.00のままです(CS+ アップデート・マネジャのオプション>更新履歴の表示より)。

RL78マイコンは、前回更新から増加しているハズですので、追加RL78マイコンは、CC-RLコンパイラのみでサポートするのかもしれません。確かに、「新規にCS+ for CA、CXを使うメリットは、無い」と言えますので、しょうがないのかもしれません。CS+ for CA、CXのユーザの方は、ご注意ください。

販売中のRL78/G1xテンプレートVer5は、CS+ for CA、CXとCC-RLの両コンパイラをサポートしております。CA、CXユーザの方で、CC-RL移行をお考えの方も、是非ご検討ください。

RL78/G1xテンプレートも今後は、「CS+ for CC-RLのみをサポート予定」です。但し、ご購入時にご連絡いただければ、Ver5のCS+ for CA、CX版テンプレートも付属いたします。

RL78/G1x機能比較と開発コンパイラの今後予測

RL78/G10の初期設定アプリケーションノートがRev.2.00に改版されました(ルネサスサポート情報 Vol.267 2015年11月26日発行)。この改版内容から、RL78/G1xコンパイラの今後を予測します。

汎用マイコンRL78/G1xの特徴

RL78/G1xの解り易い機能比較を示します。
RL78ファミリカタログを観ると、品種が多く機能満載なRL78は解るのですが、弊社テンプレート対象の汎用マイコンRL78/G1xの特徴は、逆に見えなくなるので、この比較図は重宝します。

RL78/G1x機能比較
RL78/G1x機能比較

最初の3列:RL78/G13~G10が、汎用中の汎用マイコン、G1A~G1Eがこれらに、右赤で表記した機能を強化したマイコンという構成です。

RL78/G1Dが、開発中のPSoC 4 BLEテンプレート対抗機です。Bluetooth Low Energyを搭載すると128 – 256KBのフラッシュROMが必要になり、IEEE802.15.4e/g搭載のRL78/G1Hでは、256 – 512KBに増えることが解ります。この容量では、残念ですが64KB制限の無償CS+を使うことができません。

もちろん、以前示したように上手く機能分割すれば無償版での部分開発も可能ですが、BLEや802.15の部分のみで64KBを超えることは、PSoCの例から考えると確実です。
現状の無償版制限がなくならない限りRL78/G1DやG1H開発は、かなりのコストアップになるでしょう。

RL78/G1xのCA78K0RコンパイラとCC-RLコンパイラ

現在のRL78/G1xテンプレートVer5は、CA78K0RとCC-RL両方のコンパイラに対応しています。

しかし、RL78/G10の初期設定アプリケーションノートRev.2.00の改定記録A-1ページを見ると、改定内容のCS+動作確認バージョン表2.1にCA78K0Rは含まれず、CC-RLコンパイラのみとなっています。
これは、新しいアプリケーションノートは、CS+ for CA, CXの「CA78K0Rコンパイラ動作確認はしない」とも読めます。深読みかもしれませんが、安全側の読みをすればこうなります。

RL78/G1xを使った出荷済み製品には、まだCA78K0Rコンパイラ版で開発したプログラム搭載機が多くあると思います。ルネサスからの正式な発表はありませんが、上記の状況を考慮すると、今後製品改良または、新規製品開発には、CC-RLコンパイラの利用が必須と考えます。

これらの事から、弊社RL78/G1xテンプレートも次版からは、「CC-RLコンパイラのみを対象」とする予定です。どうしてもCA78K0Rコンパイラ版が必要な方は、Ver5テンプレートのままですが提供いたします。

RL78/G1xテンプレートVer5は、CA78K0Rコンパイラでの動作確認もしています。ご安心ください。

半導体業界動向に惑わされないマイコン技術習得

NXPによるFreescale買収など、マイコン半導体ベンダーの動きが激しい2015年末ですが、唯一ともいえる日の丸半導体、ルネサスエレクトロニクスの筆頭株主の産業革新機構が、保有するルネサス株式の一部売却の検討に入ったというニュースが、11月21日報道されました。

売却先候補は、トヨタやパナソニックなどの日本企業と、ドイツ)インフィニオンなどが挙がっています。

日本企業がルネサスを保持したい理由は、自動車向けの需要や、相対的に弱体化した日本エレクトロニクス業界の現状が背景にあると思います。もちろん、日本人開発者にとっても、日本語環境や日本語コミュニティが提供されるルネサスマイコンは貴重な存在です。

今後の機構の動きは、要注意ですね。因みにルネサスのSynergy詳細が明らかになりました。
記事によると、“既存ファミリ「RX」「RZ」「RL」は長い成功の歴史があり、今後のロードマップが決定しており、顧客に長期サポートを約束しているので、ロードマップ変更ができない”、そこで、新たなCortex-M系を用いたSynergyが米国で開発されたようです。

つまり、「RX」「RZ」「RL」が既存国内資産継承と車載向け、「Synergy」が半導体業界の“Apple”目標のUS発新設計基盤でIoT向けのようです。
だとすると、この2つでルネサスを分割するシナリオが、最もありそうだ、と思いますが…?

マイコンは、「ARMとそれ以外」にコアが別れ、「車載とIoT」でマーケットが決まりつつあります。
自動車産業と同様、国レベルで保護や競争がある半導体業界のM&Aは、予測の域を超えています。しかし、状況がどう変わっても「開発者が生き残れる技術蓄積は必須」です。

シンプルな弊社マイコンテンプレートも、その1つになればと願っております。