ARM Cortex-M0+準拠セキュリティ強化プロセサCortex-M23発表

Cortex-M Series Lineup
Cortex-M Series Lineup

ARMは、Cortex-M0+準拠でセキュリティ機能を強化したCortex-M23を発表しました。本ブログはこれまで、低価格低消費電力のCortex-M0/M0+コアを対象としてきましたが、これにCortex-M23も加えます。

Cortex-Mシリーズに於けるCortex-M0/M0+プロセサの位置付けは、コチラの記事をご覧ください。

Cortex-M23コア

ARMサイトによると、Cortex-M23は、IoTデバイスに必須と言われるハードによるセキュリティを強化したTrustZoneを搭載し、Cortex-M0+ソフト再利用が可能です。
IoT向きCortex-M0/M0+という位置付けだと思います。

Comparison of Cortex M23 and Cortex M0+
Comparison of Cortex M23 and Cortex M0+

Cortex-M23コアのMCUが登場すれば、本プログでフォローします。勿論、対応テンプレートも開発する予定です。

BluetoothとTHREAD両サポートのKinetis KW41Z

NXPからBLE 4.2とThread両方をサポートするKinetis WシリーズKW41Zが発売されました。低価格で有名な評価ボードですがFRDM-KW41Zは、約1万6千円します。USB-KW41Z Sniffer/Development Boardでも約6千円です。

Multiprotocol MCU Kinetis KW41Z
Multiprotocol MCU Kinetis KW41Z(説明動画より)

IoTマイコン無線規格:BLEまたはThreadか

様々なIoT無線規格が乱立するなかで、KW41ZがBLE4.2とThreadを選んだのは、これらが生残る可能性が高いためでしょう(IoT無線規格はコチラを参照してください)。両方のプロトコルをサポートするため、Cortex-M0+コアで最大512KB ROM/128KB RAMと大容量が必要です。USB-KW41Z の価格から推測すると、MCU単体価格も高そうです。

IoTアプリケーションも身近になりつつあります。無線規格確定まで待てないとお考えの方には、早期開発を成功させるツールとして役立つかもしれません。

www.nxp.com/FRDM-KW41Z/startnowに解りやすいスタートアップ方法が掲載されています。無線デモソフトをクローン化し、ユーザアプリを作る手法のようです。IoT無線ソフトを1から開発することは難しい証左でしょう。ベンダー提供ライブラリの活用領域と思われます。

米Qualcomm、NXPを300億ドルで買収か?

2015年、Freescaleを買収したNXPを、スマートフォンで有名なクアルコムが300億ドル以上で買収するかもしれないというニュースが飛び込んできました。

記事によると、買収目的は、スマホ市場の成長が停滞しつつあるので、組込と車載市場へ参入することで、買収が成立すれば、半導体業界史上、最大規模のM&Aになるそうです。

クアルコム製品でスマホによく用いられているSnapdragonを使ったシングルボードコンピュータ:SBCは、チップワンストップのコチラで参照できます。

個人的観測ですが、このところNXPに限らずマイコンベンダーの新製品開発が鈍っている気がします。IoT無線規格の見極めや、Eclipse Neon対応かなと思ってきましたが、業界再編の可能性も影響しているかもしれません。

IoTマイコン市場規模予測

9月26日の日経テクノロジーOnlineに“孫社長ですら過小評価、ARMはIoT時代に君臨する”という記事から、IoTマイコン開発者が、上司を説得し開発費を交渉する時や、自分自身のモチベーションアップに役立ちそうなキーワード、数値をピックアップします。

※記載内容は、全て記事から抜粋しております。

ARMはMicrosoftとIntelのウインテル以上

MicrosoftとIntel連合がパソコンの覇者であることは間違いありません。しかし、パソコン低迷とともにIntelチップの売上げも2015年は3億個弱と低下しつつあります。一方、ARMチップは、2015年が145億個でうなぎ上りに増加しており、1個あたり10円がARM社の収入とすると、2015年売上げ1791億円も納得できます。

Chip Sales number
チップ売上げ個数(記事より抜粋)

IoT時代のネット接続デバイス数

  • Cisco Systems社予測……500億個(2020年)
  • Trillion Sensors Universe(米国推進)での世界センサー数……1兆個(2020年)
  • コンピュータ性能が全人類能力を超えるシンギュラリティ時のセンサー数……250兆個(2045年)

これらデバイスの半分、50%に低消費電力が最大の特徴であるARMプロセサが使われると、125兆円のARM社売上げも予測可能です。この結果、半導体売上高トップ10にARM社がランクインし、2030年頃には、1位Intelや2位Samsungを脅かす可能性が高いでしょう。

