3 个仓库
Binds a driver to a USB interface discovered by the kernel, then submits and handles I/O requests through URBs.
Distinct from Device Drivers: Distinct from Device Drivers: focuses specifically on USB interface binding and URB-based I/O, not general device drivers.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · USB Device Driver Implementations. Refine with filters or upvote what's useful.
The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It
Teaches how to write USB device drivers that communicate via USB Request Blocks.
This project is a Java library for establishing raw serial port connections between Android devices and external hardware using USB host mode. It provides a communication bridge for interacting with microcontrollers and adapters without requiring root access. The library includes a device identification framework to detect and map serial hardware using vendor and product IDs. It features specialized driver implementations for chipsets such as CDC and FTDI to enable data exchange across different hardware standards. It covers hardware integration capabilities including device discovery, seria
Implements USB interface binding and I/O for Common Class and FTDI chipsets.
This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The
Supports creating custom USB peripherals like keyboards, mice, or storage drives by implementing specific device profiles.