Espressif TinyUSB fork with DFU runtime
Go to file
hathach 45e76ee34f update path to keil debug.ini for board NGX43330 2014-04-13 12:53:27 +07:00
boards remove RF1GHZNODE from board/readme.md 2014-04-04 12:22:33 +07:00
demos update path to keil debug.ini for board NGX43330 2014-04-13 12:53:27 +07:00
doxygen rename getting_started.md 2014-04-11 12:09:49 +07:00
mcu change keil_ram.ini to lpc43xx_debug_init.ini 2014-04-08 13:56:53 +07:00
tests update md 2014-03-28 17:50:30 +07:00
tinyusb remove OSAL_VAR for the simplicity 2014-04-09 22:29:38 +07:00
tools refractor hid device driver 2013-12-02 14:17:51 +07:00
vendor fix cmsis rtx problem by rebuilding the libRTX_CM4.a with lpcxpresso/tools 2014-04-09 22:06:40 +07:00
.travis.yml update ,travis.yml 2013-06-29 16:18:36 +07:00
changelog.md markdown work for TDD page 2014-03-26 12:35:19 +07:00
readme.markdown all classes work well with lpcxpresso device freertos 2014-03-31 12:38:12 +07:00
tinyusb.Doxyfile move doxygen folder outside 2014-03-31 16:40:54 +07:00

readme.markdown

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

tinyusb diagram

Features

Host

  • HID Mouse
  • HID Keyboard
  • HID Generic (comming soon)
  • Communication Device Class (CDC)
  • Mass Storage Class (MSC)
  • Hub
    • 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 TUSB_CFG_OS macro.

  • None OS
  • FreeRTOS
  • CMSIS RTX

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

Toolchains

You can compile with any of following toolchains

  • lpcxpresso/redsuite
  • Keil MDK
  • IAR Workbench

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 here

How Can I Help

If you find my little USB stack is useful and want to give something back

Donate Time

You can contribute your time by helping with programming, testing and filing bug reports, improving documentation. Or simply by using tinyusb, giving me some feedback on how to improve it and telling others about it.

Donate Money

If you don't have time but still want to help, then please consider making a financial donation. This will help to pay the (mostly coffee) bills and motivate me to continue working on tinyusb. You can do so using the donation button, or contact me for other payment methods.

Click here to lend your support to tinyusb donation and make a donation at pledgie.com //: # (\endhtmlonly)