~jleightcap/ferris-quine-rs

attiny85 embedded quine in rust
quine info in readme
quine with .data overflow :/

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~jleightcap/ferris-quine-rs
read/write
git@git.sr.ht:~jleightcap/ferris-quine-rs

You can also use your local clone with git send-email.

#ferris-quine-rs

an embedded software quine; LED blinks the ASCII representation of the code it is running. see https://git.sr.ht/~jleightcap/ferris-quine-hw

#building

build release image,

$ cargo build --release

#flashing

the resulting blink.elf may be flashed in a number of ways. here, using avrdude with an arduino uno flashed as AVRISP,

$ avrdude -c stk500v1 -p attiny85 -P /dev/ttyACM0 -b 19200 -U flash:w:blink.elf

#build information

disassemble,

# using `cargo-binutils`, see https://github.com/rust-embedded/cargo-binutils#readme
$ cargo objdump -- -d --no-show-raw-insn

see memory usage,

$ avr-size target/avr-attiny85/release/blink.elf

#debugging and emulating with simavr and avr-gdb

$ simavr -g -m attiny85 -f 8000000 target/avr-attiny85/debug/blink.elf
# ...
avr_gdb_init listening on port 1234

in another terminal,

$ avr-gdb -q --tui target/avr-attiny85/debug/blink.elf
(gdb) target remote :1234
(gdb) b main
(gdb) c
# now at `main`, debug away!

#resources