USB协议栈开发Skill usb-stack

USB协议栈开发技能专注于嵌入式系统中USB设备与主机通信协议的实现与优化。核心能力包括USB描述符生成、设备类(CDC/HID/MSC/DFU)开发、USB栈配置(TinyUSB/STM32/NXP)、枚举调试、协议分析以及高级功能实现。适用于USB驱动程序开发、DFU引导加载程序设计、USB接口规范制定等场景。关键词:USB协议栈、嵌入式USB、USB描述符、USB设备类、USB调试、TinyUSB、STM32 USB、USB DFU、USB枚举、USB分析。

嵌入式软件 1 次安装 40 次浏览 更新于 2/25/2026

名称: usb-stack 描述: USB设备与主机栈实现专业知识 类别: 通信协议 允许工具:

  • Bash
  • Read
  • Write
  • Edit
  • Glob
  • Grep

USB栈技能

概述

本技能为嵌入式系统提供USB设备与主机栈实现专业知识,涵盖描述符生成、设备类实现和协议调试。

能力

USB描述符生成

  • 设备描述符配置
  • 配置描述符
  • 接口描述符
  • 端点描述符
  • 字符串描述符
  • BOS描述符(USB 3.x)

设备类实现

  • CDC(通信设备类)
  • HID(人机接口设备)
  • MSC(大容量存储类)
  • DFU(设备固件升级)
  • 音频类
  • 视频类
  • 自定义类实现

USB栈配置

  • TinyUSB配置
  • STM32 USB栈设置
  • NXP USB栈集成
  • Zephyr USB子系统
  • 端点缓冲区管理

枚举与调试

  • 枚举序列调试
  • 协议分析
  • USB分析仪集成
  • 描述符验证
  • 合规性测试

高级功能

  • 复合设备配置
  • USB供电
  • 高速/全速选择
  • 等时传输
  • 中断传输
  • 批量传输

DFU实现

  • DFU引导加载程序设计
  • 运行时DFU模式
  • 分离与下载
  • 上传能力
  • 清单阶段处理

目标流程

  • device-driver-development.js - USB驱动程序实现
  • bootloader-implementation.js - USB DFU引导加载程序
  • hw-sw-interface-specification.js - USB接口规范

依赖项

  • TinyUSB或供应商USB栈
  • USB协议分析仪
  • usb-tools(lsusb, usbmon)

使用场景

本技能在以下任务需求时调用:

  • USB设备实现
  • 设备类开发
  • USB引导加载程序创建
  • 协议调试
  • 描述符优化

设备类示例

CDC虚拟COM端口

tusb_desc_interface_t cdc_interface = {
    .bLength            = sizeof(tusb_desc_interface_t),
    .bDescriptorType    = TUSB_DESC_INTERFACE,
    .bInterfaceNumber   = 0,
    .bAlternateSetting  = 0,
    .bNumEndpoints      = 2,
    .bInterfaceClass    = TUSB_CLASS_CDC,
    .bInterfaceSubClass = CDC_COMM_SUBCLASS_ACM,
    .bInterfaceProtocol = CDC_COMM_PROTOCOL_NONE,
    .iInterface         = 0
};

HID报告描述符

uint8_t const hid_report_desc[] = {
    HID_USAGE_PAGE(HID_USAGE_PAGE_DESKTOP),
    HID_USAGE(HID_USAGE_DESKTOP_MOUSE),
    HID_COLLECTION(HID_COLLECTION_APPLICATION),
        HID_USAGE(HID_USAGE_DESKTOP_POINTER),
        HID_COLLECTION(HID_COLLECTION_PHYSICAL),
            // ... 按钮和轴
        HID_COLLECTION_END,
    HID_COLLECTION_END
};

配置

usb:
  vid: 0x1234
  pid: 0x5678
  device_class: cdc | hid | msc | dfu | composite
  speed: full | high
  endpoints:
    - ep1_in: bulk, 64
    - ep1_out: bulk, 64