Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Experimental device-side USB framework for microcontrollers in Rust.

License

NotificationsYou must be signed in to change notification settings

rust-embedded-community/usb-device

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USB stack for embedded devices in Rust.

The UsbDevice object represents a composite USB device and is the most important object forapplication implementors. The UsbDevice combines a number of UsbClasses (either custom ones, orpre-existing ones provided by other crates) and a UsbBus device driver to implement the USB device.

The UsbClass trait can be used to implement USB classes such as a HID device or a serial port. Animplementation may also use a custom class if the required functionality isn't covered by a standardclass.

The UsbBus trait is intended to be implemented by device-specific crates to provide a driver foreach device's USB peripheral.

Hardware driver crates

  • atsam4 - device-driver implementation for atsam4e & atsam4s microcontrollers (UDP). Examples can be foundhere. While not expressly supported with this crate, atsam3s and atsam55g could also be supported with a similar code-base.

  • atsamd - device-driver implementation for samd21 & samd51 microcontrollers. An example for theitsybitsy_m4 board from Adafruit can be foundhere.

  • imxrt-usbd - device-driver implementation for NXP i.MX RT microcontrollers. Examples fori.MX RT boards, like the Teensy 4, are maintained with the driver.

  • musb - device-driver implementation for musb (Mentor USB, USB2.0 IP), widely used in various microcontrollers and SoCs from vendors like TI, MediaTek, Puya, and Allwinner.Examples can be found inpy32-hal.

  • rp2040-hal -device-driver implementation for the raspberry pi RP2040microcontroller. Examples can be found in the various boardscrateshere.

  • stm32-usbd - device-driver implementation for multiple STM32 microcontroller families.Examples can be found in each individual HAL crate that implements the USB peripheral.

Class crates

Others

Other implementations for USB in Rust

  • TheEmbassy project has an async USB stack, embassy-usb.

About

Experimental device-side USB framework for microcontrollers in Rust.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp