windows USB 设备驱动开发- 对 MUTT 设备进行 BIOS/UEFI 测试

对 MUTT 设备进行 BIOS/UEFI 测试,BIOS/UEFI 测试验证 USB 启动以及控制器到操作系统的切换。

USB 启动配置

在 USB 2.0 (EHCI) 和 USB 3.0 (xHCI) 控制器上执行这些测试,每种主要 USB 媒体类型 ,USB 2.0 BOT、USB 3.0 BOT 和 USB 3.0 UASP 以及 USB DVD 。

每个方案的预期结果是以下事件之一:

  • 当用户输入正确的键序列时,附加的键盘允许用户 (BIOS/UEFI 配置) 进入配置模式;
  • 未按下键序列时,从 USB 设备启动;

这些方案假定 BIOS /UEFI 配置为从 USB 启动。 每个附加的 USB 存储设备都使用 Windows 识别的文件系统进行格式化。

  • USB 启动方案 1 - USB 3.0 集线器
  • USB 启动方案 2 – USB 2.0 集线器
  • USB 启动方案 3 - 根端口
非 USB 启动配置

在这种情况下,假定没有 USB 可启动媒体连接到系统,或者 BIOS/UEFI 配置为不从 USB 启动。 使用附加的 USB 键盘/鼠标进入配置模式是此处未列出的预期方案。

此方案的预期结果是,SuperMUTT Pack 和 MUTT Pack 在启动到操作系统并运行标准 MUTT 测试后正常运行。 验证测试设备后,系统应执行每个受支持的系统电源状态 (S3、S4 等) ,并验证 MUTT 测试设备在每次系统恢复后是否仍然正常运行。 在每个恢复事件后运行 MUTT 测试。

使用 MUTT 设备的 USB 集线器测试

中心测试的目标是从设备生成一组完整的可能流量模式。 可以通过添加上游 SuperMUTT 包来测试断开连接方案。

中心测试先决条件

在提升的命令提示符下运行 MUTT 测试命令之前,请确保满足以下要求:

测试系统必须运行最新版本的 Windows。
设置和配置 MUTT 设备并安装固件。 有关详细信息,请参阅 如何准备测试系统以运行 MUTT 测试工具。

建议的中心测试
  • USB IF 电气测试。 我们所有的测试都以协议和状态为重点。 有关电气测试的详细信息,请参阅 USB-IF 合规性计划 。
  • MUTT 软件包中包含的 MUTT 压力和传输测试,其中 MUTT 设备在 USB 控制器的建议配置中连接。 RunTest.bat 同时运行压力和传输测试。 请参阅 如何为 MUTT 设备运行压力和传输性能测试。
  • 设备基础测试。 有关详细信息,请参阅 如何在 Visual Studio 中为 MUTT 设备运行开发资金测试。
  • 控制器 Windows 硬件认证工具包测试。 有关详细信息,请参阅 USB-IF 认证验证测试 (控制器) 。
  • 主控制器的手动测试用例,如 部分的 Windows 测试指南文档中所述。
使用 MUTT 设备进行中心测试的建议拓扑
  • 将 MUTT 设备附加到每个可用的下游端口。
  • 将 SuperMUTT 附加到一半的可用端口。 将 MUTT 设备连接到剩余端口。
  • 附加 SuperMutt Pack 上游受测中心,并且下游端口具有相等数量的 SuperMUTT 和 MUTT 设备,如下图所示:

使用 MUTT 设备的 USB 主机控制器测试

控制器测试的目标是从中心和设备生成一组完整的可能流量模式。 这允许对控制器及其固件的内部状态进行全面测试。 MUTT 设备可以通过提供自动化方法来生成各种可能的协议方案来帮助测试。

USB 主机控制器测试先决条件

在提升的命令提示符下运行 MUTT 测试命令之前,请确保满足以下要求:

  • 测试系统必须运行最新版本的 Windows 8。
  • 设置和配置 MUTT 设备并安装固件。 有关详细信息,请参阅 如何准备测试系统以运行 MUTT 测试工具。
推荐的 USB 主机控制器测试
  • USB IF 电气测试。 我们的所有测试都以协议和状态为重点。 
  • MUTT 软件包中包含的 MUTT 压力和传输测试,其中 MUTT 设备在 USB 控制器的建议配置中连接。 RunTest.bat 同时运行压力测试和传输测试。
  • SuperMUTT 性能测试。 
  • 设备基础测试。 
  • 控制器 Windows 硬件认证工具包测试。
  • 主机控制器的手动测试用例,如 部分中的 Windows 测试指南文档所示。
