Lightweight USB device and host stack for STM32 and other MCUs. Ready for USB 3.0 device.
Lightweight USB device and host stack for STM32 and other MCUs. Ready for USB 3.0 device.
一个简易的单片机USB主机和设备协议栈,现在支持3.0设备。
A teeny USB device and host stack for MCUs, support super speed device.
关于TeenyUSB的实现细节和使用方式请阅读《STM32 USB设备开发指南》 Github下载 , 21IC下载
USB描述符由TeenyDT生成。 在线试用TeenyDT
USB descriptor is generate by TeenyDT. Try TeenyDT online
编译工具为 arm-none-eabi-gcc is the compile toolchain.
调试使用VSCode+OpenOCD,如何在VSCode中配置STM32开发调试环境?
git clone https://github.com/xtoolbox/TeenyUSB.git
cd TeenyUSB
git submodule update --init
cd sample
make all -j8
如果更新mcu库很慢,可以使用gitee.com镜像。https://gitee.com/xtoolbox/st_driver.git
…
.
├── TeenyDT # 基于lua的USB描述符生成工具 A lua based USB descriptor generator
├── sample # 示例代码 Sample projects
├── mcu_lib # MCU文件子仓库,MCU library sub module
├── core # USB核心文件, TeenyUSB core file
├── class # USB设备类和主机类文件, TeenyUSB device and host class file
├── driver_stm32 # STM32驱动文件。 STM32 Driver file
├── pc_test_tool # 基于lua Qt的Windows USB 测试程序 A luaQt based Windows program to test CDC/HID/WinUSB devices
└── third_part # 第三方代码,如FatFs,rt-thread。 Third part source code, e.g. FatFs, rt-thread.
| Board Folder | Board Type | Chip | HSE Freq | USB Core |
|---|---|---|---|---|
| stm32f072c8t6 | Custom board | STM32F072C8T6 | No HSE | USB FS |
| stm32f103ret6 | Custom board | STM32F103RET6 | 8 MHz | USB FS |
| stm32f107vc | Custom board | STM32F107VCT6 | 25 MHz | OTG_FS |
| stm32f3_disco | stm32f3 disco | STM32F303VCT6 | 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 |
| stm32h743_openmv | stm32h743_openmv | STM32H743VIT6 | 12 MHz | OTG_FS |
| ch565w_evk | ch565w_evk | CH565W | 30 MHz | OTG_SS |
No open issues yet, or sync has not completed.