Skip to content
/ blink Public

A blinking LED program written in Rust for the AVR

License

Notifications You must be signed in to change notification settings

avr-rust/blink

Repository files navigation

blink

A small Hello World Rust application for the AVR.

The program itself toggles a LED on PORTB periodically.

Designed for the ATmega328p.

The AVR-Rust Book

Prerequisites

  • A recent version of the nightly Rust compiler. Anything including or greater than rustc 1.63.0-nightly (fee3a459d 2022-06-05) can be used.
  • A recent version of Cargo. At least 1.52.0 or greater.
  • The rust-src rustup component - $ rustup component add rust-src
  • AVR-GCC on the system for linking
  • AVR-Libc on the system for support libraries

Usage

Now to build, run:

# Ensure time delays are consistent with a 16MHz microcontroller.
export AVR_CPU_FREQUENCY_HZ=16000000

# Compile the crate to an ELF executable.
cargo build --release

There should now be an ELF file at target/avr-atmega328p/release/blink.elf. It can be flashed directly to an AVR microcontroller or ran inside a simulator.

Resources

About

A blinking LED program written in Rust for the AVR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages