Espressif TinyUSB fork with DFU runtime
Go to file
Scott Shawcroft bf70f89240
Introduce a Makefile for the OS_NONE device example
It currently supports the SAMD21 and SAMD51 only. More will be
added later.
2018-11-25 11:46:06 -08:00
doxygen rename CFG_TUSB_MEM_SECTION to CFG_TUSB_MEM_SECTION 2018-11-22 17:21:07 +07:00
examples Introduce a Makefile for the OS_NONE device example 2018-11-25 11:46:06 -08:00
hw Introduce a Makefile for the OS_NONE device example 2018-11-25 11:46:06 -08:00
lib refractor device composite example 2018-11-22 00:25:03 +07:00
src Introduce a Makefile for the OS_NONE device example 2018-11-25 11:46:06 -08:00
tests rename xfer complete enum 2018-11-23 15:17:43 +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 disable running test for lpc175x_6x on travis 2014-04-18 14:01:36 +07:00
LICENSE add license file 2018-04-17 16:08:48 +07:00
README.md clean up 2018-09-07 16:59:31 +07: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 is an OS-awared stack that can run across RTOS vendors. For the purpose of eliminating bugs as soon as possible, the stack is developed using Test-Driven Development (TDD) approach. More documents and API reference can be found at http://docs.tinyusb.org

tinyusb diagram

Features

Host

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

Device

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

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
  • CMSIS RTX

Toolchains

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

  • lpcxpresso
  • Keil MDK
  • IAR Workbench

Supported MCUs

The stack supports the following MCUs

  • LPC11uxx
  • LPC13uxx (12 bit ADC)
  • LPC175x_6x
  • LPC43xx

Here is the list of supported Boards in the code base

Getting Started

Here is the details for getting started with the stack.

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