A teeny USB stack for STM32 MCUs, also contain a toolset to create USB descriptors and drivers.
关于TeenyUSB的实现细节和使用方式请阅读《STM32 USB设备开发指南》 Github下载 , 21IC下载
- 设备例程:串口,5路串口,自定义HID,自定义设备批量传输(无需驱动)。
- 主机例程:无协议栈主机,键盘鼠标+HUB。
- 使用lua脚本生成USB相关描述符,并根据描述符自动生成初始化配置代码。
- 根据USB描述自动生成驱动文件,并对驱动文件签名。
- Device demo: CDC, multiple CDC, Custom HID, Custom Bulk (No custom driver need, even no inf)
- Host demo: raw host, hub+keyboard+mouse
- USB descriptor generation by lua script and UI tool
- Driver inf generation (based on libwdi)
usb_stack TeenyUSB协议栈的源码 Source code of TeenyUSB
TeenyDT 描述符自动生成工具及源码 Source code of USB descriptor tool
pc_test_tool PC端测试工具及源码 Source code for USB device test tool
Demo Folder | Demo Type | Tested Board |
---|---|---|
custom_bulk | 自定义 Bulk 设备 | All Below |
cdc | 虚拟串口 CDC | All Below |
msc | 虚拟U盘 Mass Storage | All Below |
custom_hid | 自定义 HID 设备 | All Below |
cdc5 | 5路 CDC | All Below |
CubeMXF107 | CubeMX+TeenyUSB 自定义设备 | STM32F107VCT6 |
CubeMXF303 | CubeMX+TeenyUSB 自定义设备 | STM32F3 Disco |
CubeMXF723 | CubeMX+TeenyUSB 自定义设备 | stm32f723e discovery |
The host is not stable right now
主机例程目前还不稳定
Demo Folder | Demo Type | Tested Board |
---|---|---|
host_raw | 无协议栈主机 Raw Host | 723 |
host_input | HUB+KeyBoard+Mouse | 723 |
Board Folder | Board Type | Chip | HSE Freq | Tested USB Core |
---|---|---|---|---|
stm32f0 | Custom board | STM32F072C8T6 | No HSE | USB FS |
stm32f1 | Custom board | STM32F103RET6 | 8 MHz | USB FS |
stm32f407_evk | Waveshare EVK407I | STM32F407IGT6 | 8 MHz | OTG_FS/OTG_HS_ULPI |
stm32f723e_disco | stm32f723e discovery | STM32F723IEK6 | 25 MHz | OTG_FS/OTG_HS_Embed |
stm32767zi_nucleo | stm32f767zi nucleo | STM32F767ZIT6 | 8 MHz | OTG_FS |
lua gen_descriptor.lua demo.lua -maxep=7 -maxmem=1024
TeenyDT版本描述符示例,Demo of descriptor in TeenyDT
return Device {
strManufacture = "TeenyUSB",
strProduct = "TeenyUSB CDC",
strSerial = "TUSB123456",
idVendor = 0x0483,
idProduct = 0x0002,
prefix = "CDC",
Config {
CDC_ACM{
EndPoint(IN(3), Interrupt, 64),
EndPoint(IN(1), BulkDouble, 64),
EndPoint(OUT(2), BulkDouble, 64),
},
}
}
更多示例 More TeenyDT Descriptor Demo:Custom Bulk,CDC,CDCx5,MSC,Custom HID
串口测试 Serial Port Viewer
HID测试 HID Viewer