Directly upload the ELF file

This commit is contained in:
Jake Goulding
2020-07-25 14:29:14 -04:00
parent b2d612142b
commit f725718840

View File

@@ -1,4 +1,4 @@
COMPILED:=target/avr-atmega328p/release/blink.elf ELF:=target/avr-atmega328p/release/blink.elf
HEX:=blink.hex HEX:=blink.hex
SERIAL_PORT:=/dev/cu.usbmodem143201 SERIAL_PORT:=/dev/cu.usbmodem143201
@@ -6,26 +6,21 @@ RUSTFLAGS:=-Zverify-llvm-ir
all: ${HEX} all: ${HEX}
.PHONY: ${COMPILED} .PHONY: ${ELF}
${COMPILED}: ${ELF}:
RUSTFLAGS=${RUSTFLAGS} cargo build -Z build-std=core --target avr-atmega328p.json --release RUSTFLAGS=${RUSTFLAGS} cargo build -Z build-std=core --target avr-atmega328p.json --release
# Convert binary to an Intel HEX file for upload # Download the ELF to the board
${HEX}: ${COMPILED}
avr-objcopy -O ihex -R .eeprom $< $@
# Download the HEX to the board
.PHONY: program .PHONY: program
program: ${HEX} program: ${ELF}
avrdude -p atmega328p -c arduino -P ${SERIAL_PORT} -U flash:w:$<:i avrdude -p atmega328p -c arduino -P ${SERIAL_PORT} -D -U flash:w:$<
.PHONY: connect-terminal .PHONY: connect-terminal
connect-terminal: connect-terminal:
picocom ${SERIAL_PORT} picocom ${SERIAL_PORT}
.PHONY: simulate-avr .PHONY: simulate-avr
simulate-avr: ${COMPILED} simulate-avr: ${ELF}
simavr \ simavr \
-m atmega328p \ -m atmega328p \
-f 16000000 \ -f 16000000 \
@@ -34,5 +29,5 @@ simulate-avr: ${COMPILED}
$< $<
.PHONY: simulate-gdb .PHONY: simulate-gdb
simulate-gdb: ${COMPILED} simulate-gdb: ${ELF}
avr-gdb -x simulate.gdbinit -tui $< avr-gdb -x simulate.gdbinit -tui $<