赞
踩
TinyUSB 是一个用于嵌入式系统的开源跨平台 USB 主机/设备堆栈,设计为内存安全,无需动态分配,线程安全,所有中断事件都被推迟,然后在非 ISR 任务函数中处理。查看在线文档以获取更多详细信息。
源码链接:GitHub - chjun8/tinyusb: An open source cross-platform USB stack for embedded system
.
├── docs # Documentation
├── examples # Examples with make and cmake build system
├── hw
│ ├── bsp # Supported boards source files
│ └── mcu # Low level mcu core & peripheral drivers
├── lib # Sources from 3rd party such as freeRTOS, fatfs ...
├── src # All sources files for TinyUSB stack itself.
├── test # Tests: unit test, fuzzing, hardware test
└── tools # Files used internally
有关使用 TinyUSB 及其实现方式的信息,请参阅在线文档。
我们使用GitHub Discussions作为我们的论坛。这是向社区提出问题和建议或讨论基于 TinyUSB 的项目的好地方。
对于错误和功能请求,请提出问题并遵循那里的模板。
查看入门指南,将 TinyUSB 添加到您的项目或构建示例。如果您是 TinyUSB 的新手,我们建议您从cdc_msc示例开始。
请参阅移植指南以添加对新 MCU 和板的支持。
通过动态更改 USB 描述符、挂起、恢复和远程唤醒等低功耗功能来支持多种设备配置。支持以下设备类别:
如果您有特殊要求,可以使用usbd_app_driver_get_cb()编写自己的类驱动程序,而无需修改堆栈。以下是 RPi 团队如何添加重置接口raspberrypi/pico-sdk#197
与设备堆栈类似,如果您有特殊要求,可以使用usbh_app_driver_get_cb()编写自己的类驱动程序,而无需修改堆栈。
TinyUSB 是完全线程安全的,它将所有中断服务请求 (ISR) 事件推送到中央队列,然后在非 ISR 上下文任务函数中对其进行处理。它还使用信号量/互斥体来访问共享资源,例如通信设备类 (CDC) FIFO。因此,堆栈需要使用操作系统的一些基本 API。以下操作系统已经得到开箱即用的支持。
支持以下 CPU,请查看支持的设备以获取每个 CPU 的驱动程序和功能的完整列表。
支持以下 CPU,请查看支持的设备以获取每个 CPU 的驱动程序和功能的完整列表。
制造商 | 家庭 |
---|---|
全志 | F1C100/F1C200 |
模拟 | MAX3421E(USB主机扩展板) |
布里格泰克 | FT90x |
博通 | BCM2711、BCM2837 |
对话 | DA1469x |
乐鑫 | ESP32 S2、S3 |
兆易创新 | GD32VF103 |
英飞凌 | XMC4500 |
微芯片 |
---+-------------------------------------------------------- ----------+ 图片| 24、32mm、32mk、32mx、32mz、dsPIC33 |
心灵感应 | 毫米32 |
北欧半导体 | nRF52833、nRF52840、nRF5340 |
新唐 | NUC 120, 121, 125, 126, 505 |
恩智浦 |
------+---------------------------------------- ----------+ 动力学|吉隆坡,K32L2 ------+---------------------------------------- ----------+ 液化石油气 | 11u、13、15、17、18、40、43、51u、54、55 ------+---------------------------------------- ----------+ MCX | A15、N9 |
树莓派 | RP2040 |
瑞萨 | 接收| 63N、65N、72N |
RA | 4M1、4M3、6M1、6M5 | |
西拉布斯 | EFM32GG12 |
索尼 | CXD56 |
意法半导体STM32 | F0、F1、F2、F3、F4、F7、H7、G0、G4、L0、L1、L4、L4+ U5、WB |
TI | MSP430、MSP432E4、TM4C123 |
价USB | 埃普特里 |
世界卫生大会 | CH32F20x、CH32V307、 |
文件夹中的所有 TinyUSB 源src
均已获得 MIT 许可证的许可,完整许可证位于此处。但是,每个文件都可以单独许可,尤其是lib
和hw/mcu
文件夹中的文件。请确保您了解项目中使用的文件的所有许可条款。
移植教程,后续补上,蟹蟹参阅!!!
STM32 移植参考文章:
2、【RT-Thread】 TinyUSB挂载成U盘和文件系统,基于STM32F405RG-CSDN博客
ESP32 移植参考文章:4. ESP32S3 使用USB 加载SD_SDIO 当作 U盘使用_esp32的usb使用-CSDN博客
MM32 移植参考文章:基于 TinyUSB 协议栈实现 CMSIS-DAP_开源usb协议栈-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。