マイコンIDE更新

扱うMCUデバイスの追加、WindowsやiOSなどのOS変更、Eclipseそのものの変更、バグ修正など様々な要因によりマイコン開発環境:IDEの更新は発生します。今回は、マイコンIDE更新について解説します。

更新通知と更新理由

マイコンアプリケーションソフト開発中ならば、リスクが増える可能性もあるIDE更新は避けたいものです。
このため「開発者が更新をするか否かを選択」できるのがマイコンIDEの特徴です。Windowsと大きく異なる点ですね。

更新判断には、「更新が発生」したか、「更新の理由」は何か、この2つを知る必要があります。この情報をIDEのWelcome画面のWebリンクで教えてくれるのがEclipseベースのIDEです。NXPのLPCXpressoの例を示します。

LPCXpresso Welcome page
LPCXpresso Welcome page

赤矢印のリンク先をみると、最新版IDEと、変更内容などが解ります。使用中のIDEと版数が異なる場合には、この内容を読んで更新判断ができます。新旧LPCXpressoは、緑囲いで示した版数毎に別フォルダへインストールされるので、IDE更新リスクがフォルダ内に閉じ込められるので安心です。

また、NXPに買収された旧FreescaleのKinetis Design Studio: KDSの例が下図です。Welcome画面に加え、Help>Check for Updatesで更新確認と新版インストールまでバックグラウンドで可能です。この機能は、LPCXpressoにはありません。

Kinetis Design Studio Check for Updates
Kinetis Design Studio Check for Updates

但し、私の環境では、ベースとなるEclipseのメジャー更新が関係しているのかもしれませんが、KDS V3.1からV3.2への更新ができませんでした。V3.2更新は、別途インストーラで可能です。やはりIDE更新確認ツールがあっても、時々サイトでIDEの最新版確認は、必要だと思いました。

また、CypressのPSoC Creatorは、Update Managerツールで更新確認とインストールができます。旧版はアーカイブ保存されるので、万一最新版にトラブルが発生しても安心です。

Cypress Update Manager
Cypress Update Manager

以上3社のマイコンIDEは、どれもEclipseベースのIDEですが、更新方法や旧版の扱いは各社異なります。

一方、ルネサス独自仕様のIDE:CS+もアップデート・マネジャーツールで更新します。独自仕様なので、細かい更新内容確認や、一部選択更新なども可能です。ツール・ニュースなどで更新、バグ情報を知らせてくれるのも役立ちます。
また、更新前に、「開発ツールをパックして保存(K)…」を実行すると、更新トラブル対策も可能です。

Runesus CS+ Packing tool
Runesus CS+ Packing Tool

マイコンIDE更新を安全にするには

マイコンIDEの更新トラブル回避には、OS起因でない場合は、旧版のIDEへ戻せることが必要です。また、Eclipseのメジャー更新時などは、操作方法が変わることもあるので注意が必要です。
開発案件のキリが良い時期に更新するのが安全策でしょう。

マイコンIDE開発経験を活かすには

弊社マイコンテンプレートで使用中の各社IDE特徴を示します。マイコンIDEは、Eclipseベースに集約されつつあるようです。今回は、同じベースでもIDEの更新方法が異なることを示しました。

これは、EclipseベースのIDEを使う時に覚えておくと役立つのが、各社共通のエディタやデバッグなどのコア機能であることを暗示しています。他社IDE使用時に、この経験が活かせるからです。

MCU IDE Comparison
マイコンIDE比較

マイコンIDE習得のコツやTipsは、コチラのページにもまとめています。参考にしてください。

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を早く効果的に習得するコツは、コチラのページにまとめています。

マイコンでBLE実現の3方法

レガシーなUARTは簡単に使えるマイコン開発者でも、BLE:Bluetooth Low Energyは、新しくかつ仕様も追加されつつあるので手を出しにくいものです。しかし、いざBLEを仕事で使う段になれば、いつものように、厳しいスケジュールでの開発が要求されます。

そのような開発者個人が、入手性が良いマイコン:MCUで電波法の縛りがある日本国内でBLE通信を自習する方法を3つ紹介します。

BLE習得3方法

仕事での開発と違い、個人でBLEの開発環境を整える場合は、「入手性とその金額」が問題になります。金額ベースで安い順に3方法を評価したのが下図です。

BLE実現3方法
BLE実現3方法

Cypress PSoC 4 BLE利用の方法1は、低コスト($49)で環境構築可能ですが、多少BLE仕様を理解する必要があります。しかし、BLEを習得するならお勧めの方法です。

BLEモジュール追加の方法2は、マイコンUART入出力にBLEモジュールを追加する方法です。
マイコン以外にBLEモジュールが必要なため、追加コスト(図示、浅草技研BLESrialの場合4000円)が必要ですが、BLEを無線のドカン(UART over BLE)として使えるので、BLEをブラックボックスとして扱えるのが魅力です。
方法1と方法2のコスト差は、使用マイコンにも依存するので大差ありませんが、後で示す仕様変更時に差が出ます。

ルネサスRL78/G1D利用の方法3は、BLE機能を持つルネサスRL78マイコンを使うので技術資料が日本語ですが、開発には高価な有償版CS+と評価ボードが必要になります。RL78マイコンを仕事で使っている場合は、有利かもしれません。

BLE仕様が変わる現状への対処

マイコンBLEの通信相手は、前回示したMPU/SBCなどのIoT向けPCの他に、スマホが使えます。

スマホBLEには、「BLE 4.0/4.1/4.2など様々な仕様」があります。多くの通信仕様のように、下位互換性がありますが、セキュリティなどの機能強化が図られており、結果、対応マイコンにはますます大容量ROMや高性能化が要求されます。

このようなBLE仕様の変化や仕様追加に対して、PSoC 4 BLE: CY8CKIT-042-BLEは、実装CPUモジュール($15)の載せ替えで対応します(コチラの記事を参照)。一方、BLEモジュール追加の方法は、モジュール購入時で仕様が固まっているので、変更には対応モジュールの再購入が必要です。

総合評価結果

入手性とその金額、BLE仕様変更への対応から、PSoC 4 BLEを使った方法1が、コスト的にも、BLEに関するCypress日本語資料も少なからずありますので、個人でBLE習得するには最も優れた方法だと思います。

IoT時代は、UARTと同じレベルでBLEを使うことが必須です。仕事でせかされる前にBLE技術を習得しませんか? 弊社PSoC 4 BLEテンプレートもお役に立てると思います。

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コンパイラでの動作確認もしています。ご安心ください。