半導体産業を牽引するのは、パソコンやスマホではなくIoTだ

以上の数値などから今後、半導体産業を牽引するのは、IoTであり、ARMはIoT時代に君臨するでしょう。

効率的マイコン習得の評価ボード

“学問に王道なし”とは言いつくされた諺です。しかし効率的にマイコンを習得する1番の方法は、ベンダー評価ボードを使うことだと私は思います。理由は、価格と確実動作、サンプルソフトの多さです。複雑な内容を理解、習得するには、文章説明だけでは限界があります。マイコンは、1つでも設定を間違うと、動作しない状態になるのも理由です。

ところが、このベンダー評価ボードも数多くあり、どれが良いか初めての開発者には分かり難い面も多いでしょう。そこで、個人的に最も好きなCypressマイコンの評価ボードを例に、評価ボードを分類し、特徴を解説します。

Cypressマイコンが好きな理由

ルネサス)RL78/G1x、NXP)LPC8xx/LPX111x、Kinetis L/Kと比較して、私がCypress)PSoC/PRoCが好きな理由は、ハード的にはアナログ/デジタル両方の機能が豊富な点、ソフト的にはIDEのPSoC Creatorが使いやすい点です。
また、Cypressサイトも他社より情報が豊富で充実しています。豊富なだけでなく、きちんと整理、分類されているので、検索も容易です。内容が良く解った技術者がサイトを構築すると、このようになると思います。

4種類のCypressマイコン評価ボート

そんなCypressマイコンの評価ボードは、4種類に分類されます。他社サイトでは、評価ボードが一覧で表示されることが多いのですが、最初にこのような分類が無いと混乱します。

4 Evaluation Board Types
4 Evaluation Board Types
Cypressの4種類の評価ボード比較
評価ボード分類 特徴 個人的解釈
Prototyping Kits 超低価格 単独で動作させるには十分だが、サンプルソフトテストには、外付けLEDやハードウエア追加が必要で、その手間暇がかかる。
Pioneer Kits 低価格 サンプルソフトテストに十分な外付けハードも一緒にした評価ボード。さらにArduinoコネクタ実装なので、拡張性も高い。
Arduino Shields Arduinoのシールド Arduinoコネクタ実装の拡張機能基板で、最近のマイコン開発にはArduinoコネクタがデファクトスタンダードになりつつある。
Partner Kits 高機能 高機能/高性能マイコンを評価するためのボード。

お勧めは、Pioneer Kitsです。この分類の評価ボードなら、サンプルソフトをそのままダウンロードして動作確認ができる上、Arduinoシールドを使って自分なりの拡張機能もテストできます。使用するMCUのPioneer Kitsを探して開発に着手すれば良い理由を以下に示します。

マイコン初心者トラブルの回避

経験からマイコン初心者がトラブル箇所で多いのが、MCU初期設定、IDE操作ミスです。いずれも、ユーザーマニュアルの初めの方に記述されていますが、読み間違いや勘違いにより発生します。
その結果、マイコンを思った通りに動かせず、最初の段階でつまずいてしまします。これがアセリを誘発し、さらに悪循環を生みます。チョットした事ですが、一度生じた先入観は簡単には元に戻りません。

Pioneer Kits評価ボード+サンプルソフトで確実にマイコンを動作させると、上記のミスはかなり防げます。とりあえず取説どおりに設定し、サンプルソフトが動けば、嬉しいしアセリは生じません。その後でMCUユーザーマニュアルを読めば、冷静に設定内容も理解できます。

MCUユーザーマニュアルは、文章だけで説明するが役目です。しかし、動く評価ボードを実際に操作しながら内容を理解すると、自分の勘違いやミスにすぐに気が付きます。本当に些細なミスであっても、アセリが有るのと無いのでは、雲泥の差です。

サンプルソフトソースからポイントをつかむ

サンプルソフトは、マイコン開発のバイブルです。しかし付属の説明文章は、細かい内容や、開発のポイントは記載していません。開発で重要となるこの部分は、サンプルソフトのソースから、開発者自らが獲得するのが一番良いと思います。サンプルソフトの読み方は、コチラにも記述しています。“木を見て森を見ず”にならないようにしましょう。

動作ソフトへ変更を加え経験を積む

いろいろなサンプルソフトを動かしていると、ここを変更すればもっと良いのではないか?と思う箇所も発見します。そんな時は、変更を加えトライできます。もしNGなら、その原因が解ります。NG:失敗も経験です。効率的に経験を積むことができる、これがPioneer Kits評価ボードです。

