diff options
| author | hathach <[email protected]> | 2018-12-12 16:49:38 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2018-12-12 16:49:38 +0700 |
| commit | aa17ec60d3abdc3179d4d496bc072ed633bb67ce (patch) | |
| tree | cda3b554b289ab50f650aa0e7b30adb79e33be22 /README.md | |
| parent | c4a37237171855c0147699c263673c88f2fa6d5d (diff) | |
| parent | 908931320e206e6ae6610cfc56b2a0950f252172 (diff) | |
Merge branch 'develop'
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 169 |
1 files changed, 72 insertions, 97 deletions
@@ -1,97 +1,72 @@ -# tinyusb #
-
-<!-- START doctoc generated TOC please keep comment here to allow auto update -->
-<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
-**Table of Contents**
-
-- [Features](#features)
- - [Host](#host)
- - [Device](#device)
- - [RTOS](#rtos)
- - [Supported MCUs](#supported-mcus)
- - [Toolchains](#toolchains)
-- [Getting Started](#getting-started)
-- [License](#license)
-- [How Can I Help](#how-can-i-help)
- - [Donate Time](#donate-time)
- - [Donate Money](#donate-money)
-
-<!-- END doctoc generated TOC please keep comment here to allow auto update -->
-
-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)](tests/readme.md) approach. More documents and API reference can be found at http://docs.tinyusb.org
-
-
-
-## Features ##
-
-### Host ###
-
-- 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)
-
-### Device ###
-
-- HID Mouse
-- HID Keyboard
-- HID Generic (coming 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**
-
-### 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](boards/readme.md) in the code base
-
-## Getting Started ##
-
-[Here is the details for getting started](doxygen/getting_started.md) 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](tinyusb/license.md)
-
-## 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.
-
-[//]: # (\htmlonly)
-<a href="https://pledgie.com/campaigns/24694"><img alt="Click here to lend your support to tinyusb donation and make a donation at pledgie.com" src="https://pledgie.com/campaigns/24694.png?skin_name=chrome" border="0"></a>
-[//]: # (\endhtmlonly)
-
-
+# tinyusb + +tinyusb is an cross-platform open-source USB Host/Device stack for embedded system. + + + +Folder | Description +----- | ------------- +docs | Documentation +examples| Sample applications are kept with Makefile and Segger Embedded build support +hw/bsp | Source files of supported boards +hw/mcu | Low level mcu core & peripheral drivers (e.g CMSIS ) +lib | Source files from 3rd party such as freeRTOS, fatfs etc ... +src | All sources files for tinyusb stack itself. +tests | Unit tests for the stack +tools | Files used internally + +## Device Stack + +- Human Interface Device (HID): Keyboard, Mouse, Generic +- Communication Class (CDC) +- Mass Storage Class (MSC) + +## Host Stack + +** Most active development is on the Device stack. The Host stack is under rework and largely untested.** + +- Human Interface Device (HID): Keyboard, Mouse, Generic +- Mass Storage Class (MSC) +- Hub currently only support 1 level of hub (due to my laziness) + +## OS Abtraction layer + +Currently the following OS are supported with tinyusb out of the box with a simple change of **CFG_TUSB_OS** macro. + +- **No OS** +- **FreeRTOS** +- **MyNewt** (work in progress) + +## Supported MCUs + +The stack supports the following MCUs + + - **NXP:** LPC11Uxx, LPC13xx, LPC175x_6x, LPC177x_8x, LPC40xx, LPC43xx + - **MicroChip:** SAMD21, SAMD51 (device only) + - **Nordic:** nRF52840 + +[Here is the list of supported Boards](hw/bsp/readme.md) + +## Compiler & IDE + +The stack is developed with GCC compiler, and should be compilable with others. However, it requires C99 to build with. Folder `examples` provide Makefile and Segger Embedded Studio build support. + +## Getting Started + +[Here is the details for getting started](docs/getting_started.md) with the stack. + +## Uses + +TinyUSB is currently used by these other projects: + +* [Adafruit nRF52 Arduino](https://github.com/adafruit/Adafruit_nRF52_Arduino) +* [CircuitPython](https://github.com/adafruit/circuitpython) +* [nRF52840 UF2 Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader) + +## Porting + +Want to help add TinyUSB support for a new MCU? Read [here](docs/porting.md) for an explanation on the low-level API needed by TinyUSB. + +## License + +BSD license for all tinyusb sources [Full license is here](tinyusb/license.md) and most of the code base. However each file/folder is individually licensed especially those in `lib` and `hw/mcu` folder. Please make sure you understand all the license term for files you use in your project. |