使用 MUTT 设备测试 USB 主机控制器的拓扑

请考虑测试中的 xHCI 控制器的以下配置:

  • 将 MUTT 设备附加到所有可用端口。
  • 划分可用端口,以便 SuperMUTT 和 MUTT Pack 设备的数量相等。 对于 MUTT 包,请附加下游 MUTT 设备。
  • 将 SuperMUTT 附加到一半的可用端口。 将 SuperMUTT Pack 设备附加到其余端口。 对于 SuperMUTT 包,请附加下游 SuperMUTT 设备。
  • 可以有一个复杂的拓扑。 例如,假设有四个端口的控制器。 下图显示了一个示例拓扑。

使用 MUTT 设备的 USB 设备测试

设备测试的目标是针对各种中心方案和系统电源状态测试设备使用情况。 MUTT Pack 和 SuperMUTT Pack 设备可以提供一种方法来公开设备,以便跨不同的中心和系统电源状态方案进行连接/断开连接。 分别将设备连接到 MUTT Pack 和 SuperMUTT Pack 设备中的 USB 2.0 和 3.0 集线器时对其进行测试。

USB 设备测试先决条件

在提升的命令提示符下运行 MUTT 测试命令之前,请确保满足以下要求:

  • 测试系统必须运行最新版本的 Windows 8。
  • 设置和配置 MUTT 设备并安装固件。 有关详细信息,请参阅 如何准备测试系统以运行 MUTT 测试工具。
建议的设备测试
  • USB IF 电气测试。 我们所有的测试都以协议和状态为重点。 有关电气测试的详细信息,请参阅 USB-IF 合规性计划 。
  • 设备基础测试。 有关详细信息,请参阅 如何在 Visual Studio 中为 MUTT 设备运行开发资金测试。
  • 控制器 Windows 硬件认证工具包测试。 有关详细信息,请参阅 USB-IF 认证验证测试 (控制器) 。
  • 主控制器的手动测试用例,如 部分的 Windows 测试指南文档中所述。
用于测试 USB 设备的拓扑

对于受测 USB 设备,请考虑以下配置:

  • 测试设备位于 SuperMUTT Pack 的下游。

  • 测试设备位于 MUTT Pack 的下游。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle物化视图解析

目录 一、物化视图的优点二、物化视图的缺点三、物化视图的类型四、创建物化视图五、刷新物化视图1、手动刷新2、自动刷新(1)刷新策略(2)定期刷新(3)快速刷新3.1、快速刷新过程3.2、快速刷新的优点3.3、使用…

pytorch中的面向对象编程方法

