USB DFU (DFU mode) implementation for ESP32-S2 based on tinyUSB
Go to file
hathach 7d3ff7aff6 rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
docs rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
examples rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
hw host port plugged isr detect, but control xfer not work 2018-12-06 00:10:49 +07:00
lib rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
src rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
tests rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
tools Introduce a Makefile for the OS_NONE device example 2018-11-25 11:46:06 -08:00
.gitignore Introduce a Makefile for the OS_NONE device example 2018-11-25 11:46:06 -08:00
.gitmodules remove samd-peripherals submodule 2018-11-20 00:57:34 +07:00
.travis.yml Update travis to build the example 2018-11-25 12:16:28 -08:00
LICENSE add license file 2018-04-17 16:08:48 +07:00
README.md Add a porting doc and make a pass over the others. 2018-11-27 18:07:22 -08:00
pkg.yml clean up 2018-09-02 20:30:07 +07:00
repository.yml add repo & verion yml 2018-09-02 16:46:47 +07:00
tinyusb.Doxyfile mass rename TUSB_CFG to CFG_TUSB 2018-04-10 14:31:11 +07:00
version.yml clean up 2018-09-02 20:30:07 +07:00

README.md

tinyusb

Table of Contents

tinyusb is an open-source (BSD-licensed) USB Host/Device/OTG stack for embedded micro-controllers, especially ARM MCUs. It is designed to be user-friendly in term of configuration and out-of-the-box running experience.

In addition to running without an RTOS, tinyusb can run across multiple RTOS vendors. More documents and API reference can be found at http://docs.tinyusb.org

tinyusb diagram

Features

Device

  • HID Mouse
  • HID Keyboard
  • HID Generic
  • Communication Class (CDC)
  • Mass Storage Class (MSC)

Host

** Most active development is on the Device stack. The Host stack is largely untested.**

  • HID Mouse
  • HID Keyboard
  • HID Generic (coming soon)
  • Communication Device Class (CDC)
  • Mass Storage Class (MSC)
  • Hub currently only support 1 level of hub (due to my laziness)

RTOS

Currently the following OS are supported with tinyusb out of the box with a simple change of CFG_TUSB_OS macro.

  • None OS
  • FreeRTOS
  • MyNewt

Toolchains

You can compile with any of following toolchains, however, the stack requires C99 to build with

  • GCC
  • lpcxpresso
  • Keil MDK
  • IAR Workbench

Supported MCUs

The stack supports the following MCUs

  • LPC11uxx
  • LPC13uxx (12 bit ADC)
  • LPC175x_6x
  • LPC43xx
  • MicroChip SAMD21
  • MicroChip SAMD51
  • Nordic nRF52840

Here is the list of supported Boards in the code base

Getting Started

Here is the details for getting started with the stack.

Uses

TinyUSB is currently used by these other projects:

Porting

Want to help add TinyUSB support for a new MCU? Read here for an explanation on the low-level API needed by TinyUSB.

License

BSD license for most of the code base, but each file is individually licensed especially those in vendor folder. Please make sure you understand all the license term for files you use in your project. Full license is here