This shell snippet shows an example that will build the LED blinking example for AVR.
# fetch and prepare the blink crate (only needs to be done once). $ git clone https://github.com/avr-rust/blink.git $ cd blink $ rustup override set nightly # Configure the 'ruduino' crate with a MCU frequency of 16MHz $ export AVR_CPU_FREQUENCY_HZ=16000000 # compile the blink crate to an ELF file targeting atmega328p. $ cargo build -Z build-std=core --target avr-atmega328p.json --release
After compilation, the final ELF executable will be available at
target/avr-atmega328p/release/blink.elf, ready to be flashed to a device
or ran inside a simulator.
$ file target/avr-atmega328p/release/blink.elf target/avr-atmega328p/release/blink.elf: ELF 32-bit LSB executable, Atmel AVR 8-bit, version 1 (SYSV), statically linked, with debug_info, not stripped
Other AVR microcontroller models may be targeted by simply copying and modifying