This is a (WIP!) Rust board support package for the open source Solo security key.
This key consists of: - an STM32L432KC microcontroller - either a USB-A or USB-C connector - a clicky dome button - 3 LEDs - an NCP114 voltage regulator - and various resistors, capacitors, and Zener diodes
One specialty is that it has a custom USB bootloader, allowing easy updates. To use it, FLASH ORIGIN
in memory.x needs to be set to 0x800_5000
instead of the conventional 0x800_0000
.
Alternatively, the ST DFU bootloader can be used.
Additionally, serial TX/RX and all SWD pins (SWDIO, SWCLK, SWO) are kind of broken out.
You need stable Rust 2018 edition, for details see the embedded book, in short:
curl https://sh.rustup.rs -sSf | sh
rustup target add thumbv7em-none-eabihf
cargo install cargo-binutils
rustup component add llvm-tools-preview
To build blinky, run make blinky
. You end up with a blinky.hex
file.
To flash it to your Solo Hacker:
- insert Solo and boot to Solo bootloader by pressing the button for ~2 seconds (it starts to blink)
- setup Solotool and make sure you can flash the original solo.hex
- run tools/solotool.py /path/to/blinky.hex
- watch the green LED blink :tada: