使用 Windows CE .NET 测试工具包 (CETK) 构建和测试设备

使用 Windows CE .NET 测试工具包 (CETK) 构建和测试设备

作者: James Zwygart  来源:microsoft  http://www.csai.cn  2005年11月25日

    简介

    Microsoft? Windows? CE .NET 测试工具包 (CETK) 是一种可用于测试单个设备驱动程序或整个平台的工具。CETK 中的测试工具会提供有关驱动程序功能的反馈信息,以便进一步提高设备的可靠性。还可以向 Windows CE .NET 测试工具包添加更多的测试,用于测试某个驱动程序。

    Windows CE .NET 测试工具包

    Windows CE .NET 测试工具包 (CETK) 为 Windows CE .NET 团体提供了通用测试平台,可用于测试基于 Windows CE .NET 的嵌入设备和驱动程序。Windows CE .NET 测试工具包附带的测试与 Microsoft 内部使用的测试相同,用以验证平台和驱动程序的可靠性和稳定性。创建 Windows CE .NET 测试工具包是为了向 OEM 厂商提供快速有效地测试驱动程序的方法。Windows CE .NET 测试工具包的主要目标是:

  • 创建快捷且易于使用的工具。
  • 尽量使 OEM 厂商的测试过程自动化,以便更快、更准确地进行测试。
  • 创建可用于 BSP 和驱动程序认证的工具。

    CETK 的适用人群

    需要测试和验证设备、BSP 或驱动程序的稳定性和可靠性的任何人都可以使用 CETK。CETK 测试能够确保设备或驱动程序符合稳定性和兼容性的最低标准。使用 CETK 来测试驱动程序或设备的 OEM 厂商可以确保与 Windows CE .NET 操作系统兼容。

    运行 CETK 测试的 PC 端和设备端的硬件要求

    Windows CE .NET 测试工具包使用设备端(客户端)和桌面端(服务器)应用程序,它们通过套接字交换信息。Windows CE .NET 设备上运行的客户端可以与主机应用程序交换信息,主机应用程序通常驻留在运行 Windows CE .NET Platform Builder 的开发工作站上。目标设备需要具备有效的以太网和显示器支持,才能运行 Windows CE .NET 测试工具包。

    如何使用 CETK 提高平台的可靠性

    CETK 汲取多年对 Windows CE .NET 的测试经验,向嵌入式开发团体提供了最有价值、最全面、最易于自动化的测试。使测试易于使用又易于理解已成为 CETK 考虑的首要问题。CETK 测试可以验证运行 Windows CE .NET 操作系统的驱动程序和设备是否符合可靠性和稳定性标准。设备的兼容性标准是根据 Standard Development Board (SDB) 规范 (英文)建立的。此规范是为了帮助 OEM 厂商构建与 Windows CE .NET 操作系统兼容的硬件和软件而编写的。Windows CE .NET 测试工具包中的测试有助于确保设备和驱动程序符合此标准。开发人员通常都为新的硬件设计开发自定义的设备驱动程序。CETK 旨在帮助开发人员生成可靠的驱动程序,从而提高设备的可靠性。设计人员一直在努力扩展测试工具包的功能,以使它在测试内容以及调试和交付设备方面更加全面。

    CETK 和桌面 WHQL 测试的异同点

    CETK 不是于 Windows 硬件质量实验室 ( WHQL [英文]) 的一部分。熟悉 WHQL 的用户会将 CETK 当作适用于 Windows CE .NET 的 WHQL 程序。WHQL 测试被开发成与 Windows 桌面操作系统配合,其体系和结构都与 Windows CE .NET 不兼容,这就是创建 Windows CE .NET 测试工具包的原因。Microsoft 提供了两个与 WHQL 测试有些类似的程序:BSP 认证程序和驱动程序验证程序。这两个程序都使用 CETK 来测试和验证驱动程序和 BSP。

    目前支持的测试

    CETK 中目前的测试集涵盖了 Windows CE .NET 中最常用的驱动程序和设备类型。CETK 还在不断地扩展,以包括范围更广的测试。在 CETK 帮助中,对每种测试的测试内容和使用方法都有全面的说明。

    Windows CE .NET 测试工具包 - 发布的测试

  • 蓝牙测试
  • CD/DVD-ROM 块驱动程序测试
  • CD/DVD-ROM 文件系统驱动程序测试
  • Direct3D 基本光栅测试
  • Direct3D 雾化测试
  • Direct3D 多纹理测试
  • Direct3D Z 缓冲比较测试
  • DirectDraw 测试
  • DirectSound 音频驱动程序测试
  • 文件系统驱动程序测试
  • 图形设备接口测试
  • IR 端口测试 (Winsock 1.1)
  • IR 端口测试 (Winsock 2.0)
  • 键盘映射测试
  • 键盘测试
  • 鼠标测试
  • 单卡网卡微型端口驱动程序测试
  • 并行端口测试
  • 分区驱动程序测试
  • PCMCIA 控制器驱动程序测试
  • 打印机驱动程序测试
  • 串行通信测试
  • 串行端口驱动程序测试
  • 智能卡资源管理器测试
  • 存储设备块驱动程序 API 测试
  • 存储设备块驱动程序基准测试
  • 存储设备块驱动程序读/写测试
  • 电话服务 API 客户端测试
  • 电话服务 API 服务器测试
  • 触摸板测试
  • 双卡网卡微型端口驱动程序测试
  • Waveform 音频驱动程序测试
  • Winsock 2.0 测试 (v4/v6)
  • Winsock 压力测试

    使用 Windows CE .NET 测试工具包

    在平台开发或发布设备的过程中,随时都可以使用测试工具包。CETK 可用于测试系统整体的稳定性,也可用于测试开发中的驱动程序的稳定性。

    将 CETK 组件添加到平台

    使用 CETK 之前,需要向平台添加对 CETK 的支持。可以使用以下两种方法:通过从 Platform Builder 目录添加 CETK 组件来向平台添加 CETK 支持,或者在运行 CETK 测试之前将文件复制到平台中。

    CETK 要求目标设备与开发工作站所在的网络之间通过以太网连接。不能通过用于调试的以太网连接来运行 CETK 测试。请注意,可以在已作为调试映像生成的 Windows CE .NET 操作系统上运行 CETK 测试。在这种情况下,平台中需要包括完整的网络驱动程序,而不是用于调试的以太网驱动程序。

    注意: 要使用 CETK,请不要通过小型内核配置生成平台,因为 CETK 无法在通过小型内核配置生成的平台上运行。

    在 Platform Builder 中向平台添加 CETK 测试

  1. 在目录中,扩展 Device Drivers 节点,在 Windows CE Test Kit 上单击右键,然后单击 Add to Platform 。
  2. Build 菜单上,单击 Build Platform ,生成平台的操作系统映像。
  3. 生成 Windows CE .NET 操作系统映像后,将操作系统映像下载到适当的基于 Windows CE .NET 的设备。

    注意: 在目录中包括 CETK 组件并不会向操作系统映像添加任何其他文件。某些 CETK 所需的文件将放置在生成发行版文件夹中,包括 clientside.exe 文件。

    由于操作系统映像中不包括 CETK 组件,因此必须下载并运行名为 clientside.exe 的客户端 CETK 应用程序。

    在操作系统映像中运行 CETK 客户端软件 (clientside.exe)

  1. 在 Platform Builder 的 Target 菜单上,单击 Run Programs 。
  2. 单击 Clientside.exe ,然后单击 Run 。

    请注意, Run Programs 对话框将列出在平台的生成发行版文件夹中找到的所有可执行代码。此列表可能包括不属于有效操作系统映像 [nk.bin] 的应用程序。

    现在可以在开发工作站上运行 CETK 工具了。

    在开发工作站上运行 CETK 工具

  1. 单击“开始”,依次指向“所有程序”和“Microsoft Windows CE .NET”,然后单击“Windows CE .NET 测试工具包”。
  2. 要运行 CETK 工具而不向操作系统映像添加 CETK 客户端软件,则需要将 Clientside.exe 文件下载到基于 Windows CE .NET 的设备。

    在开发工作站上,Clientside.exe 文件位于与目标设备的 CPU 名称相对应的目录中,即 %_WINCEROOT%/Others/Wcetk 目录。

  3. 在基于 Windows CE .NET 的设备的 Start (开始)菜单上,单击 Run (运行),然后键入 Clientside.exe 文件的位置,并在其后加上 CETK 服务器的名称和端口号。

    例如,键入 clientside /n=machine1 /p=5555 可以运行 Clientside.exe 可执行文件并连接到使用端口号 5555 的 machine1,还可以编辑 Clientside.exe 文件所在目录中的 Wcetk.txt 文件。如果在生成平台之前向平台添加了 CETK 支持,则 Platform Builder 将在发行版目录中为平台创建一个 Wcetk.txt 文件。

    还可以修改目标设备上的以下注册表项:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/CETT。如果找不到命令行和 Wcetk.txt 文件,Clientside.exe 将从此注册表项中读取设置。如果使用 Windows CE .NET Platform Builder 生成自定义的操作系统映像,则可以通过编辑平台的 product.reg 文件来修改目标设备的注册表,包括 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/CETT 注册表项。生成操作系统映像时,Product.reg 文件的信息被内置到操作系统中。另外,也可以在目标设备运行时使用远程注册表编辑器工具来修改目标设备的注册表。

    PC 端软件

    所有的工作都将在 CETK 的 PC 端或主机端完成。所有测试都存储在 PC 端,即控制设备的地方。主机端用户界面为用户测试设备提供了简单、灵活的环境,并提供了很多功能帮助您管理单个驱动程序或整个设备的测试。

    Test Suite Editor 对话框可用于创建和管理 CETK 的测试套件。测试套件是选出的要进行的测试,存储在 CETK 中,可应用到 CETK 窗口中的任何目标设备。

    Test Suite Editor 可用于创建包含要运行的测试的测试套件。可以将测试套件应用到目标设备上,以便自动选择在 Test Suite Editor(测试套件编辑器)中选定的测试,而不必在目标设备上逐一选择测试。

    用户还可以更改用于测试的默认命令行,以更改测试的运行方式和测试的内容。每个测试通常都包含很多其他选项,用于添加更多功能测试。

    设备端软件

    CETK 的设备端称为 Clientside.exe。Clientside.exe 是一个很小的应用程序,负责调用主机以建立连接、检测设备、启动测试并向主机返回结果。

    Tux 和 Kato

    Tux 是一种用于在 Windows CE .NET 设备上编写和执行测试代码的标准方法。Tux 模型的主要组件是可执行文件 tux.exe,该文件负责启动和控制 tux.dll 文件。

    CETK 为用户提供了生成自定义测试的所有必要文件和说明,使用 User Test Wizard (可以从主机用户界面访问该向导),可以将这些测试添加到 CETK 中。

    Tux 客户端(即 tux.exe)是 Tux 的主要组件。它可以独立运行,也可以与 CETK 结合使用。Tux 客户端是一个控制台应用程序,它采用下面的语法。

    tux [-b] [-e] [-s 文件名 | -d 测试 DLL] [-c 参数] [-r 初始化向量] [-x 测试事例] [-l] [-t 地址] [-h] [-k 地址] [-o] [-f 文件名] [-a]

    下表显示了各种 Tux 参数。

