TinyUSB 是用于嵌入式系统的开源跨平台USB主机/设备堆栈,旨在实现无动态分配的内存安全和延迟所有中断事件的线程安全,然后在非ISR任务功能中进行处理
议栈支持以下MCU
- nordic: nRF52840,nRF52833
- 恩智浦: LPC系列:11Uxx,13xx,175x_6x,177x_8x,18xx,40xx,43xx,51Uxx,54xxx,55xx
- micrpchip: SAMD21,SAMD51(仅设备)
- 索尼: CXD56
- ST: STM32系列:L0,F0,F1,F2,F3,F4,F7,H7(仅设备)
- 通信类(CDC)
- 人机界面设备(HID):通用(输入和输出),键盘,鼠标,游戏手柄等...
- 大容量存储类(MSC):具有多个LUN
- 乐器数字接口(MIDI)
- 具有通用In&Out端点的特定于供应商的类支持。可以与兼容MS OS 2.0的描述符一起使用,以加载不带INF文件的winUSB驱动程序。
- 具有供应商特定类的WebUSB
- 人机界面设备(HID):键盘,鼠标,通用
- 大容量存储类(MSC)
- 集线器目前仅支持1级集线器(由于我的懒惰)
- 无操作系统:禁用USB IRQ用作提供互斥锁的方法
- FreeRTOS
- Mynewt由于有newt软件包构建系统,最好将Mynewt示例作为自己的仓库