USB 测试和示例的通用准则

概述

一般而言,所有 USB 示例和测试都与平台无关,不应需要平台特定的 overlay。尽管代码树中可能已经存在例外,但目标是避免平台特定的 overlay。USB 示例或 USB 测试没有义务支持特定的平台。

开发板配置

默认 USB 设备和主机控制器

USB 支持使用 zephyr_udc0 节点标签分配默认 USB 设备控制器,并使用 zephyr_uhc0 节点标签分配默认 USB 主机控制器。开发板必须根据其支持的功能分配这些节点标签,才能执行代码树中的示例和测试。

开发板元数据支持的功能

开发板元数据文件只有两个受支持的功能特性,由 Twister 用来选择示例或测试。对于带有支持设备模式 USB 控制器的开发板,该特性为 usbd。对于带有支持主机模式 USB 控制器的开发板,该特性为 usbh。

更多详细信息请参见 开发板配置。

已弃用的特性

不应再使用 usb_device 特性。该特性属于旧版 USB 设备协议栈,后者已弃用并将被移除。

测试的 Twister 配置

USB 测试可能需要额外的硬件或软件设置。这些测试应使用下表中描述的 夹具。

夹具

用例

usb_host_connected

该测试实现 USB 设备功能,并要求将 USB 主机连接到被测开发板。

usb_device_connected

该测试实现 USB 主机功能,并要求将 USB 设备连接到被测开发板。