参数 说明
-b 加载每个 Tux DLL 后断开。
-e 禁用异常处理。
-s 文件名 指定要加载/执行的 Tux 套件文件。
-d 测试 DLL 指定要加载/执行的 Tux 测试 DLL。
-c 参数 要传递给 Tux DLL 的命令行。
-r 初始化向量 指定起始随机初始化向量。
-x 测试事例 指定要运行的测试事例。
-l Tux DLL 中所有测试事例的列表。
-t 地址 指定运行 Tux 服务器的计算机。使用不带参数的 -t 指定本地服务器。
-h 生成 Tux 参数列表。

    Tux 还可以使用名为 Kato 的 .dll 日志记录文件,该文件用于提供通用日志记录接口。Kato 日志记录引擎 (Kato) 是一个面向对象的 32 位客户端/服务器日志记录引擎,允许应用程序记录到单个接口,并将其输出路由到用户定义的多个输出设备上。Kato 是完全线程安全和进程安全的。Kato 为基于 Windows 的桌面操作系统提供了 ANSI 和 UNICODE 接口。

    CETK 自动将 Kato 用作日志记录的方法,以便所有 CETK 测试的结果都相似,从而更加便于理解。

    解释 CETK 测试结果

    要查看已运行的任何测试的结果,请在该测试上单击右键,然后单击 View Result 。将打开选定测试的最新结果。首先显示的信息是测试摘要。每个测试实际上是一个测试套件;每个套件中的某些测试可能会通过,而其他测试可能会失败。如果套件中的任意一个测试失败,CETK 将使整个测试套件失败。例如,如果在只包含 IPV4 的设备上运行 Winsock 测试,测试将显示为失败;如果查看结果,将看到 2 个测试通过,2 个测试失败。这 2 个失败的测试是由于设备中不包含 IPV6,因此在这种情况下,失败是可以预见的。要使 Winsock 测试完全通过,需要安装 IPV4 和 IPV6。

    测试失败和解释方法

    由于 CETK 中的每个测试都是一个测试套件,因此套件中可能有些测试会失败,有些测试会通过。图 1 显示了 Winsock 测试结果。该 Winsock 测试套件包含四个测试。在此方案中,两个测试通过,两个测试失败。如果选择失败的测试,测试列表下方的窗口将显示该测试的结果。结果将说明所测试的内容以及可能返回的结果。它还提供了测试源,以便进一步研究失败原因。测试源位于 Platform Builder 的最后一张 CD 的 CETK_Sources 文件夹中。也可以从 Web 上下载这些测试,如 Shared Source for the Windows CE .NET 4.1 Test Kit (英文)一文中所述。

