设备仿真程序配置 XML 架构参考

更新:2007 年 11 月

设备仿真程序配置 (.decfg) 文件是 XML 文件,这些文件包含确定设备仿真程序如何启动的设置。可以在 .decfg 文件中配置设置,如操作系统映像、外观、LCD 屏幕分辨率和网络。有关常规信息,请参见设备仿真程序配置文件。请使用下面的示例作为创作 .decfg 文件的参考。

代码

<?xml version="1.0"?>
<DeviceEmulator xmlns="https://schemas.microsoft.com/DeviceEmulator/2006/01/DeCfg">
  <Platform>My Plaform</Platform>
  <Emulator>
    <Language Reconfigurable="false">1033</Language>
    <AlwaysOnTop Reconfigurable="true">true</AlwaysOnTop>
    <ConsoleWindow Reconfigurable="false">true</ConsoleWindow>
    <HostKey Reconfigurable="true">Left-Alt</HostKey>
    <Rotation Reconfigurable="true">270</Rotation>
    <VMID Reconfigurable="false">{B89C49AD-197F-4CB4-A525-D81D0944EEAF}</VMID>
    <VMName Reconfigurable="true">My Custom Emulator</VMName>
    <!--<SaveState Reconfigurable="false">c:\1.dess</SaveState>-->
    <DefaultSave Reconfigurable="false">true</DefaultSave>
    <Zoom Reconfigurable="true">true</Zoom>
    <Video Reconfigurable="false" Width="640" Height="480" BitsPerPixel="16"/>
    <FuncKey Reconfigurable="true">193</FuncKey>
    <!--<Skin Reconfigurable="true" EnableSkin="true" ToolTips="on">c:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Deviceemulation\Pocket_pc\Pocket_PC.xml</Skin>-->
  </Emulator>
  <Board>
    <OSImage Reconfigurable="false" Address="0">d:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Deviceemulation\0409\PPC_USA.BIN</OSImage>
    <Flash Reconfigurable="false" Enabled="true">c:\Flashfile</Flash>
    <MemSize Reconfigurable="false">256</MemSize>
    <CpuCore Reconfigurable="false">ARMv5</CpuCore>
    <CpuOptions Reconfigurable="false">TDI</CpuOptions>
    <VFP Reconfigurable="false">true</VFP>
  </Board>
  <Peripherals>
    <Battery Reconfigurable="true" IsOnAcPower="false" Charge="40"/>
    <SharedFolder Reconfigurable="true">c:\</SharedFolder>
    <CS8900_Networking Reconfigurable="false" Enabled="true">00001A1A190B</CS8900_Networking>
    <NE2000_Networking Reconfigurable="true" Enable="true">00001A1A190B</NE2000_Networking>
    <HostOnly Reconfigurable="true">true</HostOnly>
    <Speakerphone Reconfigurable="true" CarKit="true" Headset="true" Speakerphone="true"/>
    <SerialPort Reconfigurable="true" UARTNumber="0">COM3</SerialPort>
    <SerialPort Reconfigurable="true" UARTNumber="1">none</SerialPort>
    <SerialPort Reconfigurable="true" UARTNumber="2">none</SerialPort>
  </Peripherals>
</DeviceEmulator>

备注

下表描述了上面的代码示例中的每一个元素。

说明

<DeviceEmulator> tag

封装设备仿真程序配置的架构。在每个 .decfg 文件中仅使用一个标记。包含下列标记:

  • Platform

  • Emulator

  • Board

  • Peripherals

<Platform>My Plaform</Platform>

包含平台的名称。每个 <Platform> 标记仅使用一个 <Platform> 标记。可在“设备仿真程序管理器”中看到的仿真程序按照平台标记中的值进行组织。

<Emulator> tag

包含下列标记:

  • Language

  • AlwaysOnTop

  • ConsoleWindow

  • HostKey

  • Rotation

  • VMID

  • VMName

  • SaveState

  • DefaultSave

  • Zoom

  • Video

  • FuncKey

  • Skin

<Language Reconfigurable="false">1033</Language>

指定用户界面 (UI) 语言,其中,值为四位十进制数。例如,1033 表示“美国英语”。

