Directly upload the ELF file
This commit is contained in:
21
Makefile
21
Makefile
@@ -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 $<
|
||||||
|
|||||||
Reference in New Issue
Block a user