一、__xxx__形式的魔法方法 我们可以经常在python代码片段中看到类的定义,其中第一个被定义的方法往往是__init__,如下所示: class Accumulator: """在n个变量上累加"""def __init__(self, n):self.data […

【Android】ListView和RecyclerView知识总结

文章目录 ListView步骤适配器AdpterArrayAdapterSimpleAdapterBaseAdpter效率问题 RecyclerView具体实现不同布局形式的设置横向滚动瀑布流网格 点击事件 ListView ListView 是 Android 中的一种视图组件,用于显示可滚动的垂直列表。每个列表项都是一个视图对象&…

【JavaScript】前端路由

前端路由是指在前端⻚⾯内部实现⻚⾯之间的跳转,⽽不是像传统的⽹⻚跳转那样在后端进⾏⻚⾯跳转,从后端获取 html 页面。前端路由使⽤浏览器的 history 接⼝,通过改变浏览器的 URL,来更新⻚⾯的视图。 前端路由适合⽤于单⻚⾯应⽤…

Python教程(一):环境搭建及PyCharm安装

目录 引言1. Python简介1.1 编译型语言 VS 解释型语言 2. Python的独特之处3. Python应用全览4. Python版本及区别5. 环境搭建5.1 安装Python: 6. 开发工具(IDE)6.1 PyCharm安装教程6.2 永久使用教程 7. 编写第一个Hello World结语 引言 在当…

每日一题 LeetCode03 无重复字符的最长字串

1.题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长字串的长度。 2 思路 可以用两个指针, 滑动窗口的思想来做这道题,即定义两个指针.一个left和一个right 并且用一个set容器,一个length , 一个maxlength来记录, 让right往右走,并且用一个set容器来…

探索Prompt的世界

在人工智能(AI)和自然语言处理(NLP)的飞速发展中,prompt技术作为一种与语言模型交互的重要方式,正逐步占据中心舞台。为了对prompt这一概念进行全面介绍,我们将从其发展历史、运行原理、调试方式…

如何避免蓝屏?轻量部署,安全和业务连续性才能两不误

自19日起,因CrowdStrike软件更新的错误配置而导致的“微软全球蓝屏”,影响依然在持续。这场被称为“史上最大规模的IT故障”,由于所涉全球企业太多,专家估计“蓝屏”电脑全部恢复正常仍需时日。 尽管 CEO 乔治 库尔茨&#xff08…

2024年自动驾驶SLAM面试题及答案(更新中)

自动驾驶中的SLAM(Simultaneous Localization and Mapping,即同步定位与地图构建)是关键技术,它能够让车辆在未知环境中进行自主定位和地图建构。秋招来临之际,相信大家都已经在忙碌的准备当中了,尤其是应届…

Oracle星型查询转换解析

目录 一、星型查询转换原理二、配置星型查询转换三、性能考虑四、案例1、数据模型2、创建表和数据3、创建位图索引4、查询优化前5、查询优化后6、检查执行计划 Oracle的星型查询转换(Star Query Transformation)是Oracle数据库优化器的一个重要特性&…

Go语言入门之错误处理

Go语言入门之错误处理 错误处理是开发中必不可少的一个部分,go中的错误一般有两种,一种为error,一种为panic go语言通常返回一个错误值,然后检查错误值是否为nil,以此判断函数是否执行 1.Error Go使用error接口来表示一…

鸿蒙OpenHarmony Native API【drawing_pen.h】 头文件

drawing_pen.h Overview Related Modules: [Drawing] Description: 文件中定义了与画笔相关的功能函数 Since: 8 Version: 1.0 Summary Enumerations Enumeration NameDescription[OH_Drawing_PenLineCapStyle] { [LINE_FLAT_CAP], [LINE_SQUARE_CAP], [LINE_ROUND_…

Exchange Server 中 Exchange 虚拟目录的默认设置

Exchange Server 2016 和 Exchange Server 2019 在服务器安装过程中自动配置多个 Internet Information Services (IIS) 虚拟目录。 以下部分中的表显示了邮箱服务器上客户端访问 (前端) 服务的设置,以及默认的 IIS 身份验证和安全套接字层 (SSL) 设置。 有时为了调…

聚焦智慧出行,TDengine 与路特斯科技再度携手

在全球汽车行业向电动化和智能化转型的过程中,智能驾驶技术正迅速成为行业的焦点。随着消费者对出行效率、安全性和便利性的需求不断提升,汽车制造商们需要在全球范围内实现低延迟、高质量的数据传输和处理,以提升用户体验。在此背景下&#…

从零开始:神经网络(1)——什么是人工神经网络

声明:本文章是根据网上资料,加上自己整理和理解而成,仅为记录自己学习的点点滴滴。可能有错误,欢迎大家指正。 人工神经网络(Artificial Neural Network,简称ANN)是一种模仿生物神经网络结构和功…

Android SurfaceFlinger——GraphicBuffer初始化(二十九)

在 SurfaceFlinger 中,GraphicBuffer 是一个关键的数据结构,用于封装和管理图形数据的内存缓冲区。它不仅在 SurfaceFlinger 内部使用,也被其他组件如 GPU 驱动、摄像头服务、视频解码器等广泛利用,以实现高效的数据交换和图形渲染。 一、概述 GraphicBuffer 对象封装了一…

从dev分支合并到master分支

git命令从dev分支合并到master分支 1、拉取dev分支的代码 git checkout dev //切换成本地分支 git pull origin dev //拉取远程开发分支 git add . //暂存到本地仓库 git commit -m //增加备注信息 git push origin dev //推送到远程仓库 git checkout master // 切换到maste…

《500 Lines or Less》(5)异步爬虫

https://aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html ——A. Jesse Jiryu Davis and Guido van Rossum 介绍 网络程序消耗的不是计算资源,而是打开许多缓慢的连接,解决此问题的现代方法是异步IO。 本章介绍一个简单的网络爬虫&a…

STM32F0-标准库时钟配置指南

启动 从startup_stm32f0xx.s内的开头的Description可以看到 ;* Description : STM32F051 devices vector table for EWARM toolchain. ;* This module performs: ;* - Set the initial SP ;* - Set t…

使用sqlalchemy查询mysql的JSON字段

使用sqlalchemy查询mysql的JSON字段 在使用SQLAlchemy查询MySQL的JSON字段时,你可以按照以下步骤操作: 假设你有一个包含JSON字段的表格 假设你有一个名为 items 的表格,其中有一个名为 data 的JSON字段。我们来查询这个字段。 1. 定义模型类 首先,你需要定义一个与表…