超低価格のPrototyping Kitsでも外付けハードを追加すれば、Pioneer Kitsと同様のことができます。但し、追加の手間がかかります。ハード追加時にミスが発生するとソフト開発は先へ進みません。電子工作習得やハード開発の経験を積む意味では良いのですが、ここは割り切ってソフト開発に適したPioneer Kitsを選ぶのが得策です。

まとめ

マイコンテンプレートも数年前は、Prototyping Kits的な評価ボードを使って販売した経験があります。この時は、ご購入者様からは、ハードウエアを追加したが動ないというご相談を多数頂きました。トラブル原因は、UARTのTX/RX配線ミスなどで解決しましたが、動かないとご購入者様もストレスが溜まります。

そこで、ハード追加が不要なPioneer Kits相当の評価ボードで販売すると、不動作トラブルは無くなりました。簡単に動作することが、初期段階では重要である証左と言えます。

販売中のマイコンテンプレートは、全てPioneer Kits評価ボード相当を動作ボードに選定しています。是非、お試しになり、効率的にマイコンを習得してください。

※一部、配線のみ追加するBaseboardを使って機能拡張しています。配線のみですのでハード追加に比べミス確率は低いです。Baseboardでの機能拡張については、コチラなどを参照ください。

新生NXPマイコンラインアップ

NXPがFreescaleを買収後、新生NXPのARMコアMCU製品ラインアップが一目で解る図を見つけたので掲載します。
出典は、組込みシステム向けコンテンツ・プロバイダ)インスケイプ様のマガジンVOLUME.13:「さらなる高みへ。新生NXPのマイコン戦略に迫る MCU約1,100ラインアップ。シナジー効果の最大化へ」です。

NXP+FreescaleのARM Cortex MCUラインアップ

NXPサイトは、NXPのLPCマイコンと旧FreescaleのKinetisマイコンがそれぞれ別ページで示されるので、経営統合後のARM Cortex MCU製品ラインアップが分かりにくいのが現状です。

既存ユーザにはページ分離記載で問題ないでしょうが、以前記載した今後を予想するには、下図が解りやすいと思います。

NXP ARM Cortex MCU Lineup
NXP ARM Cortex MCU Lineup(記事より抜粋)

左側の汎用MCUでは、Cortex-M0/M0+でLPC800、LPC1100/1200とKinetis Lシリーズが競合しています。IDEも、それぞれのMCU対応にLPCXpressoとKinetis Design Studioの2種を提供中です。
一方、右側の特定用途MCUでは、Kinetisシリーズにより製品補完がされたことが解ります。

出典記事に、各MCUの詳しい特徴が解りやすく記載されております。

統合により、NXPは、ARMコア提供数は(恐らく)世界最大で、MCUコアのデファクトスタンダードCortex MCUのリーダーです。今後の動向が気になります。

CortexーM0/M0+対応マイコンテンプレート

弊社は、コスト重視で8/16ビット市場の置換えを狙う32ビットMCUコアCortex-M0/M0+を使ったLPC8xx、LPC111x、Kinetis Eに対してマイコンテンプレートを販売中です。動向によっては、このラインアップも変わるかもしれません。

※Kinetis Lシリーズは、Kinetis Eとソフト、ピン互換性があります。Kinteis EテンプレートのLシリーズへの適用は、弊社へお問合せください。

mbed OS 5リリース

2016年8月5日、ARM mbed OS 5がリリースされました。mbed OS 5対応評価ボードは、現在39種類あります。本プロブ対象のARM Cortex-M0/M0+クラス評価ボードは、このうち6種ありました。

上記ページのHardwareタグでBoardsを選択し、Filterでmbed OS 5をチェックすると対応ボードが一覧表示されます。

Cortex-M0/M0+クラスのRTOS必要性

コスト重視のARM Cortex-M0/M0+マイコン:MCUに、リアルタイムOS:RTOSが必要か否かは、意見が分かれるところです。RTOSを使うためのROM/RAMのオーバーヘッドと、無線通信ドライバ/ライブラリの必要性がポイントだと思います。

FreeRTOSの場合は、ライブラリを除くと約5KB ROMが必要であることを以前示しました。mbed 5 OSは、BLEなどの各種無線通信をサポートしますが、コア部分は、(おそらく)同程度だと思います。
※MCUとMPU/SBC間の無線通信規格はコチラにまとめています。

IoT向けMCU実現には、無線通信機能は必須です。ここを1からMCUに実装するのは結構大変です。RTOSライブラリで提供されれば、Cortex-M0/M0+クラスMCUへの適用も現実的になるかもしれません。

一方、CypressのPSoC 4 BLEやPRoCは、RTOSを使わずにBLE通信を実現済みです。

Cortex-M0/M0+クラスへのRTOS適用は、まだ不透明だと思います。しかし仮にRTOSが誰にでも安心して使えるようになると、残念ながら弊社販売中のマイコンテンプレートは不要になるかもしれません。

マイコンテンプレート対抗馬は、本記事のmbed OS 5、FreeRTOSです。

ソフトバンク、ARM買収を発表

ソフトバンクは、IoT戦略の加速を目的に、英ARM株式100%取得し買収することを発表しました。

9月30日までに買収完了予定です。IoTデバイス開発の関係者にとってはサプライズニュースです。

テクノロジーのパラダイムシフト

ソフトバンク発表資料(免責事項にふれる可能性があるため非掲載)によると、現在のモバイルインターネットの次のパラダイムシフトはIoTです。また、ARMベースSoC:System on Chipの出荷台数は、148億個(2015年)で、未だに発展段階の成長を続けていることが解ります。

ARM Cortex-M0/M0+を用いる本ブログ対象の組込用途マイコン:MCUや、IoTコンピュータ:MPU/SBCなどの2020年市場予測も掲載されています。今後Cortex-M0/M0+の採用を検討されている開発者の方々にも有用な情報です。

SoftBank+ARM

組込の世界では、実質ルネサスのみであった日本プレーヤーに、株主とはいえソフトバンクが参加することは、日本人として少し嬉しい気がします。
しかし、孫社長の後継者問題、英国EU離脱のARM陣営への財務基盤強化などが、今後IoT、特にMCU分野にどう影響するかは、要注意でしょう。

SoftBank携帯で、IoT MCUソフトウエア開発を行う状況が来るかもしれません。

ブログカテゴリ変更とテンプレートサイト更新のお知らせ

本ブログカテゴリを下記のとおり変更しました。

「MCU:マイコン」と「MPU/SCB:IoT用コンピュータ」を別カテゴリにしました。

※MCU: Micro Controller Unit…    ARM Cortex-M0+/M0、NXP) LPC, Kinetisシリーズ、Cypress)PSoC 4 /PSoC 4 BLE/PROCシリーズ、ルネサス)RL78/G1xシリーズなど

※MPU/SCB: Micro Processor Unit or Single Board Computer…      Raspberry Piシリーズ、DragonBoardなど

→ MCUとMPU/SCBのIoT階層構造は、コチラを参照してください。

マイリンクも下記とおり変更しました。

マイコンテンプレートサイトに、「マイコンテンプレートを利用する際に知っていると便利なTipsやコツ」のページを追加しました。

今後、MPU/SCB:IoT用コンピュータの内容も充実させる予定です。

NXPとCypress動向

NXPは2015年にFreescale、Cypressは2014年にSpansionを買収しました。買収後のNXPとCypressのマイコンラインアップがどう変わるかが気になります。
日経テクノロジーOnlineで両社のマイコン新製品と今後の開発動向に関する記事がありましたので、要点をリストアップしました。

NXP: LPCとKinetisを徐々に統合

“新生NXP初のマイコン、旧NXP系で低消費電力がウリモノ” 2016/02/24より

  • NXPのマイコンシェア、車載MCUは世界第2位、車載を除くMCUは世界第1位
  • LPCマイコンと(旧Freescale)Kinetisマイコンは、徐々に統合(Geoff Lee氏談)
  • 新製品は、NXP系のLPC54000シリーズ(Cortex-M4FでコプロセサにCortex-M0+搭載可)

弊社マイコンテンプレートで使った、NXPのLPC8xx/LPC111xと旧FreescaleのKinties Eも現在NXPから全て供給中ですが、統合される可能性があることが解ります。

Cypress: PSoC 4へCortex-M0+コアを採用

“FMマイコンもPSoCも同じツールで開発、Cypressがアルファ版をデモ” 2016/02/29より

  • 新製品PSoC 4 Sは旧Spansionライセンス取得のCortex-M0+を採用。今後新開発PSoC 4もM0+を使う
  • PSoC 4 S搭載の第4世代CapSenceは、第3世代比、雑音耐性向上と低電力化
  • PSoC 4 S Pioneer Kit ($49)、PSoC 4 S Prototyping Kit ($10)発売
  • PSoC CreatorでFM0+マイコン(旧Spansion)も開発できるよう強化中

Cortex-M0+とM0を比較すれば、M0+が優れているので、新開発のPSoC 4系にM0+を採用するのは理解できます。
数あるマイコンIDEの中で私が最も使いやすいと評価するPSoC Creatorですが、PSoC 4とFM0+はアーキテクチャが異なり、さらにPSoC 4系にM0+が採用されれば、ますますFM0+を使う機会は減ると思います。
通常のマイコンソフト開発では、M0+とM0を区別することも少ないので、Creator強化は静観したいと思います。