- - PR -
本連載では、前回まで「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については変更になる可能性があります。 |
| 関連リンク: | |
| Microsoft Windows Embedded CE 6.0の提供を本日より開始 http://www.microsoft.com/japan/presspass/detail.aspx?newsid=2874 |
|
| アイコップテクノロジー http://www.icop.co.jp/ |
|
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」を選択します。
![]() |
| 画面1 BSPの選択 |
Design Templatesでは「Consumer Media Device」、Design Templates Variantsでは「Set-Top Box」を選択します。
![]() |
| 画面2 Design Templatesの選択 |
![]() |
| 画面3 Design Templates Variantsの選択 |
アプリケーション、ネットワークは任意のものを選択します。
ここまでは、Set-Top Boxテンプレートを利用したOSイメージの開発手順になります。Networked Media Device機能を追加するには、Visual Studio 2005のカタログビューで「NMD UI」コンポーネントのチェックボックスをオンにして有効化します。
![]() |
| 画面4 NMD UIコンポーネントをオンにする |
また、デフォルトではディスプレイドライバが選択されていません。カタログの「BSP」ツリーにあるディスプレイドライバを手動で選択します。
![]() |
| 画面5 ディスプレイドライバ(例では「Vortex86_Display」)をオンにする |
以上でOSイメージ作成の準備は完了です。[Build]−[Build Solution]でワークスペースをビルドして、OSイメージを構築します。ビルドが完了すると、OSイメージ(NK.BIN)が作成されます。テスト環境では、以下の場所に生成されました(注)。
C:\WINCE600\OSDesigns\NMD\NMD\RelDir\ |
| 注: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イメージを書き込んだら、ブートローダを利用して起動させます。起動すると、以下のような画面が表示されます。
![]() |
| 画面6 起動したNetworked Media Device専用シェル |
NMD UIコンポーネントを選択するとOSのシェルが標準のものからNetworked Media Device専用のものに置き換わります。このシェル画面から、Windows XP Media Center EditionやWindows Media Connectを利用したメディアサーバに格納されているコンテンツ(動画や音楽、静止画)をストリーミング再生できます。
ネットワークの設定や検出したサーバの選択機能、ソフトウェアキーボードなども用意されています。
![]() |
| 画面7 ネットワーク設定画面 |
![]() |
| 画面8 ソフトウェアキーボード |
シェルを構成するUIのリソースファイルやソースコードも提供されています。これらを利用して、開発する製品に合わせてデザインのカスタマイズや必要な画面の追加、削除を行うことができます。もちろん、Windows Embedded CEがサポートしている機能の追加や独自のアプリケーションを実装して、他製品との差別化を図ることも可能です。
再生中のパフォーマンスの確保も無視できません。例えば、ストリーミング再生中は再生処理のほかに画面への出力(ディスプレイドライバでの処理)、ストリーミングデータの受信処理(ネットワークドライバでの処理)が行われるため、処理の最適化が重要です。
再生中の負荷状況は、「リモートカーネルトラッカ」や「カーネルプロファイラ」で参照できます。
組み込み開発フォーラム 新着記事
- ブロック定義図の基礎(2010/2/8)
- 微細化を超える革新が見えたアルテラ28nm FPGA(2010/2/5)
- OESFとJASAが提携、Android技術認定制度の構築へ(2010/2/5)
- ないと困る!? ファイルシステムのありがたみ(2010/2/4)
- カーエレの進化を支える組み込みソフトウェア開発(2010/2/2)
- アルテラ、28nm FPGAに向けた最先端技術を発表(2010/2/2)
- 【問題6】 高速化技術「パイプライン制御」について(2010/2/1)
- AndroidのカーネルをLinux以外のOSに置き換える(2010/2/1)
- いま振り返るFPGA普及・発展の歴史(2010/1/27)
- 割り込みテクニックでタイマを使おう(2010/1/26)
- Silverlight for Windows Embeddedの実装方法(2010/1/25)
- 【問題5】 ページング方式の「仮想記憶」について(2010/1/20)














