Keyboard firmware written in Rust. Tested on STM32.
This crate requires nightly Rust. openocd
is used for flashing & debugging.
An example can be found at boards/stm32h7
. The following is a simple step-to-step instruction for creating your own firmware:
rustup target add thumbv7em-none-eabihf
.cargo/config.toml
in your project's root, specify your target. See boards/stm32h7/.cargo/config.toml
main.rs
, initialize your MCU in rtic's mod app
, create usb polling task and keyboard task. See boards/stm32h7/src/main.rs
Just run ``` cargo build
cargo size ```
Requires openocd
.
VSCode: Press F5
, the firmware will be automatically compiled and flashed. A debug session is started after flashing. Check .vscode/tasks.json
for details.
Or you can do it manually using this command after compile:
shell
openocd -f openocd.cfg -c "program target/thumbv7em-none-eabihf/debug/rmk-stm32h7 preverify verify reset exit"
A lot of todos at the list, any contributions are welcomed :)