From 142f274c1d0cef2a1a5623885be29e2fecef4445 Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 12 Dec 2018 16:35:53 +0700 Subject: [PATCH] docs update --- README.md | 103 ++++++++++++++++++++------------------------------- hw/readme.md | 3 -- 2 files changed, 40 insertions(+), 66 deletions(-) delete mode 100644 hw/readme.md diff --git a/README.md b/README.md index 8c9f3fc9..4d4a6842 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,72 @@ -# tinyusb # +# tinyusb - - -**Table of Contents** +tinyusb is an cross-platform open-source USB Host/Device stack for embedded system. -- [Features](#features) - - [Host](#host) - - [Device](#device) - - [RTOS](#rtos) - - [Supported MCUs](#supported-mcus) - - [Toolchains](#toolchains) -- [Getting Started](#getting-started) -- [Uses](#uses) -- [Porting](#porting) -- [License](#license) +![tinyusb](https://user-images.githubusercontent.com/249515/49858616-f60c9700-fe27-11e8-8627-e76936352ff7.png) - +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 -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. +## Device Stack -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](http://docs.tinyusb.org/images/tinyusb_overview.png) - -## Features ## - -### Device ### - -- HID Mouse -- HID Keyboard -- HID Generic +- Human Interface Device (HID): Keyboard, Mouse, Generic - Communication Class (CDC) - Mass Storage Class (MSC) -### Host ### +## Host Stack -** Most active development is on the Device stack. The Host stack is largely untested.** +** Most active development is on the Device stack. The Host stack is under rework and largely untested.** -- HID Mouse -- HID Keyboard -- HID Generic (coming soon) -- Communication Device Class (CDC) +- Human Interface Device (HID): Keyboard, Mouse, Generic - Mass Storage Class (MSC) - Hub currently only support 1 level of hub (due to my laziness) -### RTOS ### +## OS Abtraction layer -Currently the following OS are supported with tinyusb out of the box with a simple change of CFG_TUSB_OS macro. +Currently the following OS are supported with tinyusb out of the box with a simple change of **CFG_TUSB_OS** macro. -- **None OS** +- **No OS** - **FreeRTOS** -- **MyNewt** +- **MyNewt** (work in progress) -### 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 ### +## Supported MCUs The stack supports the following MCUs - - LPC11uxx - - LPC13uxx (12 bit ADC) - - LPC175x_6x - - LPC43xx - - MicroChip SAMD21 - - MicroChip SAMD51 - - Nordic nRF52840 + - **NXP:** LPC11Uxx, LPC13xx, LPC175x_6x, LPC177x_8x, LPC40xx, LPC43xx + - **MicroChip:** SAMD21, SAMD51 (device only) + - **Nordic:** nRF52840 -[Here is the list of supported Boards](boards/readme.md) in the code base +[Here is the list of supported Boards](hw/bsp/readme.md) -## Getting Started ## +## Compiler & IDE -[Here is the details for getting started](doxygen/getting_started.md) with the stack. +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. -## Uses ## +## 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: -* [nRF52840 UF2 Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader) +* [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 ## +## Porting -Want to help add TinyUSB support for a new MCU? Read [here](doxygen/porting.md) for an explanation on the low-level API needed by TinyUSB. +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 ## +## 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) +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. diff --git a/hw/readme.md b/hw/readme.md deleted file mode 100644 index 0f430806..00000000 --- a/hw/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Supported MCUs # - -Currently \ No newline at end of file