All Projects → dmitrystu → Libusb_stm32

dmitrystu / Libusb_stm32

Licence: apache-2.0
Lightweight USB device Stack for STM32 microcontrollers

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Libusb stm32

Dirtyjtag
JTAG probe firmware for STM32F1
Stars: ✭ 183 (-50.81%)
Mutual labels:  usb, stm32
Modbus-STM32-HAL-FreeRTOS
Modbus TCP and RTU, Master and Slave for STM32 using Cube HAL and FreeRTOS
Stars: ✭ 272 (-26.88%)
Mutual labels:  usb, stm32
f1usb
Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Stars: ✭ 27 (-92.74%)
Mutual labels:  usb, stm32
Stm32f103 Usb Cdc Cmsis
STM32F103 USB CDC CMSIS
Stars: ✭ 40 (-89.25%)
Mutual labels:  usb, stm32
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-91.67%)
Mutual labels:  usb, stm32
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (-51.34%)
Mutual labels:  usb, stm32
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (-89.25%)
Mutual labels:  usb, stm32
Usbdevice
Highly flexible Composite USB Device Library
Stars: ✭ 144 (-61.29%)
Mutual labels:  usb, stm32
STM32 USB CH341
STM32 USB simulates CH341.
Stars: ✭ 52 (-86.02%)
Mutual labels:  usb, stm32
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (-76.88%)
Mutual labels:  usb, stm32
DfuBootloader
STM32 USB device bootloader using DFU class interface
Stars: ✭ 79 (-78.76%)
Mutual labels:  usb, stm32
STM32 XPD
STM32 eXtensible Peripheral Drivers
Stars: ✭ 38 (-89.78%)
Mutual labels:  usb, stm32
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (-85.22%)
Mutual labels:  usb, stm32
stm32 tiny monitor
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.
Stars: ✭ 61 (-83.6%)
Mutual labels:  usb, stm32
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (-22.85%)
Mutual labels:  usb, stm32
Etchdroid
An application to write OS images to USB drives, on Android, no root required.
Stars: ✭ 258 (-30.65%)
Mutual labels:  usb
Libusb
A cross-platform library to access USB devices
Stars: ✭ 3,482 (+836.02%)
Mutual labels:  usb
Openblt
Official read-only mirror of the SVN OpenBLT bootloader repository. Updated daily.
Stars: ✭ 256 (-31.18%)
Mutual labels:  stm32
stm32DevelopmentBoards
Development boards and software templates for STM32 MCU
Stars: ✭ 41 (-88.98%)
Mutual labels:  stm32
Device.net
A C# cross platform connected device framework
Stars: ✭ 347 (-6.72%)
Mutual labels:  usb

LNX build WIN build OSX build

Lightweight USB Device Stack

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

Requirements

All requirements can be downloaded into a directory specified in environment variable CMSIS using make cmsis command.

Supported hardware

MCU Series Features Driver File
STM32L0x2 STM32L0x3 STM32F070 STM32F0x2 STM32F0x8 Doublebuffered[2]
8[1] endpoints
BC1.2
usbd_devfs usbd_stm32l052_devfs.c
usbd_devfs_asm usbd_stm32l052_devfs_asm.S
STM32L4x2 STM32L4x3 STM32G4 series Doublebuffered[2]
8[1] endpoints
BC1.2
usbd_devfs usbd_stm32l433_devfs.c
usbd_devfs_asm usbd_stm32l052_devfs_asm.S
STM32L1xx Doublebuffered[2]
8[1] endpoints
usbd_devfs usbd_stm32l100_devfs.c
usbd_devfs_asm usbd_stm32l100_devfs_asm.S
STM32F102 STM32F103 STM32F302 STM32F303 STM32F373 Doublebuffered[2]
External DP pullup
8[1] endpoints
usbd_devfs usbd_stm32f103_devfs.c
usbd_devfs_asm usbd_stm32f103_devfs_asm.S
STM32L4x5 STM32L4x6 Doublebuffered
6 endpoints
BC1.2
VBUS detection
usbd_otgfs usbd_stm32l476_otgfs.c
STM32F4x5 STM32F4x7 STM32F4x9 Doublebuffered
4 endpoints
VBUS detection
SOF output
usbd_otgfs usbd_stm32f429_otgfs.c
Doublebuffered
6 endpoints
VBUS detection
SOF output
usbd_otghs usbd_stm32f429_otghs.c
STM32F105 STM32F107 Doublebuffered
4 endpoints
VBUS detection
SOF output
usbd_otgfs usbd_stm32f105_otgfs.c
STM32F4x6 STM32F7 Doublebuffered
6 endpoints
VBUS detection
SOF output
usbd_otgfs usbd_stm32f446_otgfs.c
Doublebuffered
9 endpoints
VBUS detection
SOF output
usbd_otghs usbd_stm32f446_otghs.c
  1. Single physical endpoint can be used to implement
  • one bi-directional/single-buffer logical endpoint (CONTROL)
  • one uni-directional/double-buffer logical endpoint (BULK OR ISOCHRONOUS)
  • two uni-directional/single-buffer logical endpoints (BULK OR INTERRUPT)
  1. At this moment BULK IN endpoint can use both buffers, but it is not real doublebuffered.

  2. Tested with STM32L052K8, STM32L100RC, STM32L476RG, STM32F072C8, STM32F103C8, STM32F103CB, STM32F303CC, STM32F303RE, STM32F429ZI, STM32F105RBT6, STM32F107VCT6, STM32L433CCT6, STM32F070CBT6, STM32G431RB, STM32F411CEUx, STM32F405RG, STM32F446RE, STM32F373CC, STM32L053R8, GD32F103C8T6, STM32F745VE. See hardware.md for details.

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
  4. USB TMC based on USB Device Test and Measurement Class Specification, Revision 1.0

Using makefile

  • to build library module
make module MODULE=path/module.a DEFINES="mcu specified defines" CFLAGS="cpu specified compiler flags"
  • to build demo
make bluepill program
make stm32l052x8
  • to get a help
make help

Default values:

Variable Default Value Means
CMSIS ./CMSIS path to CMSIS root folder
CMSISDEV $(CMSIS)/Device path to CMSIS device folder
CMSISCORE $(CMSIS)/CMSIS/Include $(CMSIS)/CMSIS/Core/Include path to CMSIS core headers
MCU stm32l100xc MCU selection for demo project
CFLAGS -mcpu=cortex-m3 -mfloat-abi=soft MCU specified compiler flags
DEFINES STM32L1 STM32L100xC MCU specified defines
STPROG_CLI ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI Path to the ST Cube Programmer CLI
OPTFLAGS -Os Code optimization flags

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].