Windows CE (.NET) とか IoTとか

組込みWindows と IoTの話を扱います

ARMエミュレータでActiveSyncを使う

Windows Mobile 5.0SDKにはARMエミュレータ用の各種イメージが付属しています。また、国別のエミュレータイメージを追加インストールすることも可能です。

Visual Studio .NET 2005では標準ではPlatform Managerを使用しないのですが、Processを見たいときなどはリモートツールを使用する以外ありません。その場合はPlatform Managerを使用してリモートツールを使用します。

ところが、WM5.0SDKを選ぶと、Platform Manager画面にはActiveSyncしか選択肢が表示されません。ARMエミュレータは標準で"DMA Transport"を使うのでどうしたものかと思っていたのですが、以下の方法でActiveSync over DMA Transportを使うことが出来ますのでお試しください。

1. ActiveSyncを使うには、まず開発PCにActiveSyncをインストールする必要があります。WM5.0向けでは必ずActiveSync4.xを使用します。

2. Visual Studio .NET 2005でターゲットデバイスを選びます。ToolsメニューのOptionを開いてDeviceTools - Devicesを選択します。

ここでListViewから"Windows Mobile 5.0 Pocket PC SDK"を選ぶと、そのカテゴリの接続先デバイスが一覧されるので、希望の設定を選びます。

3. Propertiesボタンを押して、Transportに"DMA Transport"が表示されていることを確認します。ここにはActiveSyncは選択肢として表示されません。ほかに選択可能なのは"TCP/IP Transport"です。

4. 必要があれば、下の"Emulator Options"ボタンを押してエミュレータの設定を変更します。ここでは、Networkタブで"Enable NE2000 network adapter and bind to:"で、外部ネットワークへの接続を設定する必要があるかもしれません。

5. Buildメニューの"Deploy Solution"やToolsメニュー"Connect to Device"を実行すると、上記で変更した設定でARMエミュレータが立ち上がります。

6. ActiveSyncの接続メニューを開いて(トレイアイコンをクリックして"接続の設定..."など)"以下のいずれかの設定を有効にするのチェックを入れて、"DMA "項目を選択します。

Async41Connect

7. Visual Studio .NET 2005のToolsメニューの"Device Emulator Manager"を選択します。5. で起動したエミュレータが表示されているところで右クリックして、"Cradle"を選びます。するとActiveSyncが接続を認識して、最初の接続ウィザードが表示されます。

Async41Dock

これで、DMA Transportを使用しながら、同時にActiveSyncでPlatform Managerを動かすことが出来ました。