Brak opisu

Dmitry fbd8312ed4 ep_read and ep_write revised 9 lat temu
inc fbd8312ed4 ep_read and ep_write revised 9 lat temu
src fbd8312ed4 ep_read and ep_write revised 9 lat temu
.gitattributes e2ee6942b3 Added .gitattributes 9 lat temu
.gitignore 9f83b1a864 Initial release 9 lat temu
Doxyfile 68dfeea293 Renamed request completed callback function, revised doxygen docs 9 lat temu
LICENSE 0940e38eb5 Initial commit 9 lat temu
readme.md 48a67dcda2 Revised MCU support 9 lat temu
usb.h 68dfeea293 Renamed request completed callback function, revised doxygen docs 9 lat temu

readme.md

Lightweight USB Device Stack

  • Lightweight and fast
  • Event-driven process workflow
  • Completely separated USB hardware driver and usb core
  • Easy to use.

Supported hardware

HW driver Written on Endpoints Features MCU series
usb_stmv0 GCC C 8 Internal S/N, Doublebuffered STM32L0x2 STM32L0x3 STM32L4x2 STM32L4x3 STM32F0x2 STM32F0x8
usb_stmv0a GCC ASM 8 Internal S/N, Doublebuffered STM32L0x2 STM32L0x3 STM32L4x2 STM32L4x3 STM32F0x2 STM32F0x8
usb_stmv1 GCC C 8 Internal S/N, Doublebuffered STM32L1xx
usb_stmv1a GCC ASM 8 Internal S/N, Doublebuffered STM32L1xx
  1. Single physical endpoint can be used to implement

    • one bi-directional/single-buffer logical endpoint (CONTROL)
    • one mono-directional/double-buffer logical endpoint (BULK OR ISOCHRONOUS)
    • two mono-directional/single-buffer logical endpoints (BULK OR INTERRUPT)
  2. At this moment BULK IN endpoint can use both buffers, but it is not real doublebuffered.

  3. Tested with STM32L052, STM31L100

Implemented definitions for classes

  1. USB HID based on Device Class Definition for Human Interface Devices (HID) Version 1.11
  2. USB DFU based on USB Device Firmware Upgrade Specification, Revision 1.1
  3. USB CDC based on Class definitions for Communication Devices 1.2

Useful Resources

  1. USB Implementers Forum official site
  2. USB Made Simple
  3. LUFA - the Lightweight USB Framework for AVRs.
  4. Open Source ARM cortex m microcontroller library