連載
» 2007年02月01日 00時00分 UPDATE

Windows CE 6の全貌(4):実機を使ったCE 6.0デバイス開発の実際 (1/2)

CE 6.0には、ネットワーク対応のメディア機器やプロジェクタを開発するためのフレームワークが用意されている

[松井 俊訓/杉本 拓也 富士通ソフトウェアテクノロジーズ,@IT MONOist]

 本連載では、前回まで「Windows CE 6」という名称を使ってきましたが、「Windows Embedded CE 6.0」が正式名称となりました。当初、Windows CEは主にPocket PCやHandheld PCなどに採用されていました。そのため、「Windows CE」を携帯端末用OSとしてとらえていた人も多かったようです。実際は、メディアプレーヤからFA機器まで、さまざまな組み込みデバイスに使われています。「Embedded」を付加した背景には、こうしたイメージを変えるという狙いもあったようです。

 今回は連載の締めくくりとして、Windows Embedded CE 6.0(以下Windows Embedded CE)の新機能を2つ紹介します。今回はこれまでと少し趣向を変えて、エミュレータではなく実機を使ってOSイメージを実行してみたいと思います。記事の作成に当たっては、アイコップテクノロジーの「eBox-2300」(注)をターゲットデバイスとして使用しました。

※注:http://www.icop.co.jp/products_detail.asp?ProductID=254よりWindows Embedded CE用のBSPをダウンロード可能。なお、デバイス情報やBSPについては変更になる可能性があります。



Networked Media Device

 「Networked Media Device」は、セットトップボックス(STB)など、動画、音楽、静止画のストリーミング再生を行うデバイスに適した機能です。コンテンツの参照、再生、UIのフレームワークがあらかじめ用意されているので、開発コストの削減が可能です。

 この機能はWindows CE 5.0のFuture Packにも含まれており、Platform Builder 5.0に適用することでNetworked Media Deviceの機能をOSイメージに追加できました。Windows Embedded CEでは、これが標準サポートとなりました。

 では、Networked Media Deviceを利用したOSイメージを作成してみましょう。eBox-2300用BSPをインストールしたら、まずはVisual Studio 2005で新規の[Platform Builder for CE 6.0]プロジェクトを作成します。

 [OS Design Wizard]のBSP選択では、インストールした「ICOP_Vortex86_60A: x86」を選択します。

BSPの選択 画面1 BSPの選択

 Design Templatesでは「Consumer Media Device」、Design Templates Variantsでは「Set-Top Box」を選択します。

Design Templatesの選択 画面2 Design Templatesの選択
Design Templates Variantsの選択 画面3 Design Templates Variantsの選択

 アプリケーション、ネットワークは任意のものを選択します。

 ここまでは、Set-Top Boxテンプレートを利用したOSイメージの開発手順になります。Networked Media Device機能を追加するには、Visual Studio 2005のカタログビューで「NMD UI」コンポーネントのチェックボックスをオンにして有効化します。

NMD UIコンポーネントをオンにする 画面4 NMD UIコンポーネントをオンにする

 また、デフォルトではディスプレイドライバが選択されていません。カタログの「BSP」ツリーにあるディスプレイドライバを手動で選択します。

ディスプレイドライバ 画面5 ディスプレイドライバ(例では「Vortex86_Display」)をオンにする

 以上でOSイメージ作成の準備は完了です。[Build]−[Build Solution]でワークスペースをビルドして、OSイメージを構築します。ビルドが完了すると、OSイメージ(NK.BIN)が作成されます。テスト環境では、以下の場所に生成されました(注)。

C:\WINCE600\OSDesigns\NMD\NMD\RelDir\ICOP_Vortex86_60A_x86_Release\nk.bin 

※注:Cドライブにインストールし、ワークスペース名を「OSDesigns」としている場合。また、ビルド対象を「ICOP_Vortex86_60A_x86_Debug」とした場合は、ICOP_Vortex86_60A_x86_Debugフォルダに生成されます。


 作成したOSイメージを、ターゲットデバイス上で起動してみましょう。Windows Embedded CEは、OSイメージをRAMに展開して、RAMに格納されたスタートアップコードにジャンプすることで起動します。この作業を行うモジュールを「ブートローダ」と呼びます。Platform Builderプラグインには、サンプルのブートローダがいくつか提供されています。今回は、x86系プロセッサで利用できるブートローダを2つ紹介します。

名称 特徴 セットアップ方法(VS 2005ヘルプ)
BIOS Bootloader ブートセクタに書き込むブートローダ ms-help://MS.VSCC.v80/MS.VSIPCC.v80
/MS.WindowsCE.v60.en/CE_BringingUpDevice
/html/326c7cfb-1ca7-4bf4-b4c7-cd5880231c6b.htm
loadcepc MS-DOS上で動作するブートローダ ms-help://MS.VSCC.v80/MS.VSIPCC.v80
/MS.WindowsCE.v60.en/CE_BringingUpDevice
/html/b2b2adf2-0042-42e8-9e65-16ca39f50bcd.htm

 eBox-2300にはCompact Flash(CF)スロットが搭載されており、CFにOSイメージを格納することができます。OSイメージを書き込んだら、ブートローダを利用して起動させます。起動すると、以下のような画面が表示されます。

起動したNetworked Media Device専用シェル 画面6 起動したNetworked Media Device専用シェル

 NMD UIコンポーネントを選択するとOSのシェルが標準のものからNetworked Media Device専用のものに置き換わります。このシェル画面から、Windows XP Media Center EditionやWindows Media Connectを利用したメディアサーバに格納されているコンテンツ(動画や音楽、静止画)をストリーミング再生できます。

 ネットワークの設定や検出したサーバの選択機能、ソフトウェアキーボードなども用意されています。

ネットワーク設定画面 画面7 ネットワーク設定画面
ソフトウェアキーボード 画面8 ソフトウェアキーボード

 シェルを構成するUIのリソースファイルやソースコードも提供されています。これらを利用して、開発する製品に合わせてデザインのカスタマイズや必要な画面の追加、削除を行うことができます。もちろん、Windows Embedded CEがサポートしている機能の追加や独自のアプリケーションを実装して、他製品との差別化を図ることも可能です。

 再生中のパフォーマンスの確保も無視できません。例えば、ストリーミング再生中は再生処理のほかに画面への出力(ディスプレイドライバでの処理)、ストリーミングデータの受信処理(ネットワークドライバでの処理)が行われるため、処理の最適化が重要です。

 再生中の負荷状況は、「リモートカーネルトラッカ」や「カーネルプロファイラ」で参照できます。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.