11 breaking releases

0.12.0 Jan 11, 2022
0.11.0 Sep 27, 2021
0.10.0 Dec 31, 2020
0.9.0 Nov 28, 2020
0.1.0 Sep 17, 2018

#1466 in Embedded development

Download history 13/week @ 2023-10-13 13/week @ 2023-10-20 25/week @ 2023-10-27 2/week @ 2023-11-03 2/week @ 2023-11-10 14/week @ 2023-11-17 28/week @ 2023-11-24 41/week @ 2023-12-01 14/week @ 2023-12-15 28/week @ 2023-12-22 1/week @ 2023-12-29 14/week @ 2024-01-05 2/week @ 2024-01-12 28/week @ 2024-01-19 55/week @ 2024-01-26

99 downloads per month

MIT/Apache

1.5MB
23K SLoC

Arduino Mkrzero Board Support Crate

This crate provides a type-safe API for working with the Arduino mkrzero board.

Examples

Blinky Basic

Requirements

  • Arduino IDE installed
    • samd package installed (You can do this by going to Tools->Board->BoardManager and then searching for samd
    • Now the arduino distribution contains bossac.exe in ArduinoData/packages/arduino/tools/bossac/1.7.0[-arduino3]/ add it to your path
      • linux: ArduinoData is likely something like ~/.arduino15/
      • OSX: ArduinoData is likely something like ~/Library/Arduino15
    • Now the arduino distribution contains bossac.exe in ArduinoData/packages/arduino/tools/bossac/1.7.0/ add it to your path
      • ArduinoData is likely something like ~/.arduino15/
    • Probably best to install an example sketch via the IDE just to make sure everything is working
    • Note that the arduino cli (or just regular bossac) may soon replace this section
  • arm-none-eabi tools installed, you need gcc and objcopy.
    • Note: Alternatively, you can use cargo-binutils, which is likely easier to install on OSX and also easier to use, as it will automatically detect the target
  • thumbv6m-none-eabi rust target installed via rustup target add thumbv6m-none-eabi

Steps

cargo build --release --example blinky_basic
arm-none-eabi-objcopy -O binary target/thumbv6m-none-eabi/release/examples/blinky_basic target/blinky_basic.bin
# if using cargo-binutils, you can `rust-objcopy` with the same flags, or combine the previous 2 steps with `cargo objcopy`
bossac -i -d -U true -i -e -w -v target/blinky_basic.bin -R

Dependencies

~6MB
~165K SLoC