FMファミリの新展開と仮想環境を利用したソフトウェア開発 ―― ARM Cortex-Mマイコン・ワークショップ2014インタビュー Spansion社
組み込みキャッチアップ |
スパンション社は,ARM Cortex-Mマイコン・ワークショップ2014において,テクニカル・セッションとベンダ・セッションの2セッションで講演します.ここでは,この2セッションの講師に講演内容を解説していただきます.まず,「FMファミリの新展開」について,スパンション・イノベイツ(株)の中津浜 規寛氏,「仮想環境を利用したソフトウェア開発」について同社の中林 誠治氏にお話を伺いました.
●FM3から,更なるラインナップ強化へ―― FMファミリの新展開
―― ARM Cortex-Mマイコンの構成について聞かせてください
中津浜氏:まず,スパンション・イノベイツは,富士通セミコンダクターにて長年実績のあるマイコン・アナログ製品事業を信頼性の高いフラッシュ・メモリで知名度の高い米国 スパンション社へ譲渡される形で出来た会社です.スパンション社の持つ最先端のフラッシュ・メモリの技術と,富士通セミコンダクター時代から培われてきたマイコンの技術が融合することで,スパンション社として更なる魅力ある製品を市場に展開していくことが可能となりました.
スパンション FMファミリ(図1)は,現在Cortex-M3を搭載した「FM3ファミリ」を中心に,よりハイパフォーマンスなシステムに最適なCortex-M4Fを搭載した「FM4ファミリ」,ローパワー・システムに最適なCortex-M0+を搭載した「FM0+ファミリ」の三つで構成されています.
マイコンはハードウェアのみならず,ソフトウェア(プログラム)開発も重要なファクタであると認識しています.マイコン・ビジネスの展開として,ハードウェアの提供だけではなく,プログラムのリファレンスとなる周辺機能のドライバ・ソフトやよりユーザのシステムに近いソリューション・コンテンツもサンプルとして提供することを視野に入れています.
「FM ファミリ」としては,ファミリ間での製品置き換えをスムーズに行えるよう,端子のレイアウトやマイコン内部の周辺機能の共通化を図って設計しています.ユーザの開発工数が削減できる仕組みも考えていきます.
―― FM3ファミリの展開は
中津浜氏: FM3ファミリは,現在約570品種の製品展開を行っています.さまざまな民生機器,産業機器に提案できるよう,四つの製品グループでラインナップしています.一つ目は,スタンバイ時の電流を極力抑えるバッテリ搭載のアプリケーションに最適な「Ultra Low Leakage Group」,二つ目は,動作時の電流を極力抑えた「Low Power Group」,三つ目は白物家電向けで5.5V動作が可能な「Basic Group」,四つ目は144MHzまでの動作周波数に対応した,特に産業用アプリケーションに最適な「High Performance Group」となっています.現在も継続してラインナップ展開を行っており,例えば32pinパッケージ製品や,最大1.5MBのフラッシュメモリを搭載した製品をラインナップに加えています.
―― FM4ファミリの展開は
中津浜氏:「FM4ファミリ」は,「FM3ファミリ High Performance Group」より更に高いパフォーマンスを必要とするアプリケーション向けに,DSP命令やFPU命令に対応したCortex-M4Fを搭載した製品群となっています.想定するターゲット・アプリケーションとして,高い演算能力が要求される産業用ロボットやインバータ機器などが挙げられます.「FM4ファミリ」のみで約240種の製品展開を行っていますが,更に製品ラインナップを広げていきます.現在は最大動作周波数160MHzですが,将来的には200MHz動作品の準備や,2MB以上のフラッシュメモリ搭載品も検討しています.
―― FM0+ファミリの展開は
中津浜氏:FM3ファミリの「Low Power Group」や「Ultra Low Leakage Group」の後継として,Cortex-M0+を搭載した製品群が「FM0+ファミリ」となります.二つの製品グループを計画しており,一つ目は8,16ビット・マイコンが採用されているアプリケーション領域をターゲットとした「Entry Group」,二つ目は更なる低消費電力実現のために最適化された「Ultra Low Power Group」になります.
想定するターゲット・アプリケーションとして,「Entry Group」は8,16ビットマイコンが多く採用されている小型家電など,また,「Ultra Low Power Group」はスマート・メータやウェアラブル端末などIoT(Internet of Things)向け製品を考えています.既に「Entry Group」の第一弾として,40MHz動作,32,48ピンの製品をサンプル出荷しています.「Ultra Low Power Group」の製品に関しては,2014年中に発表を予定しています.
●一歩先を行くソフトウェア開発 ―― 仮想環境を利用したソフトウェア開発のススメ
―― 仮想環境とはどのようなものでしょうか
中林氏:まず,言葉の定義として仮想化とは,実際に存在する「モノ」の機能や振る舞いを「別の方法」で再現することです.今回の場合,「モノ」がマイコン基板(実機)などのソフトウェア開発環境です.「別の方法」がハードウェアのシミュレータとなります.
具体的には,パソコンの中に「ソフトウェア開発環境」を仮想化し,実機無しで,ソフトウェアの開発を行います.仮想環境としては,実機に搭載されている,マイコンのCPUコアや各種ペリフェラルの動作をシミュレータで模擬して,実機同様にソフトウェア・デバッガを接続し,デバッグ作業を行います.また,ユーザのシステム・デバイスについても,デバイス・シミュレータ(制御対象)として接続します.
―― バーチャル・スタータ・キットを公開します
中林氏:これまで,仮想環境に興味がある一部のマイコン・ユーザ向けに,仮想環境を提供してきました.今回(2014年6月予定)は,多くの方に仮想環境を利用してもらえるように,評価版のバーチャル・スタータ・キットを無償でWeb公開します.
キットの構成(図2)として,まず,FM3を仮想化した「マイコン・シミュレータ(Micorcontroller Simulator)」となります.ソフトウェア・デバッガとして,EclipseやIAR Embedded Workbenchなどのgdbベースのデバッグ・インターフェースをサポートしているデバッガが接続可能です.これにより,ソフトウェアのデバックが行えるようになります.
他には,ネットワーク通信内容を確認する「Terminal Emulator(ターミナル・エミュレータ)」があります.これはtelnetやTeraTermなどのターミナル・プログラムを,マイコン・シミュレータのUARTのシリアル・ポートに接続して利用できます.
「外部デバイス(External Devices」には,モータなどの制御対象のシミュレータを接続します.評価版では,スイッチやスライダといった簡単なGUIプログラムをご用意しました.今後はさらにこの外部デバイスのシミュレータを増やしていきます.
波形ビューアとなる「Hardware Trace Monitor(ハードウェア・トレース・モニタ)」は,マイコン内部のピンの信号をロジック・アナライザのように可視化します.
今回の公開では,まず,FM3ファミリから1品種をリリースします.今後は品種を増やし,また,FM4,FM0のファミリも展開する予定です.
―― 市販されている他のシミュレータとの違いは
中林氏:シミュレータ機能を搭載した市販ツールとしては,IDE(Integrated Development Environment)に搭載されているCPUシミュレータやEDAベンダが提供しているESL(Electronic System Level)ツールが挙げられます.前者は,CPUとメモリのみを搭載した簡易シミュレータであり,アプリケーション開発やドライバ開発等のマイコン機能を必要とする用途では利用できません.後者は,シミュレータ(ハードウェア機能)そのものを開発するための環境でもありますが,シミュレータの開発技術が必要になることと,高価であるため,簡単に手を出せるものではありません.
バーチャル・スタータ・キットは,マイコン・ベンダ(弊社)が自社開発した,マイコン機能が既に搭載されているソフトウェア開発環境です.そのままの状態で,マイコンの各種ペリフェラルを利用したソフトウェアを動作させることが可能です.本キットを利用するために,特別な技術は必要ありません.
―― ソフトウェア開発は,実機と同じようにできますか
中林氏:ソフトウェア開発といっても,さまざまです.仮想環境が得意とする開発と不得意な開発があります.例えば,カーネル・レベルで,サイクル精度が要求されるドライバ・ソフトの開発は不得意です.しかし,ドライバ・ソフトの上で動くアプリケーション・ソフトの開発は,ほぼ100%出来ると思います.弊社でのソフトウェア開発の例でいうと,仮想環境ではデバッグが困難なタイミングに起因するバグは,全体の約5%ぐらいです.残りの95%は,仮想環境でデバッグ可能です.そこで,弊社では仮想環境と実機環境を使い分けるような提案を行いたいと考えています.
―― すでに仮想環境を使用されているユーザの感想はいかがですか
中林氏:すでに利用されているユーザの中には,FM3のマイコン・シミュレータにMATLAB/Simulinkで仮想化したモータを接続して,ソフトウェア開発を行っているユーザもいます.さらに,機械系CADとの接続も可能なのでワン・ランク上のシステム・シミュレーションも可能になると思います.仮想化技術は,機械系の設計分野が進んでいます.メカトロニクスの分野では,仮想化されたシステムを仮想化されたマイコンやソフトウェアでシミュレーションしたいという要望も上がってきています.
マイコンを使用した,組み込み分野での利用は,これからだと思います.しかし,スマートフォンでのアプリケーション開発ではAndroidシミュレータが一般的になってきています.組み込み分野でも,仮想化技術を応用したさまざまな展開が期待されます.例えば,マイコン・ユーザの機能に関するニーズの試作や,開発ツール・メーカが,マイコン・シミュレータを利用して,開発ツールの機能を開発するなどさまざまな展開が考ええられます.
―― ユーザの導入におけるポイントは
中林氏:まず,ソフトウェア開発のプロセスを変えていく必要が出てくると思います.今までであれば,実機(ハードウェア)が出来てから,ソフトウェア開発を開始しています.しかし,これからは,実機を待たずに,実機開発と同時にソフトウェア開発を進めて,初期段階で仕様に係わる大きなバグを取り除いて欲しいと思います.仮想環境をソフトウェア開発に利用することの一番のメリットは,開発終盤で起こる主要なソフトウェアのバグを早期に取り除くことにあると思います.このメリットは,ソフトウェアが占める割合が大きなシステムほど,大きな効果を得られるでしょう.
■記事に関するお問い合わせ先 Spansion Inc. スパンション・イノベイツ(株) 〒211-0004 神奈川県川崎市中原区新丸子東三丁目1200番地 KDX武蔵小杉ビル http://www.spansion.com/JP/ |