ヘテロジニアスをどう料理するか?ローターバッハを選ぶ理由は、違いすぎる経験値。

富士通コンピュータテクノロジーズ(略称:FCT)とローターバッハの両者が注力する、新たな取り組みを前号(オープンソースでの開発の秘訣)に引き続き紹介しよう。今号はマルチコア・マルチOSがテーマだ。ARM®の世界ではヘテロジニアス・マルチコアは当たり前になってきているが、それを動かすOSはまだまだ課題が多い。ここではFCTが提供するLinuxとμT-Kernelを中心に、それを支えるローターバッハのデバッグツールの役割について掘り下げてみた。

メインイメージ

オープンソースであるLinuxとμT-Kernelを活用

富士通コンピュータテクノロジーズのマルチコアへの対応について教えてください。

FCT浅羽:私は、現在Linuxの開発を担当しています。10年くらい前は富士通の半導体部門に在籍し、マルチコアのデバイス開発に携わってきました。当時は汎用SoCではなくASICでのマルチコアが主流でした。汎用SoCではモバイル向けのCPU + DSPを搭載するデバイスが最初の流れではないでしょうか。コンピュータの世界では同種のコアを複数搭載したホモジニアス(マルチコア)が主流となっていますが、組み込みの世界ではヘテロジニアス(マルチコア)への需要が多いのも事実です。

FCT飯田:FCTは、独自OS時代も含めてすでに30年近くも組み込みOSを開発しており、ここ十数年はLinuxが中心となっています。これまでに100を超える製品に実装しており、Linuxだけでも50製品くらいとなります。リアルタイムOSは私が担当しているμT-Kernelを用意しています。

FCT浅羽:LinuxとμT-Kernelはいずれもオープンソースなので、いざソフトウェアを調達するとなるとすべてユーザー側で準備や開発を行わなければならないなど、多くのユーザーにとって敷居の高いものとなっています。FCTとしては、これを吸収するため、さまざまな半導体ベンダーから提供されるデバイスをサポートしています。

どのようなデバイスでしょうか?

FCT浅羽:ET2013などでは、ローターバッハ様と富士通コンピュータテクノロジーズ(略称:FCT)のブースでフリースケール社のVybridコントローラを使ったデモを展示しました。Vybridは、Cortex®-A5とCortex-M4が搭載されたヘテロジニアス・マルチコアのデバイスで、デモではフリースケールのVybridが搭載されたTower Systemモジュールを用い、Cortex-A5でLinuxを動作させてグラフィカルな表示を行い、Cortex-M4ではμT-Kernelを動かしてリアルタイム処理を行いました。FCTのLinuxは、MMUが搭載されている一般的なARMコアをターゲットとしていますが、MMUがなくても対応は可能です。また、Linuxだけの搭載例としてM2M(Machine-to-Machine)向け通信ゲートウェイ「FUJITSU Managed Infrastructure Service FENICSⅡ M2M-GW」もあります。

FCT飯田:μT-Kernelは、T-Engineフォーラムのメンバーになって作成しています。Cortex-M3への実装についてはT-Engineフォーラムから公開されていますが、FCTがμT-Kernelを手がけたときには、まだリファレンスがない状態だったため、プロセッサに依存する箇所をスクラッチで開発しました。

機能の切り分け評価はFCTの強みを発揮できるところ

FCTからのサポート内容を教えてください。

FCT森住:OSは独自にしてもオープンソースにしても、サポートが重要な製品です。特にLinuxのようなオープンソースでは、想定外の使われ方により問題が発生することがあるため、サポート専任部隊が必要になります。いわゆるコールセンター的なサポートではなく、発生した問題のデバッグなどのサポートも製品開発の一部として位置づけています。富士通コンピュータテクノロジーズ(略称:FCT)では、LinuxおよびμT-Kernelの開発経験が豊富なため、過去の経験を活かしたきめ細かいサポートが可能になっています。

実際にどのようなアプリケーションを想定していますか?