图 1:Winsock 测试结果

    BSP 认证

    板卡支持程序包 (BSP) 认证程序的建立,是为了创建用于 Windows CE .NET 的第三方设备和软件的可靠性和稳定性标准。

    Microsoft Windows CE .NET BSP 和 CPU 认证计划旨在认证 Windows CE .NET BSP 和 CPU 的兼容性。由 Microsoft 确认的认证具有以下优势:

  • 它能够保证 BSP 和 CPU 满足由 Microsoft Windows CE .NET 操作系统的 Standard Development Board Specification (英文)设置的要求,因此更容易被客户和 OEM 厂商接受。
  • BSP 和 CPU 通过认证测试后,将添加到 Supported BSP (英文)和支持的处理器列表中。
  • 能包括在此列表中,是质量保证方面的一个营销亮点,有助于树立良好的企业形象。

    创建程序的目的是使其简单而有效。CETK 提供了用于认证的所有测试。这样,在将设备或 BSP 送往 Microsoft 进行认证之前,OEM 厂商和设备生产厂商就很容易先对它进行测试。有关该程序的详细信息,请访问 BSP and CPU Certification Process for Windows CE .NET (英文)。

    如何提交硬件进行认证

    准备提交硬件进行认证时,需要在申请表中填写设备运行的 Windows CE 版本。该表格位于 BSP Certification 网站 (英文)。

    请将以下内容提交到下面列出的地址:

  • 两个同样的设备。
  • 操作系统映像,准备加载到带有要认证的 BSP 的设备上。
  • 所有可用 CETK 测试的列表。这是完整的“BSP 和 CPU 认证申请表”。
  • 测试费:每个 BSP 的测试费为 1,500 美元,在提交时支付。此费用最多可以进行两次测试。如果需要重新测试,还需支付 1,000 美元的费用。 注意: 请在申请表或支票上的适当位置填写定单号。请确保您的支票有效,可以支付给 Microsoft Corporation,并将支票、板卡以及填好的“BSP 和 CPU 认证申请表”一起提交。

    Microsoft Corporation
    One Microsoft Way
    Redmond WA, 98052

    ATTN: James Zwygart

    如果对 BSP/CPU 认证程序有疑问或意见,请向 bspcert@microsoft.com 发送电子邮件。

    申请认证前要运行的测试

    进行认证时要执行的测试取决于所提交的设备。由于每个设备的配置可能会有所不同,因此 CETK 将通过自动检测设备上的外围设备来完成大部分工作。验证是否选择了硬件所需的所有可用测试也是非常重要的。

    如何解释 BSP 认证测试的结果

    BSP 认证程序使用 CETK 作为测试方法,因此可以用解释 CETK 测试通过或失败的方法来解释其结果。

    如何同时获得可靠性和认证

    设备或 BSP 的认证能够确保设备符合 Microsoft 的稳定性和可靠性标准。要了解 Microsoft 设置的基准,请访问 Standard Development Board Specification (英文)。Windows CE 测试工具包遵循标准开发板卡规范,因此可以验证您的板卡支持程序包是否符合标准开发板卡的基准要求。

    驱动程序验证

    驱动程序验证程序 (DVP) 旨在为 Microsoft Windows CE .NET 的开发人员、独立硬件供应商 (IHV) 或 OEM 许可证持有者提供验证其驱动程序适用于 Windows CE .NET 操作系统的机会。

    此验证程序具有以下优点:

  • 可以根据提交的测试结果,确认驱动程序在提交时与指定的 Windows CE .NET 操作系统兼容。
  • 驱动程序通过验证测试后,将添加到 Windows CE .NET Supported Device Drivers (英文)列表中。

    能包括在此列表中,表明通过验证的设备驱动程序符合 Microsoft 标准,与 Windows CE .NET 兼容,有助于树立良好的企业形象。

    提交要验证的驱动程序

    提交过程非常简单。 Driver Validation Program (英文)网站介绍了提交过程并提供了提交表。

  1. 测试驱动程序 。必须通过运行 Platform Builder 4.0 for Windows CE .NET 中包含的 CETK 中的相关测试来测试驱动程序。这种测试必须根据 CETK 附带的说明和原则来进行。
  2. 填写提交表 。下载驱动程序验证提交表并填写完整。

    如果要将驱动程序提交到 Microsoft Corporation 以便存储在 Microsoft 网站上并分发给最终用户,则必须将设备驱动程序作为 .msi 文件(通过 Windows CE .NET Platform Builder 创建)提交。还必须为 MSI 程序包中的设备驱动程序创建 .cec 文件。.MSI 和 .cec 文件能够将设备驱动程序更容易地集成到 Platform Builder IDE 目录中,最终用户只需一个单击操作即可完成操作。有关 Platform Builder 中提供的、有助于为设备驱动程序创建 .cec 和 .msi 文件的工具的详细信息,请参阅 Platform Builder 文档中的“Device Driver Integration into the IDE”。 注意: Microsoft 不负责确认驱动程序的最终用户许可条款。您应该在驱动程序文件中包括一个自述文件或最终用户许可协议 (EULA),来规定驱动程序可以在何种情况下使用。您必须完全为您的驱动程序负责。Microsoft 对驱动程序的任何技术或客户支持、更新、市场或其他方面的事宜概不负责。

  3. 递交表格 。向“Windows CE 驱动程序验证程序提交”发送电子邮件并附加您的提交表、驱动程序和 CETK 日志。

    驱动程序验证对系统可靠性的作用

    设备驱动程序的验证能够确保设备驱动程序符合 Microsoft 的稳定性和可靠性标准。要了解 Microsoft 设置的基准,建议您阅读 Windows CE .NET 附带的设备驱动程序文档 (英文)。

    小结

    Microsoft 致力于提供工具和文档,帮助开发人员构建可靠的设备和设备驱动程序。Microsoft 提供了 BSP 认证程序和驱动程序验证程序,OEM 厂商可以使用这些程序验证设备是否符合 Microsoft 稳定性和可靠性标准。

    Microsoft 欢迎广大客户提供有关 BSP 和驱动程序测试工具当前版本的反馈信息。要提供反馈信息,请向以下地址发送电子邮件:

    BSP 认证 - bspcert@microsoft.com

    驱动程序验证 - cedvpsub@microsoft.com

    更多信息

    有关 Windows CE .NET 的最新信息,请访问 Windows Embedded 网站 (英文)。

    Windows CE .NET 附带的联机文档和上下文相关帮助也提供了有关使用 Windows CE .NET 的全面的背景信息和说明。

    此外,还可以访问 Windows Embedded 网站 (英文)上有关 Windows CE .NET 的产品文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值