田靡 哲也 好井 智章 古賀 信哉 田靡 哲也(たなびき てつや/左):NEC システムテクノロジー株式会社
好井 智章(よしい ともあき/中):株式会社サムシングプレシャス取締役CTO
古賀 信哉(こが しんや/右):株式会社サムシングプレシャス代表取締役社長


 組み込みソフトウェア開発では、個々のデバイスに合わせて固有のOSを自分で作らなければなりません。パソコン用のソフトウェア開発との大きな違いはそこにあります、と本連載では繰り返し説明してきました。そのため、連載第3~8回でWindows Embedded CE 6.0を例にOSの仕組みを紹介し、前回「第9回 OSをビルドしてデバッグする」 でOSの作り方を説明してきました。これでようやく、OS上で動くアプリケーションプログラムを開発できるところまでたどり着いたことになります。

 今回は組み込みソフトウェア開発の仕上げとして、Windows Embedded CE 6.0を使ったアプリケーション開発について説明します。まずアプリケーションのUIに深く関わるOSのシェルについて説明した後、SDKおよびネイティブコード開発とマネージコード開発の概要を紹介します。

ユーザーインターフェイスを作る3種類のシェル

 パソコンで作業をするとき、通常はマウスをクリックしたりキーボードから文字を入力したりして、ユーザーの指示をパソコンのOSに伝えます。このとき、ユーザーの指示を解釈して、それに対応する機能をOSに実行させるソフトウェアを「シェル」と呼びます。マウスをダブルクリックしてファイルを開いたり、キーボードを使用してファイルをコピーしたりできるのは、シェルが処理をしているからです。

 シェルはOSを構成するコンポーネントの1つです。パソコンのデスクトップ用Windows OSのシェルは、Explorerとコマンドプロンプトです。たとえばWindows Vistaの場合、シェルが提供するUI(ユーザーインターフェイス)は図1のような画面になります。

図1●Windows Vistaのシェルの画面(Explorer)   図1●Windows Vistaのシェルの画面(コマンドプロンプト)
図1●Windows Vistaのシェルの画面(左:Explorer、右:コマンドプロンプト)
[画像のクリックで拡大表示]

 同様に、Windows Embedded CE 6.0にもシェルがあります。ディスプレイやLCDが接続された組み込みデバイスのOSを起動すると、Windows Embedded CE 6.0のロゴが画面に表示されますが、これを表示するのがシェルです。キーボードやマウスなどのヒューマンインターフェイスドライバが実装されている場合は、シェルによってデバイスから画面上のメニューを操作することもできます。Windows Embedded CE 6.0では、標準で次の3種類のシェルをサポートしています。

  • コマンドプロセッサシェル
  • 標準シェル
  • Windows シンクライアントシェル
図2●Windows Embedded CE 6.0のシェルの画面(コマンドプロセッサシェル)   図2●Windows Embedded CE 6.0のシェルの画面(標準シェル)   図2●Windows Embedded CE 6.0のシェルの画面(Windows シンクライアントシェル)
図2●Windows Embedded CE 6.0のシェルの画面
(左:コマンドプロセッサシェル、中:標準シェル、右:Windows シンクライアントシェル)
[画像のクリックで拡大表示]

 コマンドプロセッサシェルは、デスクトップ用Windows OSのコマンドプロンプトのように、コマンドによってコンソールの入出力を行うシェルです。ただし、使用できるコマンドはデスクトップ用Windows OSほど多くはありません。

 2番目の標準シェルを使うと、ディスプレイベースのデバイスでプログラムの実行やファイルのコピー/削除などの操作が視覚的に実行できます。ここで言う「ディスプレイベースのデバイス」とは、RGBやDVI出力のあるデバイス、またはLCDのあるデバイスのことです。これらの操作は、キーボードやマウス、タッチパネルなどから行います。また、標準シェルはソースコードが提供されているため、独自に標準シェルをカスタマイズすることもできます。

 3番目のWindowsシンクライアントシェルは、ターミナルサービスで使用されるクライアント端末のUIを提供するシェルです。シンクライアントは端末に、OS(Windows XPやVista)やアプリケーションを持たず、サーバー側のデスクトップ環境をリモートからそのまま利用します。そのときのUIを提供するのが、このシェルです。標準シェルと同様、このシェルもソースコードが提供されているので、独自にカスタマイズできます。

 これら3種類の中から、開発するデバイスに応じてシェルを選択して実装します。その実装は、OSの構築時にVisual Studioの[カタログ項目ビュー]から選択するだけで簡単に行えます。図3は標準シェルの設定画面です。標準シェルを選択すると、標準シェルの下のすべての項目が自動的にOSに実装されます。

図3●標準シェルの設定画面
図3●標準シェルの設定画面
[画像のクリックで拡大表示]