<AlwaysOnTop Reconfigurable="true">true</AlwaysOnTop>

使仿真程序窗口始终位于最上面,即使该窗口没有焦点。可以为 true 或 false。默认为 false。

<ConsoleWindow Reconfigurable="false">true</ConsoleWindow>

创建并显示一个控制台窗口以显示 Windows CE 调试串行端口的输出内容,用户键入的击键正是传送到此控制台。该技术对于从 Platform Builder 观察调试输出和下载内核映像非常有用。可以为 true 或 false。默认为 false。

<HostKey Reconfigurable="true">Left-Alt</HostKey>

指定主机键,其中的值(不区分大小写)可以为 None、Left-Alt 或 Right-Alt。

<Rotation Reconfigurable="true">270</Rotation>

按一定的度数顺时针旋转显示,旋转角度值可以为 0、90、180 或 270。其他整数值也可以接受,但是要向下舍入为最接近且为 90 的整数倍的值。

<VMID Reconfigurable="false">{B89C49AD-197F-4CB4-A525-D81D0944EEAF}</VMID>

指定要与仿真程序当前实例关联的 VMID GUID。

<VMName Reconfigurable="true">My Custom Emulator</VMName>

指定窗口标题。如果此标记不存在,则会按照外观标记或给定的默认名称“设备仿真程序”对窗口进行命名。

<!--<SaveState Reconfigurable="false">c:\1.dess</SaveState>-->

启用保存状态支持,其中,值是保存状态文件的名称。.decfg 文件必须指定 SaveState 或 OSImage 标记。请注意 SaveState 标记的下列特性:

  • 如果 SaveState 标记不存在而 OSImage 标记存在,则仿真程序会根据 OSimage 的值冷启动,并禁用保存状态。

  • 如果 SaveState 标记和 OSImage 标记都存在,则仿真程序根据 OSimage 标记的值冷启动,并在退出时启用保存状态,将状态保存到指定的文件名。

  • 如果 SaveState 标记存在但 OSImage 标记不存在,则仿真程序将从指定的保存状态文件还原。在仿真程序退出时,它会通过保存新的状态来覆盖已保存状态文件。

    说明:

    在本示例中,SaveState 标记被注释掉,因为 .decfg 文件不能同时指定 SaveState 和 defaultsave 标记。

<DefaultSave Reconfigurable="false">true</DefaultSave>

当该值为 true 时,设备仿真程序使用 VMID 作为已保存状态文件的名称,并将已保存状态文件放置到每个用户的目录中。可以为 true 或 false。

说明:

在同一个 .decfg 文件中,不能同时指定 SaveState 标记和 defaultsave 标记。

<Zoom Reconfigurable="true">true</Zoom>

将显示窗口(外观和 LCD 窗口)放大为正常大小的 2 倍。可以为 true 或 false。

<Video Reconfigurable="false" Width="640" Height="480" BitsPerPixel="16"/>

指定 LCD 窗口的屏幕大小和位深度,其中,width、height 和 BitsPerPixel 属性为整数。

说明:

在同一个 .decfg 文件中,不能同时指定 Skin 和 Video 标记。

<FuncKey Reconfigurable="true">193</FuncKey>

这是一个特殊标记,其值通常为 193。值 193 会将键盘功能键(F1、F2 等)映射到设备仿真程序的软键。

<!--<Skin Reconfigurable="true" EnableSkin="true" ToolTips="on">c:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Deviceemulation\Pocket_pc\Pocket_PC.xml</Skin>-->

加载指定的外观文件。

说明:

在本示例中,Skin 标记被注释掉,因为 .decfg 文件不能同时指定 Skin 和 Video 标记。

<Board> tag

包含下列标记:

  • OSImage

  • Flash

  • MemSize

  • CpuCore

  • CpuOptions

  • VFP

<OSImage Reconfigurable="false" Address="0">d:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Deviceemulation\0409\PPC_USA.BIN</OSImage>

指定仿真程序所使用的 OSimage 的路径和文件名(*.bin 或 *.nb0)。除非 SaveState 标记存在,否则此标记是必需的。

