My Photo
無料ブログはココログ
September 2019
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

他のアカウント

お気に入りのもの

  • SONY: SONY PHA-2
  • iCOP: VESAPC eBOX3310 VEPCEB31
  • Windows Embedded CE 6.0組み込みOS構築技法入門 (マイクロソフト公式解説書)

« JustSystems xfy Blog Editorを使ってみました | Main | イベント駆動によるデバイスドライバ - その1 »

PB6.0のcecファイルがちょっと変?

Platform Builder 6.0からはカタログファイル(cecファイル)がこれまでとその記述方法が変更となっています。カタログファイルは%_TARGETPLATROOT%\Catalogフォルダに含まれる*.pbcxmlファイルとなっています。例えば標準でインストールされるデバイスエミュレータではdeviceemulator.pbcxmlがそのカタログファイルです。

このカタログファイルはBSPの構成を示すものですが、ファイルをダブルクリックしてPB6.0日本語版のカタログエディタでのぞいてみると変な事に気がつきます。下図のように「デバイス ドライ」と「デバイス ドライバ」という形でフォルダが分かれています。

これはcecファイルの記述が変だということはすぐにわかりますが、どう変なのかはよくわかりません。それではPB6.0英語版ではどうかというと、こちらはきちんと「Device Drivers」と表示されます。

実はこのcecファイルは日本語版、英語版とも同じです。USB  HostドライバとUSB Functionドライバの記述を抜き出してみます。

 <Item Id="Item:MS:usb:DeviceEmulator">
    <Title>#MS:Deviceemulator:USBHost(OHCI):Title</Title>
    <Description>#MS:Deviceemulator:USBHost(OHCI)Description</Description>
    <HelpLink Action="WceHelpCollection">pb.catalogitem.DeviceEmulator:sysgen_usb</HelpLink>
    <Type>BspSpecific</Type>
    <Module>ohci2.dll</Module>
   
<Location>#MS:Deviceemulator:DeviceDrivers_USBHost_USBHostControllers:Location</Location>
  </Item>
 
<Item Id="Item:MS:usbfn:DeviceEmulator">
    <Title>#MS:Deviceemulator:USBFunction:Title</Title>
    <Description>#MS:Deviceemulator:USBFunction:Description</Description>
    <HelpLink Action="WceHelpCollection">pb.catalogitem.DeviceEmulator:sysgen_usbfn</HelpLink>
    <Type>BspSpecific</Type>
    <Module>ms2_usbfn.dll</Module>
    <CloneModule>
      <Module>ms2_usbfn</Module>
      <DepTree>common</DepTree>
    </CloneModule>
   
<Location>#MS:Deviceemulator:DeviceDrivers_U.ctionBusDrivers:Location</Location>
  </Item>

実はここで興味深いのは、どうもUSB Hostドライバではなく、USB Functionドライバの記述が間違っているらしいことが挙げられます。すなわちUSB Functionドライバの<Location>での記述が変なのですが、表示はUSB Hostドライバに問題があるように見えます。私の想像では本来は次のようにあるべきだと思うのです。

<Location>#MS:Deviceemulator:DeviceDrivers_USBFunction_USBFunctionBusDrivers:Location</Location>

でもこのカタログエディタではUSB Functionはきちんと表示されてしまうのはとても不思議です。ちなみに上記のようにcecファイルを修正すると、USB Functionドライバも表示が変になります。

そして「デバイスドライバ」サブフォルダを右クリックしてUSBホストドライバを追加していくときちんと表示されるのです。(と思ったのですが、それができたのはPB6.0英語版でした。PB6.0日本語版ではエラーが出てうまくいかないため、直接ソースコードを変更しました。)

そしてこのときのcecファイルの記述は以下の通りです。

  <Item Id="Item:既定の製造元:DefaultCatalogItemName">
    <Title>USB ホスト(OHCI)</Title>
    <Type>BspSpecific</Type>
   
<Location>デバイス ドライバ\USB ホスト\USB ホスト コントローラ</Location>
  </Item>

ここからは推測なのですが、どうもカタログエディタはcecファイルの記述を決め打ちで解釈して、特定の設定だけを見やすい形で表示しているようなのです。そしてPB6.0英語版でも間違えていた記述をそのまま継承し、かつ日本語化で間違ったのだと思います。それだけのようなので、気にしなければそれでいいのですが...

# それにしても「USB機能」って...

« JustSystems xfy Blog Editorを使ってみました | Main | イベント駆動によるデバイスドライバ - その1 »

Comments

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference PB6.0のcecファイルがちょっと変?:

« JustSystems xfy Blog Editorを使ってみました | Main | イベント駆動によるデバイスドライバ - その1 »