カー・ナビも、いよいよARMへ。グローバル化の流れを支援するYDC。

ECLIPSE(イクリプス)ブランドのカー・ナビゲーション・システムを展開している富士通テン。今後の製品展開にARMマイコンを加え、グローバル化に向けた動きを加速させるなか、その開発パートナーに選ばれたのが横河ディジタルコンピュータ(以下、YDC)である。ここでは、富士通テンでカー・ナビゲーション・システムのソフトウエア開発を担っている籠谷氏と日下部氏をお迎えしてお話を聞いた。

メインイメージ

スマート・フォンではできないサービスに付加価値を付けて提供

現在、スマート・フォンでもナビゲーションができるようになっています。携帯電話でのナビとカー・ナビゲーション・システム(以下、カー・ナビ)の違いについてお聞かせください。

籠谷:自動車に搭載されるカー・ナビは、長年蓄積されたノウハウが集約されています。たとえば、位置情報や案内の精度、車載機としての操作性などは、確実にカー・ナビが上回っています。

仮屋:スマート・フォンのナビ機能は歩く速度に合わせたもので、自動車では地図情報をダウンロードしている間に通り過ぎてしまいます。今後、カー・ナビは、単なるナビ・システムを超えて車のアシスタント・システムへと進化していくのではないでしょうか。例えば勾配情報でエンジンを制御するECU(Electronic Control Unit)などもそうですが、機能安全までも考慮することが必要となってくるでしょう。

籠谷:カー・ナビは、AV(Audio/Visual)機能やテレビ受信機能、通信機能など多くの機能を搭載するまでになっています。しかも車両のデータまで受け取り、車速を表示するなど多機能化しています。スマート・フォンでは、車両の情報まで受け取っていません。これからは、スマート・フォンではできない付加価値の高いサービスを提供していくようになると思います。

日下部:現在、カー・ナビは、パソコンのように何でもできるようになっています。今後は、AV家電などを手軽に接続できるようにDLNA(Digital Living Network Alliance)と連携していくのが新しい領域だと思います。

桑原:富士通テン様は、自動車メーカ純正向けと、独自のECLIPSEブランドの製品を開発/提供されていますが、それぞれでサービス内容を変えているのでしょうか?ECLIPSEブランドでのサービス内容を強化することで、自動車メーカもそれを使いたいという要望が出てくるのではないかと思いまして。

籠谷:それはありますね。最近では目玉となる機能はほとんど出尽くしてしまった感もあります。そこで、携帯電話でインターネットと繋ぐことで、車の外から情報を持ってくる方向になっています。そういったアイデアをECLIPSEブランドにどんどん突っ込んでいき、そこで獲得したものを自動車メーカに採用してもらおうという動きはすでに始まっています。

組み込みソフトウエア開発に見える化のツールの必要性が増す

組み込みソフトウエアでもモジュール開発が進んでいるようですが。

仮屋:モジュール開発はすでに自動車では先行していますが、まだまだ一般化していないのが現状です。現在、組み込みソフトウエアでCやC++を用いるのが当たり前であり、若いエンジニアにはそれ以外に何があるのかと言われてしまいます。10年後はモジュール開発が当たり前になっているでしょう。モジュール開発ではその部分がブラックボックス化されてしまい、システム全体が見えなくなってしまいます。そのため、V字開発などのモジュール開発ではデバッグのためのツールが不要になってしまいますが、逆に必須となるがパフォーマンスを出すためのツールです。

籠谷:いわゆる見える化のためのツールですね。開発したものをいかに見える化していくか、ということは非常に大切です。大規模開発では特にそうで、昔みたいに関数をブレークしてなんて評価はできません。YDCのツールを用いることで見える化して、いまソフトウエアでどのような挙動が起きているかを把握できることを期待しています。

