solo-bsc

Crates.iosolo-bsc
lib.rssolo-bsc
version0.0.3
sourcesrc
created_at2019-03-12 01:12:46.827585
updated_at2019-03-12 01:12:46.827585
descriptionBoard support crate for the Solo security key
homepage
repositoryhttps://github.com/solokeys/solo-bsc
max_upload_size
id120176
size20,806
Nicolas Stalder (nickray)

documentation

https://docs.solokeys.io

README

License License Crates

solo-bsc

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.

Quickstart

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:

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 16

cargo fmt