| Crates.io | dfu-rs |
| lib.rs | dfu-rs |
| version | 0.1.1 |
| created_at | 2025-10-19 08:51:08.638515+00 |
| updated_at | 2025-10-20 17:40:17.068866+00 |
| description | Device Firmware Update crate for hosts, using rusb and exposing a simple API. |
| homepage | https://github.com/piersfinlayson/dfu-rs |
| repository | https://github.com/piersfinlayson/dfu-rs |
| max_upload_size | |
| id | 1890223 |
| size | 50,221 |
Implements DFU operations for USB devices.
Based on rusb for USB communication, this crate provides a simple interface for discovering DFU-capable devices and performing DFU operations.
It is designed for use in host applications that need to update firmware on embedded devices via USB DFU.
It is intended to work on Windows, Linux, and macOS.
rusb - wrap in tokio::task::spawn_blocking for async runtimesuse dfu_rs::{Device, DfuType};
if let Some(device) = Device::search(None).unwrap().first() {
let mut buffer = vec![0u32; 4096]; // 16KB
device.upload(0x08000000, &mut buffer).unwrap();
println!("Uploaded data: {:X?}", &buffer[..16]); // Print first 16 words
}
See the docs for more examples.