仮屋:われわれとしては、そのレポートを出すまでのお手伝いはできます。しかし、出た結果の真義までは判断できません。その判断のための条件を定義されるのは富士通テン様ですが、挙動を見える化し、どの部分をチューニングしていくかを的確に判断することで、限られた時間や資源をより有効に活用することができます。また、ARM社でこのアセンブラの動きは正しいかなどデータを取ってもらい、YDCとしてはそれをベースにローカライズしていくことも課題です。

籠谷:そのローカライズをマイコン・ベンダが行い、その情報をセット・ベンダ側に伝えて欲しいですね。

お客様の声をARMへフィードバックすることでツールを進化させる

組み込みソフトウエアの大規模化、複雑化が叫ばれて久しいですが、その現状についてどのようにお考えになっていますか。

飯塚:Androidスマート・フォンは、さまざまなメーカから提供されています。Androidアプリケーションならメーカが異なっても動作するため、端末のチューニングの違いが明確になってしまいます。そこで問題なのが、割り込みのレベルを意識していないなどアプリケーション・エンジニアが端末のプラットフォームそのものを理解していないことです。組み込みシステムを知らないエンジニアに、いかに組み込みシステムを分かってもらうかが課題ですね。

桑原:エミュレータからキャッシュのヒット率を見られないかというニーズがあったのですが、ヒット率が見られたとしてもそれだけで終わってしまうことが多いのも事実です。ARMプロファイラは、開発サイクルを回すことで最適化を図っていくものです。それでも、お客様からのフィードバックがないとプロファイルの精度は向上しません。YDCとしては、ARMと共同開発していく中で、お客様の声をARMへフィードバックしたり、ARMと協業してお客様のニーズに合わせた機能を開発していきます。ツールで自動化するというソリューションはARMも興味を持っていますが、非常にハードルが高いのも事実です。

日下部:いまはコンパイラー頼りですが、そういったツールがあると便利ですね。

仮屋:ツールの進化もありますが、いまは対象そのものが進化しており、それに付いていっているというのが正直なところです。たとえば、Linuxではどのタスクがどう動いているのかまで把握していないとアプリケーションのデバッグはできません。Linuxでは、MMU(Memory Management Unit)やキャッシュがあり、同じ事象が二度と再現できないこともあります。そういったOSの挙動は、自動車業界が最も忌み嫌うものでしょう。

われわれが気付かなかったところまで見てくれる

YDCを選択した理由を教えてください。

籠谷:YDCさんとは、ARMマイコン・ベンダ様からご紹介いただいたのがはじまりで、その時に提供されているさまざまなツールについてご説明をいただきました。

日下部:マイコン・ベンダとの打ち合わせにも入っていただき、JTAG(Joint Test Action Group)と繋ぐ回路設計も見ていただきました。YDCさんがいなかったら治具基板さえ完成することはできなかったですね。

桑原:ツールベンダとしてデバイスベンダとは定期的な打ち合わせを行っていますので、お客様のニーズを伝えやすい環境にあります。

仮屋:ツールベンダとしてお客様が何をどのようにデバッグしたいのかを考えています。たとえば、デバッグ回路をマイコンにインプリメンテーションする際、ピン数と納期の関係から最適解を探るのも仕事のひとつです。

日下部:われわれが気付かなかったとろまで見てくれる点が良いですね。YDCさんはツールのバリエーションが豊富で、1社でそこまで揃っているところは希だと思います。そのなかでも特に重視しているのが、発生頻度の極めて低い事象を確実に捉えることです。

飯塚:極めて希な事象でも捉えることができるように、対象を大きく広く取れるようにしているのも最近の傾向といえます。これまでは、いかに高度なことができるかが前提となり、専門知識もかなり必要とされるツールを提供していましたが、最近では簡単に使えるツールへシフト・チェンジをしています。

籠谷:最近のエンジニアは、そういった事象を捕まえているのにちょっと見ただけで直ぐにリセット&ゴーしていまいます。

日下部:車のノイズによる20万回の電源変動試験を何週間もかけて行っています。何か事象が発生したときにそのダンプを取れるとありがたいですね。

仮屋:まさにそれを狙って作っています。最近のエンジニアは、エミュレータを後から繋げるメリットが分からない人が多くなっています。

飯塚:不具合は必ず再現できると思っているのでしょうね。

日下部:国産マイコンとARMマイコンとでJTAGピンの配置が異なっていたのをこちらが気付かず苦労していたときにYDCさんに助けていただきました。

仮屋:こちらのエンジニアがそれに気付き、ジャンパーを飛ばして対処できたことですね。

籠谷:こんなことでも3~4日も無駄にすることがあるんですよ。そこを一発で動かしてもらったことには大変感謝しています。

ロードマップがしっかり示されていたARMマイコンを採用

ARMマイコン採用の経緯を教えてください。

籠谷:従来から採用していた国産マイコンでは、今後のロードマップに限界が見えてきました。そこでロードマップがしっかり示されているARMマイコンを選択しました。

仮屋:ARMアーキテクチャを採用したマイコンは、さまざまなマイコン・ベンダから提供されており、ユーザとしては幅広い選択肢がありますね。切り替えに際して、それぞれの比較を行ったのでしょうか。

籠谷:コアは同じなのですが、各社でそのインプリメンテーションの仕方はまちまちです。マイコンとしての付加価値をどう出しているかを比較するため、メモリやキャッシュ、周辺機能などを見ました。

日下部:ARMマイコンに限らずマルチコアになると、ソフトウエアの開発も大変になることに加え、デバッグもより膨大になります。それについてYDCさんはどのように考えていますか。

仮屋:デバッグについては、下回りを含めたシステムとより上位のアプリケーションとでは、使われるツールが異なってくると思います。すべてを1種類のエミュレータで行う時代ではありません。

飯塚:ARM純正開発ツールであるDS-5は、まさにそのコンセプトで作られたものです。DS-5 には3つのエディションが用意されており、お客様の開発内容・規模・利用シーンに合わせて、選択していただけます。DS-5 Application Editionは、エミュレータを使用することなく、Linuxアプリケーションの複数の同時デバッグ・セッション、SMP(Symmetric Multiprocessing)システム、マルチスレッドをサポートします。もう一方のDS-5 Linux Editionは、エミュレータを使用してJTAGまたはSWD(Serial Wire Debug)接続することで、カーネル空間やブートローダのデバッグもサポートすることができます。

桑原:今後の製品は、システム部分まで自社で開発するか、その部分は購入しチューニングするかという二極化に進むと思います。

日下部:車向けの評価ツールは、速い起動が求められたり、エンジン停止の状態で消費する暗電流があったりなど特殊な環境への対応が求められています。

仮屋:一般機器に向けたツールは低価格で提供されることが多いのですが、車向けにチューニングされたものはある程度の金額にならざるを得ないというのが現状でしょう。

最後にARMマイコンを採用しようと考えているエンジニアにメッセージをお願いします。

日下部:いままでの国産マイコンとARMマイコンでは、アセンブラが全く異なります。私は、YDCさんのARMトレーニングを受けたことで、かなり早い段階で理解が深まりました。ARMマイコンは、ブートや割り込みなどさまざまな命令が用意されており、それらをゼロから開発するのではなく、うまく組み合わせるコーディネイト力が求められます。

籠谷:いままで国産マイコンの世界にいたのですが、市場がグローバル化するなか、マイコンもグローバル化していくのは必然的な流れでしょう。付加価値の高いシステムは進化の速度も著しく、それに乗っていくには変化を恐れないことだと思います。特に日本の組み込みエンジニアは変化を嫌う人が多いのですが、いったん飛び越えないと将来はありません。

籠谷様、日下部様、本日はお忙しい中誠にありがとうございました。ARMが搭載された新しいカー・ナビ、心待ちにしております。