Fără Descriere

hathach 711edd14bf added ses solution 7 ani în urmă
doxygen 6f7c4346c3 add tud_set_descriptors 8 ani în urmă
examples 711edd14bf added ses solution 7 ani în urmă
hw eea1f8597e added board led for metro m4 7 ani în urmă
lib b350d8a086 clean up 7 ani în urmă
src 3fe7cd1659 added tud_cdc_write_str, tu_fifo only use mutex for RTOS config 7 ani în urmă
tests c7340f4b0e clean up helper func 7 ani în urmă
tools 14cebcb5f5 remove tools/usbtreeview 7 ani în urmă
.gitmodules 4b1f4c7b6f add Adafruit samd-peripherals as submodule. 7 ani în urmă
.travis.yml 6aecb62be2 disable running test for lpc175x_6x on travis 12 ani în urmă
LICENSE 2def363e49 add license file 8 ani în urmă
README.md b547859cdd clean up 7 ani în urmă
pkg.yml 1a4a27324b clean up 7 ani în urmă
repository.yml cfdcd5fc39 add repo & verion yml 7 ani în urmă
tinyusb.Doxyfile 3c24671960 mass rename TUSB_CFG to CFG_TUSB 8 ani în urmă
version.yml 1a4a27324b clean up 7 ani în urmă

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