/rust-feather-m4

experiments with rust on the Adafruit Feather M4 Express microcontroller

Primary LanguageRust

rust feather M4

experiments with rust on the Adafruit Feather M4 Express (Adafruit Industries 3857) board with the ATSAMD51J19 microprocessor featuring the ARM Cortex-M4F microprocessor core

run

./build.sh {name of one in src/bin}
./flash.sh {name of one in src/bin}
./build-and-flash.sh {name of one in src/bin}

install

install rust:

curl https://sh.rustup.rs -sSf | sh
rustup update

install component for ARM M4 targets:

rustup target add thumbv7em-none-eabihf

install bossac (https://github.com/shumatech/BOSSA) which we'll use to upload our binary to the feather M4s flash memory:

git clone https://github.com/shumatech/BOSSA.git
cd BOSSA
make
cp bin/bossac ~/bin

install arm-none-eabi-objcopy which makes *.bin files out of *.elf files (https://stackoverflow.com/questions/2427011/what-is-the-difference-between-elf-files-and-bin-files):

brew tap PX4/homebrew-px4
brew update
brew install gcc-arm-none-eabi

enter this repository:

git clone git@github.com:snd/rust-feather-m4.git
cd rust-feather-m4

board

https://www.alliedelec.com/product/adafruit-industries/3857/71458403

https://www.digikey.com/product-detail/en/adafruit-industries-llc/3857/1528-2648-ND/9553567

ATSAMD51J19 microprocessor

by microchip (source: https://twitter.com/microchipmakes/status/1017405803349839872)

microprocessor: https://www.microchip.com/wwwproducts/en/ATSAMD51J19A https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51/downloads https://www.digikey.com/product-detail/en/adafruit-industries-llc/3857/1528-2648-ND/9553567

awesome resources

files

  • memory.x contains specification of the memory layout of the target chip

steps taken to initialize this project

cargo install cargo-generate

cargo generate --git https://github.com/rust-embedded/cortex-m-quickstart --name rust-feather-m4