「Qualcomm/NXPの合併に立ちはだかる米中政府の壁(前編、後編)」という記事が掲載されました。
合併が2017年末完了予定から延びる可能性があるそうです。私には記事内容は、イマイチ解らないのですが、NXPの2017年MCU開発計画に影響しないことを願っています。
Freescale社のKinetisマイコン関連の情報、Tipsなどをまとめています。
「Qualcomm/NXPの合併に立ちはだかる米中政府の壁(前編、後編)」という記事が掲載されました。
合併が2017年末完了予定から延びる可能性があるそうです。私には記事内容は、イマイチ解らないのですが、NXPの2017年MCU開発計画に影響しないことを願っています。
Qualcomm ← NXP ← Freescale、買収先の企業へ矢印を付けるとこのようになります。
QualcommはSnapdragonなどのスマホチップセットを供給する半導体ベンダーです。車載を得意とするNXPの社名は残りそうですが、買収後のNXP/旧FreescaleのCortex-M系マイコンラインアップは気になります。
さらに、Windows 10がこのQualcommのSoCで動作するというニュースは、IoT向けPCやスマホにMicrosoftが参入し、数多くある無線規格の収束を早めるかもしれません。
先ず2017年3月、開発環境LPCXpressoとKinetis Design Studioが新しいMCUXpressoに統合されます。また、先日発表の2017ロードマップによると、スイッチマトリクスを持つLPC8xxシリーズが充実します。QualcommとのシナジーによりIoT無線規格のIoTマイコン発売が期待できます。
一方、RunesasもSynergyで遅ればせながらARM Cortex-Mマイコン開発に乗り出し、従来からある独自コアを持つRL78の16ビットマイコンやIDE:CS+は肩身が狭くなった気がします。既存マーケットにはRL78、IoTにはSynergyのCortex-M23/M33という住み分けを意識したかのようです。
Cypressは、Spansion買収によりCortex-M0+コアを入手し、PSoC4へ適用し始めました。アナログ技術が豊富なPSoC4/PRoC/PSoC4 BLEマイコンが更に強化されました。私はCortex-M0/M0+開発では、最も使いやすいIDE:PSoC CreatorとPSoC4/PRoC/PSoC4 BLEの組合せがピカ一だと評価しています。Cortex-M23のラインアップ追加が待ち遠しいです。
※上記は、下記個人レベルで準備できる「入手性が良く、低コストマイコン」の選択基準に合致する半導体ベンダーに限定して分析しております。
顧客が許容するマイコンソフト/ハード開発時間は、ますます短くなります。
顧客側の技術理解レベルが追い付かないのも原因の1つですが、状況変化が激しいので即開発し、市場でのフィードバック、改良などを繰り返しながら製品化が必要なことが大きな要因です。
短い開発時間は、マイコン開発者にプレッシャーや焦りを生じさせます。しかし、焦りは禁物です。
良い成果物を効率的に出力できるワザ、これがマイコン開発者には必要です。
このワザ習得には、時間を気にせずに没頭できる環境、例えば自宅などで、新しいマイコンや現状マイコンを、身銭を使うので低コストで、しかも短時間で習得できる方法が必要です。
技術は、食べ物と同じで自分で習得(食べ物なら消化)してこそ身に付きます。食べ過ぎて消化不良になるのを避ける手段/方法があります。
この習得方法が超速開発環境、マイコン評価ボード(=スターターキット)+拡張ボード(=mbed-Xpresso Baseboard)+そして弊社マイコンテンプレートです。
マイコンテンプレート(税込1000円)は、懇切丁寧な添付資料や多くの(冗長な!?)コメントをソースに付加しています。従って、初心者が陥りがちな初期トラブルを避けることができ、ベンダー提供のサンプルソフトを活用したマルチタスクで、評価ボードと拡張ボードを動かせます。
ソフト担当者は、マイコンを自分で動かせれば、安心して厳しい状況でも開発できます。
また、基板開発時に問題となるアートワーク(配線引き回し)に配慮したIO割付を実ボードで検証できるので、基板化障壁も下がります。
ハードのみの担当者であっても、この超速開発環境はマイコン回りのベンダー推薦配線チェック、アートワークに適したIO割付をソフト開発者へ提案、基板テストプログラム開発時などにも役立ちます。
* * *
「入手性が良く、低コストマイコン」という基準で、現在5種マイコンをピックアップし、そのマイコンテンプレートを開発/販売することで、超速開発をサポートするのが本サイトの目的です。ご要望により新たなマイコンを追加する可能性もあります。
サイトに対するご意見、ご要望、追加マイコンなどお気軽にinfo@happytech.jpへお寄せください。
本年もありがとうございました。来年も引き続き弊社サイト、どうぞよろしくお願い申し上げます。
LPCマイコンとKinetisマイコンの2つを同時サポートする新しい統合開発環境(以下IDE)、MCUXpressoが2017年3月リリースに向けて開発中です。
Freescaleを買収したNXPのLPCマイコンにはLPCXpresso、旧FreescaleのKinetisマイコンにはKinetis Design Studio(以下KDS)が、それぞれの開発用IDEとして提供されてきました。どちらもEclipseベースのIDEなので、いつかは一本化されると思っていました。
新しいMCUXpressoのサポートマイコンリストは、コチラからダウンロードできます(ログイン必須)。Product Familyでフィルター操作をすると、下例のようにお使いのMCUの詳しい状況が判ります。
本ブログ対象のLPC1114/5とKinetis K/Lは、2017年3月にサポートされる予定です。
MCUXpressoもEclipseベースIDEで、無料版でもコードサイズ制限なしで使えるなど、数々の嬉しい特徴を備えています。LPCXpressoとKDSの最も異なる部分、API生成/提供方法がMCUXpressoでどのようになるかは、今のところ不明です。
マイコンテンプレート使用中IDEのAPI生成/提供方法をまとめました。現状は3種類です。
API生成/提供方法 | 概要 | 使用IDE |
別ライブラリ | IDEに別途APIライブラリを追加し利用 | NXP:LPCXpresso(LPCOpen) |
API生成ツール | IDEで周辺回路を設定しAPI生成 | Freescale:KDS
ルネサス:コード生成 |
SCH生成ツール | IDE回路図で周辺回路を設定しAPI生成 | Cypress:PSoC Creator |
API生成ツールを使う方法は、周辺回路の知識が豊富でないと設定しにくいので、SCH生成ツールのCypress:PSoC方式が、動作イメージが把握し易く使い勝手が良いと個人的には思います。また、シンプルなのは、別ライブラリ提供のNXP:LPCXpresso方式ですが、MCUXpressoがこの方式になる可能性は、KDS統合も考えると少ないと思います。
いずれにしても来年は、この新しいMCUXpressoでNXPとFreescaleのマイコンテンプレートを、6月末を目途に作り直す予定です。興味がある方はすぐに現状マイコンテンプレートを購入されても、ご購入後1年以内のテンプレート更新は無償で行いますのでご安心ください。
NXPからBLE 4.2とThread両方をサポートするKinetis WシリーズKW41Zが発売されました。低価格で有名な評価ボードですがFRDM-KW41Zは、約1万6千円します。USB-KW41Z Sniffer/Development Boardでも約6千円です。
様々なIoT無線規格が乱立するなかで、KW41ZがBLE4.2とThreadを選んだのは、これらが生残る可能性が高いためでしょう(IoT無線規格はコチラを参照してください)。両方のプロトコルをサポートするため、Cortex-M0+コアで最大512KB ROM/128KB RAMと大容量が必要です。USB-KW41Z の価格から推測すると、MCU単体価格も高そうです。
IoTアプリケーションも身近になりつつあります。無線規格確定まで待てないとお考えの方には、早期開発を成功させるツールとして役立つかもしれません。
www.nxp.com/FRDM-KW41Z/startnowに解りやすいスタートアップ方法が掲載されています。無線デモソフトをクローン化し、ユーザアプリを作る手法のようです。IoT無線ソフトを1から開発することは難しい証左でしょう。ベンダー提供ライブラリの活用領域と思われます。
9月23日の日経テクノロジーOnlineに“技術も市場も混沌としたIoT、ソフトバンクだけが視界明瞭”という記事で、興味深い内容を2つ見つけたので抜粋します。
記事は、ソフトバンクのARM買収の意味と影響を分析しています。
“IoTマイコンに於けるARM優位性がこのまま維持され事実上の業界標準になれば、MCU各社の差別化技術はアナログ分野になる。”
本ブログで扱う低価格MCUコアは、ARM Cortex-M0/M0+がデファクトスタンダードで、Runesas 1社のみが独自RL78-S1/S2/S3コアです。そのRunesasも9月13日に、電圧制御やのアナログ分野に強みがある米インターシルの買収を発表しました。記事の予想は、正しいと思います。
“IoT端末の必須技術は、センサー、通信マイコン、電源ICの3つ。”
弊社が言うIoTマイコン各社が、アナログ技術を強化すれば、センサーインタフェースへ適用するでしょう。
例えば、オペアンプ実装などです。また、MCUとMPU/SCB間無線技術も、仕様が固まれば、当然実装されます。
これらが実装済みのIoTマイコンが、待ち遠しいです。ROMやRAMの容量次第では、マイコンテンプレートの活きる場所もありそうです。また、ARMと親和性が高いEclipseベースのIDEであっても、その使い勝手や、アナログ技術の取り込み方法の上手さもMCU選択の重要な基準となると思います。
追記:Cypress PSoC Creator 3.42.4が、3.25.0に更新されています。更新は、Update Managerから簡単に実行できます。
NXPがFreescaleを買収後、新生NXPのARMコアMCU製品ラインアップが一目で解る図を見つけたので掲載します。
出典は、組込みシステム向けコンテンツ・プロバイダ)インスケイプ様のマガジンVOLUME.13:「さらなる高みへ。新生NXPのマイコン戦略に迫る MCU約1,100ラインアップ。シナジー効果の最大化へ」です。
NXPサイトは、NXPのLPCマイコンと旧FreescaleのKinetisマイコンがそれぞれ別ページで示されるので、経営統合後のARM Cortex MCU製品ラインアップが分かりにくいのが現状です。
既存ユーザにはページ分離記載で問題ないでしょうが、以前記載した今後を予想するには、下図が解りやすいと思います。
左側の汎用MCUでは、Cortex-M0/M0+でLPC800、LPC1100/1200とKinetis Lシリーズが競合しています。IDEも、それぞれのMCU対応にLPCXpressoとKinetis Design Studioの2種を提供中です。
一方、右側の特定用途MCUでは、Kinetisシリーズにより製品補完がされたことが解ります。
出典記事に、各MCUの詳しい特徴が解りやすく記載されております。
統合により、NXPは、ARMコア提供数は(恐らく)世界最大で、MCUコアのデファクトスタンダードCortex MCUのリーダーです。今後の動向が気になります。
弊社は、コスト重視で8/16ビット市場の置換えを狙う32ビットMCUコアCortex-M0/M0+を使ったLPC8xx、LPC111x、Kinetis Eに対してマイコンテンプレートを販売中です。動向によっては、このラインアップも変わるかもしれません。
※Kinetis Lシリーズは、Kinetis Eとソフト、ピン互換性があります。Kinteis EテンプレートのLシリーズへの適用は、弊社へお問合せください。
Windows 10 Anniversary Update、Red Stone 1(RS1)のリリースが8月2日実施されました。
弊社マイコンテンプレート使用中のマイコンIDEを、このWindows 10 RS1、1607で動作確認しましたのでお知らせします。
IDEは、全て8月3日時点最新版です。マイコンテンプレートソフトのコンパイルと評価ボードへのダウンロード動作を確認しました。
マイコンIDEの詳細はコチラ、評価ボードはコチラに一覧表を掲載しております。
※Windows10 1511で動作していたものは、今のところ1607でも問題なく動作します。
※Windows 7時代に購入した評価ボードは、一部Windows 10で動作しない場合があります。この場合は、ボードドライバ(USBドライバ)の更新で動作するようになります。
マイコンIDE(ベンダ名) | Windows 10 1607動作確認バージョン |
CS+ for CC(ルネサス) | V4.00.00 [15 Mar 2016] |
e2 studio(ルネサス) | Version: 5.1.0.022 |
LPCXpresso(NXP) | v8.2.0 [Build 647] [2016-07-18] |
Kinetis Design Studio(NXP) | Version: 3.2.0 |
PSoC Creator(Cypress) | PSoC Creator 3.3 CP3 (3.3.0.9604) |
Arduino IDE(Intel) | 1.6.10 Hourly Build 2016/07/26 |
マイコン開発には、各社が低価格で提供している評価ボードは必須です。
弊社マイコンテンプレートも、各ベンダの評価ボードで開発しています。この評価ボードを解説します。
ソフト開発者に「確実に動くハードウエア」を「低価格」で提供する、これが評価ボードです。
マイコン開発には、「専用」のソフトウエアと「専用」のハードウエアの両方が必要です。そして片方のデバッグには、もう片方にバグが無いことが必須です。つまり、ソフトデバッグには、バグなしのハードが必須なのです。そこで、バグなしで確実に動作する「汎用」ハード、これが各ベンダ提供の評価ボードです。
但し、専用ハードがいずれ開発されるので、汎用の評価ボードは低価格とならざるをえない運命です。高ければ誰も買ってくれないからです。しかし開発者にとっては、以下のように優れた教材と言えます。
評価ボードは、ターゲットMCU、デバッグインタフェース、拡張コネクタの3つから構成されます。
NXPの評価ボード:LPCXpresso LPC812とルネサスのRL78G13-Stick、CypressのCY8CKIT-042 の例を示します。
ターゲットMCU
ターゲットMCUとは、開発MCUそのものの部分です。残りのデバッグインタフェースと拡張コネクタは、ターゲットMCUが異なっても同一です。
拡張コネクタ
最近はArduino用シールドコネクタを拡張コネクタに用いる評価ボードが多いです。これは、市販Arduinoシールドの種類が増えたため、上手く探せれば汎用の評価ボードに複数のArduinoシールドを拡張コネクタで接続し、専用ハードに近い、いわば「疑似専用ハード」を市販品のみで作れます。ボード単位のハード部品化がもたらした結果と言えます。
個人的には、シールドよりも、mbed – Xpresso Baseboardの方がより低コストで疑似専用ハード実現ができると思っています(こちらに詳しく記載しました)。
デバッグインタフェース
デバッグインタフェースは、IDEデバッグ機能を使うために必要な部分で、ターゲットMCUのシリアル入出力とパソコンUSBを変換する機能もここに含みます。この機能専用のマイコンが実装されることが多くなりました。このマイコンでデバッガ機能も代行するので、別途デバッガを購入せずにソフトデバッグが可能です。
MCUがARM Cortex-M0/M0+の場合には、ARM標準のCMSIS-DAPでMPUコアをデバッグできるインタフェースも実装されます。CMSIS-DAPはこちらの記事も参照してください。
CMSIS-DAPは、ターゲットMCUとデバッグインタフェースを切り離した後に、ソフトデバッグする時、別途ARM専用デバッガが必要ですが使えます。このように、1つの評価ボードで複数のデバッグ方法が使えるのも特徴です。
ARM系コアの場合は、ベンダ評価ボードもほぼ同じ構成で、ARM専用デバッガを1台持っていれば、ベンダ各社の評価ボードをまたがっても使えるのがメリットです。マイコン開発のデファクトスタンダートになりつつあります。
一方、デバッグインタフェースをE1コネクタでしか持たないルネサスのCPUボードをデバッグする際は、別途E1デバッガを接続しないとデバッグができません。この点は、Cortex-M0/M0+コアのMCUと比べるとコスト的に劣ると言えるでしょう。
シールドなどのボード単位の部品化が進んだ結果、専用ハードは、もはや既存ハードを組み合わせて、その小型化のみを行う設計、つまり専用基板化が主な開発内容と言えるかもしれません。
同様に、ソフト開発もベンダが、多くのライブラリを提供することで、専用ソフトをライブラリの組合せで完成できるレベルを目指しているようです。IDEにデバッガ機能がないArduino IDEなどは、この現れのような気がします。
ハード版オープンソースとしてArduinoシールドコネクタを持つ既成基板は、増えつつあります。
オープンソースを活用したソフト開発は、Unix系では当たり前です。この流れがマイコンソフトへも徐々に浸透する可能性を感じています。この場合、ハードの専用基板化開発に相当するのは、RTOS適用や弊社のマイコンテンプレートになるかもしれません。
扱うMCUデバイスの追加、WindowsやiOSなどのOS変更、Eclipseそのものの変更、バグ修正など様々な要因によりマイコン開発環境:IDEの更新は発生します。今回は、マイコンIDE更新について解説します。
マイコンアプリケーションソフト開発中ならば、リスクが増える可能性もあるIDE更新は避けたいものです。
このため「開発者が更新をするか否かを選択」できるのがマイコンIDEの特徴です。Windowsと大きく異なる点ですね。
更新判断には、「更新が発生」したか、「更新の理由」は何か、この2つを知る必要があります。この情報をIDEのWelcome画面のWebリンクで教えてくれるのがEclipseベースのIDEです。NXPのLPCXpressoの例を示します。
赤矢印のリンク先をみると、最新版IDEと、変更内容などが解ります。使用中のIDEと版数が異なる場合には、この内容を読んで更新判断ができます。新旧LPCXpressoは、緑囲いで示した版数毎に別フォルダへインストールされるので、IDE更新リスクがフォルダ内に閉じ込められるので安心です。
また、NXPに買収された旧FreescaleのKinetis Design Studio: KDSの例が下図です。Welcome画面に加え、Help>Check for Updatesで更新確認と新版インストールまでバックグラウンドで可能です。この機能は、LPCXpressoにはありません。
但し、私の環境では、ベースとなるEclipseのメジャー更新が関係しているのかもしれませんが、KDS V3.1からV3.2への更新ができませんでした。V3.2更新は、別途インストーラで可能です。やはりIDE更新確認ツールがあっても、時々サイトでIDEの最新版確認は、必要だと思いました。
また、CypressのPSoC Creatorは、Update Managerツールで更新確認とインストールができます。旧版はアーカイブ保存されるので、万一最新版にトラブルが発生しても安心です。
以上3社のマイコンIDEは、どれもEclipseベースのIDEですが、更新方法や旧版の扱いは各社異なります。
一方、ルネサス独自仕様のIDE:CS+もアップデート・マネジャーツールで更新します。独自仕様なので、細かい更新内容確認や、一部選択更新なども可能です。ツール・ニュースなどで更新、バグ情報を知らせてくれるのも役立ちます。
また、更新前に、「開発ツールをパックして保存(K)…」を実行すると、更新トラブル対策も可能です。
マイコンIDEの更新トラブル回避には、OS起因でない場合は、旧版のIDEへ戻せることが必要です。また、Eclipseのメジャー更新時などは、操作方法が変わることもあるので注意が必要です。
開発案件のキリが良い時期に更新するのが安全策でしょう。
弊社マイコンテンプレートで使用中の各社IDE特徴を示します。マイコンIDEは、Eclipseベースに集約されつつあるようです。今回は、同じベースでもIDEの更新方法が異なることを示しました。
これは、EclipseベースのIDEを使う時に覚えておくと役立つのが、各社共通のエディタやデバッグなどのコア機能であることを暗示しています。他社IDE使用時に、この経験が活かせるからです。
マイコンIDE習得のコツやTipsは、コチラのページにもまとめています。参考にしてください。
NXPは2015年にFreescale、Cypressは2014年にSpansionを買収しました。買収後のNXPとCypressのマイコンラインアップがどう変わるかが気になります。
日経テクノロジーOnlineで両社のマイコン新製品と今後の開発動向に関する記事がありましたので、要点をリストアップしました。
“新生NXP初のマイコン、旧NXP系で低消費電力がウリモノ” 2016/02/24より
弊社マイコンテンプレートで使った、NXPのLPC8xx/LPC111xと旧FreescaleのKinties Eも現在NXPから全て供給中ですが、統合される可能性があることが解ります。
“FMマイコンもPSoCも同じツールで開発、Cypressがアルファ版をデモ” 2016/02/29より
Cortex-M0+とM0を比較すれば、M0+が優れているので、新開発のPSoC 4系にM0+を採用するのは理解できます。
数あるマイコンIDEの中で私が最も使いやすいと評価するPSoC Creatorですが、PSoC 4とFM0+はアーキテクチャが異なり、さらにPSoC 4系にM0+が採用されれば、ますますFM0+を使う機会は減ると思います。
通常のマイコンソフト開発では、M0+とM0を区別することも少ないので、Creator強化は静観したいと思います。