This project is a Rust-based bootloader using RTIC (Real-Time Interrupt-driven Concurrency) and DFU (Device Firmware Upgrade) for embedded systems. 16KB of flash memory is reserved for the bootloader, which allows for firmware updates over USB. tested on STM32F103C8T6 (Blue Pill) development board with 64KB of flash memory.
- RTIC Framework: Leverages the RTIC framework for real-time, concurrent, and interrupt-driven applications.
- DFU Support: Enables firmware updates over USB using the DFU protocol.
- Embedded Systems: Designed specifically for embedded systems with constrained resources.
- Rust toolchain
cargo
package manager- Embedded development tools (e.g.,
probe-rs
)
-
Clone the repository:
git clone https://github.com/yourusername/rtic-dfu-bootloader.git cd rtic-dfu-bootloader
-
Build the project:
cargo build --release
-
Flash the bootloader to your device:
cargo flash --release
-
Connect your device via USB.
-
Use a DFU utility to upload new firmware:
dfu-util -D path/to/firmware.bin
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.