組込み総合技術展「ET2010」会場レポート

ET2010展示会場から(2)――組込みインフラと開発ツールの進化

組込み総合技術展「ET2010」レポートの第2弾。引き続き各社のブースを紹介しよう。

ARMは1秒ちょっと、Atomも4秒以下でLinuxを起動させる――リネオソリューションズ

ET2010で、展示品はすべて新製品と主張しているブースを発見した。リネオソリューションズは、開発ツールやデバッグツール、ミドルウェアの提供、システムの設計・構築など、組込み業界のソリューションベンダーとでもいえる企業だ。

リネオソリューションズのブース
リネオソリューションズのブース

同社のブースでは、主だった展示はすべて新製品ですと紹介されたので、さっそくいくつか説明してもらうことにした。まず、⁠Warp!!」は、OSの起動時間を短くしてくれるソリューションだ。原理は、Flashメモリなどに、カーネルがブートされ、所定のアプリケーションが起動された状態のイメージ(システムメモリやレジスタの内容)を保存しておき、電源投入時にスナップショットイメージからすぐにシステムを起動させるというものだ。

ブースでは、ARMチップが搭載された評価ボード(Armadilloだった)の起動をデモを行っており、時間は1.33秒と表示していた。Atomの評価ボードではBIOS起動後なら3秒台で起動するとして、チューンしたBIOSなら10秒以下の起動も実現しているという。Google TVを想定したWarp!!のデモ機や電子ブック端末の起動デモなども行われていた。電子ブック端末は6秒ほどで起動する。

なお、システムのスナップショットはFlashメモリに保存されるので、待機電力を必要としないコールドブートでこのような高速起動を実現できるのも特徴だそうだ。

Warp!!の実装例:電子ブックリーダの開発プラットフォーム
Warp!!の実装例:電子ブックリーダの開発プラットフォーム
写真奥のAtomボードは3.68秒(BIOS起動後⁠⁠、右手前のARMボードでは1.33秒でアプリケーションまで起動させることができる
写真奥のAtomボードは3.68秒(BIOS起動後)、右手前のARMボードでは1.33秒でアプリケーションまで起動させることができる
Android TVを想定したデモ機の実演
Android TVを想定したデモ機の実演

次に説明してくれたのは、⁠Vzet」というデバッグツールだ。Vzetは、Linux KernelのftraceログとAndroidログを統合化し、可視化してくれるという。ftraceのログをカーネルレベルの各スレッドをタイムチャートとして表示しながら、アプリケーションの状態(Androidログからの情報)も同じチャート上で確認できるようになっている。トレース情報はマルチコアにも対応している。

組込みデータベースのソリューションも展示していた。これは通常の組込みデータベースミドルウェアを提供するというだけでなく、工場などのセンサーネットワークのコントローラにDBを実装し、各種センサーの情報をコントローラの中でDB管理するという展示だった。コントローラに蓄積されたデータは、PCなどからのSQLアプリケーションで閲覧したりレポート出力を行う。データベース管理システムがコントローラの中にあるので、わざわざデータベースサーバなどを用意する必要がない。なお、このシステムに利用されている組込みデータベースはMimer Embeddedだそうだ。

業務機器の展示としては、業務端末向けソフトウェアのリモートアップデートシステムも紹介してくれた。業務端末や制御機器のOS、アプリケーションなどをIPネットワークによって統合的にリモートアップデートを行うシステムだ。このシステムは、ソフトウェアやデータの配信だけでなく、各端末のOSやアプリのバージョン、稼働状況、ステータス情報などをリアルタイムで監視できるようにもなっている。システムのメンテナンスだけでなく、モニタリングが可能ということだ。アップデートやモニタリングは、グループ分けなど一定のアクセス制御が可能なので、かなり細かい管理もできそうだった。

Vzetのトレース画面。タイミングチャートのようにスレッドの状態が可視化される
Vzetのトレース画面。タイミングチャートのようにスレッドの状態が可視化される
アプリケーションの状態を見るため、Androidログをポップアップさせる
アプリケーションの状態を見るため、Androidログをポップアップさせる

機能安全ISO26262の適合チェックソリューション――東陽テクニカ

ET2010の東陽テクニカのブースでは、QAC/QAC++に関連した開発支援ツールの展示が行われていた。今回の展示でフューチャーしていたのは、⁠機能安全」管理に関するソリューションだった。機能安全とは、簡単にいうと所定の機能が正しく働かなかった場合のリスクを社会的に許容できる範囲まで制御するという考え方だ。自動車や制御系では、とくに重要視される概念であり、ISOでは26262として機能安全の基準やプロセスが規格化されている。

東陽テクニカのブース
東陽テクニカのブース
機能安全とQACの解説パネル
機能安全とQACの解説パネル
Webベースの解析情報管理ツールの画面
Webベースの解析情報管理ツールの画面

ブースでの展示内容は、⁠QAC/QA MISRA」によるソフトウェアのユニット設計と実装フェーズの支援を行うものと、ソフトウェアのデバッグ情報や解析結果を可視化するものだった。前者は、ISO 26262における「安全ライフサイクル」のうちソフトウェア開発に関わる部分について、設計やコーディングがどの程度ISO 26262に適合しているかのチェックができるというものだ。後者は、QAC MISというWebベースの情報管理ツールをデモしながら、ソフトウェアの解析結果を表示させていた。

QAC MISの解説パネル
QAC MISの解説パネル
解析情報などをグラフ化する
解析情報などをグラフ化する

ユーザーモードでデバイスドライバ開発――エクセルソフト

デバイスドライバの開発といえば、当然デバイスの動作と密接にからんで物理レイヤやタイミングを考慮した高度なプログラミングの話になりそうだが、もっと上位のレイヤでデバイスドライバの開発を支援するツールキットをET2010の会場で見つけた。

エクセルソフトのブース
エクセルソフトのブース

そのツールキットは、エクセルソフトのブースでデモが行われていた「WinDriver」である。具体的には、検出されたハードウェアに対して、ウィザードI形式(GUI)でレジスタの値や動作コマンドを指定すると、自動的にデバイスドライバのコードを生成してくれる。この生成コードはいわばテンプレートなので、最終的には細かい微調整が必要だが、基本的には、カーネルの深い知識がなくてもデバイスドライバが開発できるという。

WinDriverでの開発デモ風景
WinDriverでの開発デモ風景
ドライバ開発キットWinDriver
ドライバ開発キットWinDriver

このことは、デバイスドライバをユーザーモードプログラムのように開発できるということだそうだ。生成されたデバイスドライバはアプリケーションの中に組み込むこともできるし、DLLファイルに落とすことも可能だそうだ。

このような開発手法がとれるなら、デバイスドライバ開発のハードルを下げ、アプリケーション開発の効率を上げることができる。また、制御するデバイスの機能が限定されるような場合、ベンダーが提供するドライバを使うより、コンパクトなサイズにすることも可能だ。PCI-ExpressやUSBに接続された簡単なデバイスで、レジスタの値を制御したいといった基本的なデバイス制御部分を簡単に開発したい場合には、このWinDriverが活躍できるとのことだ。

OSはWindows 7、CE、Mac OS、Linux、Solarisなどに対応している。開発環境としては、Visual Studio 2010もサポート済みだそうだ。他にもGCCやBorland C++にも対応している。

ドライバの機能設定画面。ここで入力した内容のデバイスドライバコードが自動生成される
ドライバの機能設定画面。ここで入力した内容のデバイスドライバコードが自動生成される
簡単なドライバを実行しているところ
簡単なドライバを実行しているところ

おすすめ記事

記事・ニュース一覧