An embedded ARM experiment with GPIO in Rust/C. Displays a randomly colored light with each button press on the core. Some pieces of spark's firmware have been included.
Thanks to spark/bootloader and spark/firmware for the spark reference, as well as antoinealb/rust-demo-cortex-m4 for documenting the rust cross-compile process.
- hardware: spark core, jtag shield, st-link 2
- gcc-arm-none binutils
- nightly rust
- stlink
- an unlocked spark bootloader (instructions at spark/bootloader)
git clone https://github.com/rust-lang/rust
git clone https://github.com/friedm/spark-metal
cd rust && git checkout $(rustc --version | sed 's/.*(//g' | head -c9)
-- get the source for your version of rustccd ../spark-metal && make libcore
-- cross-compile libcore for your version of rustcmake
-- build flashable spark-metal.binmake load
-- build and automatically flash over stlink-2
- uart driver
- malloc
- driver for the core's CC3000 wifi module