FCT浅羽:リアルタイム処理をしながらインテリジェンスな処理が必要なシステムとなります。たとえば、Cortex-M4とμT-Kernelでモータ制御などのリアルタイム処理を行いながら、Cortex-A5のLinuxでグラフィカルな表示や通信などを行わせるようなアプリケーションです。

FCT飯田:システムが落ちる要因の多くは、システムを作ったときには想定できなかった機能を追加することで、システムが不安定になることが多いからです。スマートフォンがその代表例でしょう。

FCT森住:リアルタイムOSだけでも画面表示はできますが、それを行うには多くの工数とコストが必要になってしまいます。

FCT浅羽:ある機能をLinuxで行うか、μT-Kernelで実行させるかなど機能の切り分けは、設計のスタート時に誰もが悩むものです。FCTとしては、LinuxとμT-Kernelの両方にデバイスドライバを用意し、コンフィグで切り替えることで評価できる環境を提供しています。FCTはワンストップで、LinuxおよびμT-Kernelの両方を開発しサポートしているので、開発時や問題発生時のコアの切り分け評価などはFCTの強みを発揮できるところです。

経験上ローターバッハの製品は最強クラスのデバッガ

マルチコアのデバッグについて教えてください。

ローターバッハ香川:弊社の製品は、かなり以前からマルチコアのデバッグに対応してきており、豊富な実績を持っています。ちなみに、FCT様には、JTAGエミュレータのPowerDebugⅡとリアルタイムトレースのPowerTrace、両デバッガで共通に使えるTRACE32-PowerViewを採用いただいています。加えて、ロジックアナライザも導入いただいています。弊社のツールであればVybridのようなヘテロジニアス・マルチコアのデバッグとトレースができます。さらに、コア間の同期を取ることにより、双方のコアが同じタイミングで実行している命令を知ることもできます。しかも、同期および非同期でも止められるので、アプリケーションを作りたてでロジックまでデバッグするときは非同期で一方のコアだけ止めたり、再現性の低いバグであれば同期で全部止めて両方の状態を見るなど柔軟に使い分けられます。

FCT森住:バグは、デバッグコードを1行追加しただけで再現しなくなることもあります。製品搭載するソフトウェアそのままでもデバッグできるツールが必要ですが、ローターバッハ社製品は、製品コードそのままでデバッグできるので大変助かっています。

ローターバッハ香川:CPUコアの実行状態を保ったままデバッガ接続を行うこともできますが、どのような使用状況でも最も安定したデバッガだというユーザーからのご評価をいただいています。

FCT飯田:最近その機能は、他社でも対応をはじめていますね。ただ、私の経験上ですが、総合的にローターバッハ社のデバッガは飛び抜けた性能を持っていると言えます。

ローターバッハ香川:2013年の8月には、Cortex-Mシリーズ専用の統合開発環境であるμTraceを発売しました。お求めやすい価格を実現しつつも、デバッグに加えETMトレースもできる高機能な製品となっています。さらに、トレース情報は、256Mバイトの内蔵メモリに加え、ホストPCのハードディスクにも記録でき、発生頻度の低いバグにも有効です。2個以上のCortex-Mコアのマルチコアデバッグも可能となっています。

ローターバッハ中村:ハードディスクには膨大なデータが記録されるのですが、デバッガに備わっているさまざまな検索機能を活用することで、比較的容易に解析することができます。

デバッグ経験者であれば直感的に分かる

ローターバッハからのサポートについて教えてください。

ローターバッハ中村:技術サポートとしてのご要望はほとんどありません。それだけ、製品の成熟度が高いと自負しております。よくお問い合わせをいただく内容としては、取扱説明書の内容や初期設定についてですかね。

FCT浅羽:ローターバッハ社の製品は、デバッグ経験者であれば直感的に分かるようにできています。特に富士通グループ内ですと、富士通コンピュータテクノロジーズ(略称:FCT)を窓口にしてローターバッハ社の製品を導入する部署も多く、FCTのOSに向けたデバッガという位置づけになっています。それと継続して使えるのが魅力ですね。事実FCTも10年前に導入したARM9用のデバッガをいまだに使用しています。

ローターバッハ香川:ソフトウェア保守に入っていただければ、新しい派生コアデバイスへの対応が可能となります。また、各CPUアーキテクチャ向けのプローブを追加するだけで、本体のハードウェアはそのままで新たなターゲット環境でも使うことができます。

FCT浅羽:最近の案件では、ARM以外のコアからARMコアへの置き換えが多いことです。富士通グループではPowerPCを使っている製品が多く、ARMへ置き換えるときのネックのひとつがデバッガの使い勝手となります。PowerPC向けのデバッガは選択肢が少なく、大多数の開発者がローターバッハ社のデバッガを使用しています。ARMへ置き換えるとき、プローブだけ購入すれば使い慣れたインタフェースで作業ができるというメリットがあります。さらに、最新のARMコアにもタイムリーに対応しているので、安心して最新のデバイスを選定できると思います。

ローターバッハ中村:PowerPCは携帯電話の基地局や車載機器などに多く使用されていますが、ARMへの移行の話も耳にします。

FCT浅羽:ARMコア搭載製品は複数のベンダーより提供されており、PowerPCよりも購入しやすくなっています。同じARMコアであればソフトウェア資産を流用できる部分も多いのですが、PowerPCだとそれが難しいでしょう。また、生産台数の点からASICを起こすことが難しいアプリケーションなどは、FPGAをそのまま採用することもあります。ARMコア搭載のFPGAがベンダーからも提供されていますので、そういったデバイスにもローターバッハ社のデバッガは有効ではないでしょうか。

ローターバッハ香川:日本独自の戦略として、口コミによる拡販効果を狙っています。APSでFCTさんとご一緒いただいているのもその一つです。FCTさんのように弊社の製品で大きな成果を上げているお客様の評価は、私が100回訪問営業するより効果があると感じています。

64ビットARMコア+Cortex-Mマイコンへの対応にも期待

今後の展開と読者にひとことをお願いします。

ローターバッハ香川:弊社は30年以上の歴史があり、ワールドワイドのシェアはあくまで推定ですが約40%を占めています。最新デバイス、最新コアでも、ユーザーが開発を始める段階では、すでにサポートができる体制になっています。ヘテロでも、メニーコアでも、これまで通り豊富な経験値でサポートさせていただきます。欧米から、弊社の製品が驚くような使われ方をしている話が届いています。今後はそういった事例も紹介していきますので楽しみにしていてください。

FCT浅羽:今後は、64ビットのARMコア+Cortex-Mといったマイコンも登場するでしょう。すでにローターバッハ社のツールは、64ビットマイコンにも対応していますし、64ビットARMコアを含んだヘテロジニアス・マルチコアマイコンが登場したときにいち早く対応していただけると思っています。

FCT飯田:これからも新しいデバイスが登場したときは、ローターバッハ社ならいち早く対応していただけると確信していますし、非常に頼りになる存在です。64ビットの世界でも安心して使えると思います。先ほども話が出ましたが、口コミは重要ですね。私もユーザーですが、「ローターバッハ社のデバッガなら間違いないですし、一度使ったら手放せない」と自信を持っておすすめできます。

ローターバッハ中村:現在、弊社が完全にサポートし切れていない分野もあり、それを本社の方でどう見ているかも注視しています。そのひとつとして、仮想化があります。今後上位の機種では必ず出てくる大きな課題で、一部ではサポートをはじめているのですが、今後の動きを待っているところです。

FCT浅羽:FCTとしても仮想化は研究段階ですが、すでに取り組んでいます。いままで複数のチップで実行していた処理をシングルチップで実行するとか、処理の二重化など、まさに仮想化の世界ですので、今後は確実に増えていくでしょう。最後にFCTのようにLinuxとμT-Kernelという、オープンソースの汎用OSとリアルタイムOSを取り揃えているところは希です。組み込みOSでお困りでしたら、是非FCTへお声がけください。別に富士通のマイコンでなくても構いません(笑)。

本日はありがとうございました。