特集
» 2006年11月07日 00時00分 UPDATE

組み込みOS技術解説:いまさら聞けない Windows XP Embedded入門 (2/3)

[杉本拓也(株式会社富士通ソフトウェアテクノロジーズ),@IT MONOist]

開発ツールと開発の流れ

 XP Embeddedは、「Windows Embedded Studio」という開発環境を利用してOSの構築を行う。このWindows Embedded Studioは、複数のツールで構成されている。

Target Analyzer
Target Analyzerは、対象となるハードウェア固有のデータを自動的に収集するプローブを実行することによって動作する。XP Embeddedの開発者は、開発の第一歩としてこのツールを使い、ターゲットとなるハードウェア上でXP Professionalがどのデバイスドライバを利用して、どのような状態で動作するのかといった情報を収集する必要がある。

Target Designer
Target Designerは、XP EmbeddedのOSイメージを開発、カスタマイズおよび構築するツールである。コンポーネント群の追加・削除、初期レジストリの設定、開発後のOSのビルドなど、OS構築にかかわるすべての作業をTarget Designer上で行う。

Component Designer
「カスタムコンポーネント」を定義するための環境を提供する。XP Embeddedでは、OS標準のコンポーネント以外に、サードパーティ製のアプリケーション・ミドルウェアや独自のデバイスドライバなどをカスタムコンポーネントとして開発環境に登録する必要がある。Component Designerを利用して、このカスタムコンポーネントを作成する。

Component Database Manager
Component Databaseやリポジトリといったコンポーネントレベルの情報を管理するツール。XP Embeddedでは、コンポーネントをすべてデータベース上に配置してコンポーネントの抽出を効率化している。

 これらのツールを利用して、図3のような流れで行う。

開発の流れ 図3 開発の流れ

 では、各工程を詳しく見てみよう。

ターゲットハードウェア情報の収集

 XP EmbeddedのOS構築に際して、可能であればまずターゲットハードウェア上にXP Professionalをインストールすることをお勧めする。それはなぜか。

 XP EmbeddedのOS構築時には、OSの構成やハードウェア情報を収集するTarget Analyzerを利用する。このTarget Analyzerには、「TA.EXE」「TAP.EXE」の2種類が存在する。TA.EXEはMS-DOSアプリケーションで、TAP.EXEに比べて収集できる情報が限定される。そのため、初心者ではTA.EXEの結果からOSの構築を行うのは困難である。

 TAP.EXEはWindowsアプリケーションであり、Windowsが認識するすべてのハードウェア情報を収集できる。当然ながら、TAP.EXEを動かすにはXP Professionalが必要だ。これが、ターゲットハードウェアへのXP Professionalインストールを勧める理由である。また、完全に情報収集を行うため、XP Professionalにはカスタムドライバもインストールしておきたい。

 Target Analyzerを実行すると、デバイスツリーの情報がすべて記載された「device.pmq」というXMLファイルが生成される。このXMLファイルは、OSの構築作業で利用することとなる。

<?xml version="1.0"?>
<!DOCTYPE HIB SYSTEM"devices.dtd">
<!--                                -->
<!--                                -->
<HIB>
        <TOOLINFO>
                <PLATFORM>Microsoft Windows XP Build 2600</PLATFORM>
                <TOOL>Target Analyzer Probe Version 2.00.807.0</TOOL>
                <TOOLOPTIONS>"D:\Common FileZ\tap.exe" <TOOLOPTIONS>
                <TIMESTAMP>2006-08-14, 03:55:52PM</TIMESTAMP>
        </TOOLINFO>
        <DEVICES>
                <CATEGORY Name="1394">
                       <DEVICE ConfigFlags="0">
                                <DEVICEDESC>SBP2 準拠 IEEE 1394 デバイス</DEVICEDESC>
                                <HARDWAREIDS>
                                       <DEVICEID Order="1">1394\I-O_DATA_1394-iCN___&1394_Converter__<DEVICEID>
                                </HARDWAREIDS>
                                <COMPATIBLEIDS>
                                       <DEVICEID Order="1">1394\609E&10483<DEVICEID>
                                       <DEVICEID Order="2">1394\609E&1<DEVICEID>
                                       <DEVICEID Order="3">1394\609E<DEVICEID>
                                </COMPATIBLEIDS>
                       </DEVICE>
                </CATEGORY>
                <CATEGORY Name="ACPI">
                       <DEVICE ConfigFlags="0">
                                <DEVICEDESC>ACPI Fixed Feature ボタン</DEVICEDESC>
                                <HARDWAREIDS>
                                       <DEVICEID Order="1">ACPI\FixedButton<DEVICEID>
                                       <DEVICEID Order="2">*FixedButton<DEVICEID>
                                </HARDWAREIDS>
                                <COMPATIBLEIDS>
                                </COMPATIBLEIDS>
                       </DEVICE>
                       <DEVICE ConfigFlags="0">
                                <DEVICEDESC>Intel Processor</DEVICEDESC>
                                <FRIENDLYNAME>Intel(R)Pentium(R)4 CPU 3.20GHz</FRIENDLYNAME>
                                <HARDWAREIDS>
                                       <DEVICEID Order="1">ACPI\GenuineIntel_-_x86_Family_15_Model_3<DEVICEID>
                                       <DEVICEID Order="2">*GenuineIntel_-_x86_Family_15_Model_3<DEVICEID>
(以下略)
リスト devices.pmqの一部

Copyright © ITmedia, Inc. All Rights Reserved.