実機を使ったCE 6.0デバイス開発の実際:Windows CE 6の全貌(4)(1/2 ページ)
CE 6.0には、ネットワーク対応のメディア機器やプロジェクタを開発するためのフレームワークが用意されている
本連載では、前回まで「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」(注)をターゲットデバイスとして使用しました。
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」を選択します。
Design Templatesでは「Consumer Media Device」、Design Templates Variantsでは「Set-Top Box」を選択します。
アプリケーション、ネットワークは任意のものを選択します。
ここまでは、Set-Top Boxテンプレートを利用したOSイメージの開発手順になります。Networked Media Device機能を追加するには、Visual Studio 2005のカタログビューで「NMD UI」コンポーネントのチェックボックスをオンにして有効化します。
また、デフォルトではディスプレイドライバが選択されていません。カタログの「BSP」ツリーにあるディスプレイドライバを手動で選択します。
以上でOSイメージ作成の準備は完了です。[Build]−[Build Solution]でワークスペースをビルドして、OSイメージを構築します。ビルドが完了すると、OSイメージ(NK.BIN)が作成されます。テスト環境では、以下の場所に生成されました(注)。
C:\WINCE600\OSDesigns\NMD\NMD\RelDir\ICOP_Vortex86_60A_x86_Release\nk.bin
作成した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イメージを書き込んだら、ブートローダを利用して起動させます。起動すると、以下のような画面が表示されます。
NMD UIコンポーネントを選択するとOSのシェルが標準のものからNetworked Media Device専用のものに置き換わります。このシェル画面から、Windows XP Media Center EditionやWindows Media Connectを利用したメディアサーバに格納されているコンテンツ(動画や音楽、静止画)をストリーミング再生できます。
ネットワークの設定や検出したサーバの選択機能、ソフトウェアキーボードなども用意されています。
シェルを構成するUIのリソースファイルやソースコードも提供されています。これらを利用して、開発する製品に合わせてデザインのカスタマイズや必要な画面の追加、削除を行うことができます。もちろん、Windows Embedded CEがサポートしている機能の追加や独自のアプリケーションを実装して、他製品との差別化を図ることも可能です。
再生中のパフォーマンスの確保も無視できません。例えば、ストリーミング再生中は再生処理のほかに画面への出力(ディスプレイドライバでの処理)、ストリーミングデータの受信処理(ネットワークドライバでの処理)が行われるため、処理の最適化が重要です。
再生中の負荷状況は、「リモートカーネルトラッカ」や「カーネルプロファイラ」で参照できます。
Copyright © ITmedia, Inc. All Rights Reserved.