<Flash Reconfigurable="false" Enabled="true">c:\flash.txt</Flash>

启用闪存仿真,其中,值指定要用作闪存存储的文件的名称。

<MemSize Reconfigurable="false">256</MemSize>

设置所仿真的 RAM 大小,其中,值以 MB 为单位。有效值为从 64 到 256(含)。如果未指定有效值,则 RAM 大小默认为 64。

<CpuCore Reconfigurable="false">ARMv5</CpuCore>

指定要仿真的 CPU 体系结构。可以为 ARMv4 或 ARMv5。默认为 ARMv4。

<CpuOptions Reconfigurable="false">TDI</CpuOptions>

指定 (T)humb、(D)ebug、(I)nternetworking、(M)Long Multiply、(e)DSP 的组合。在这些选项中,总是会设置 T、D 和 I。

<VFP Reconfigurable="false">true</VFP>

指定是否存在向量浮点协处理器。可以为 true 或 false。默认为 false。

<Peripherals> tag

包含下列标记:

  • Battery

  • SharedFolder

  • CS8900_Networking

  • NE2000_Networking

  • HostOnly

  • Speakerphone

  • SerialPort

<Battery Reconfigurable="true" IsOnAcPower="false" Charge="40"/>

指定电池电源和电量。IsOnAcPower 属性指定仿真程序是使用电池还是使用交流电源运行。如果使用电池电源,则 charge 属性以百分比形式指定电量。默认为交流电源。

<SharedFolder Reconfigurable="true">c:\</SharedFolder>

将一个目录作为共享文件夹装入,其中,值为 Windows 目录。该目录就像存储卡一样装入。

<CS8900_Networking Reconfigurable="false" Enabled="true">00001A1A190B</CS8900_Networking>

启用 CS8900 网络适配器,其中,可选值是一个十二位的十六进制 MAC 地址,该地址指定桌面计算机上要绑定到的主机适配器。

<NE2000_Networking Reconfigurable="true" Enable="true">00001A1A190B</NE2000_Networking>

启用 NE2000 PCMCIA 网络适配器,其中,可选值是一个十二位的十六进制 MAC 地址,该地址指定桌面计算机上要绑定到的主机适配器。

<HostOnly Reconfigurable="true">true</HostOnly>

为网络数据包设置仅主机路由。影响 CS8900 和 NE2000 网卡。可以为 true 或 false。默认为 false。

<Speakerphone Reconfigurable="true" CarKit="true" Headset="true" Speakerphone="true"/>

  • 指定是否存在话筒、耳机和/或车载。

<SerialPort Reconfigurable="true" UARTNumber="0">COM3</SerialPort>

<SerialPort Reconfigurable="true" UARTNumber="1">COM2</SerialPort>

<SerialPort Reconfigurable="true" UARTNumber="2">none</SerialPort>

将仿真程序串行端口映射到 Windows COM 端口。UARTNumber 属性指示仿真程序上的端口号 0 到 2。该值指定桌面计算机上的 COM 端口。此标记在一个 .decfg 文件中最多可以使用三次;每次用于仿真程序上的三个串行端口之一。

Reconfigurable="true"

指示只要设备仿真程序正在运行,就可以重新配置与此标记相关联的功能。该功能无需退出并重新启动仿真程序即可重新配置。下列标记可重新配置:

  • AlwaysOnTop

  • HostKey

  • Rotation

  • VMName

  • Zoom

  • FuncKey

  • Skin

  • Battery

  • SharedFolder

  • NE2000_Networking

  • HostOnly

  • Speakerphone

  • Serialport

Reconfigurable="false"

指示只要设备仿真程序正在运行,就不能重新配置与此标记相关联的功能。该功能必须在仿真程序启动过程中指定。下列标记不能重新配置:

  • Language

  • ConsoleWindow

  • VMID

  • SaveState

  • DefaultSave

  • Video

  • OSImage

  • Flash

  • MemSize

  • CpuCore

  • CpuOptions

  • VFP

  • CS8900_Networking

请参见

概念

设备仿真程序配置文件

设备仿真程序管理器

参考

设备仿真程序命令行参考