7 releases (4 breaking)
0.5.1 | Oct 18, 2024 |
---|---|
0.5.0 | Jan 11, 2022 |
0.4.0 | Sep 27, 2021 |
0.3.0 | Dec 31, 2020 |
0.1.0 | Sep 28, 2020 |
#2292 in Embedded development
156 downloads per month
1.5MB
24K
SLoC
Arduino MKR WiFi 1000 Board Support Crate
This crate provides a type-safe API for working with the Arduino MKR WiFi 1000 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
- linux:
- Now the arduino distribution contains bossac.exe in
ArduinoData/packages/arduino/tools/bossac/1.7.0/
add it to your pathArduinoData
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
- samd package installed (You can do this by going to Tools->Board->BoardManager and then searching for
- 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
Note: Before you run bossac, you need to double-press the center button to reset when re-flashing the device. This sets the device in a bootloader mode.
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
(You may need to use --port
with something like /dev/ttyACM0
or /dev/ttyACM1
Dependencies
~5MB
~113K SLoC