| 123456789101112131415161718192021222324252627282930313233343536373839 |
- PROG_BIN := test.bin
- PROG_ELF := test.elf
- OBJ := test.o
- PREFIX := xtensa-esp32-elf-
- CC := $(PREFIX)gcc
- LD := $(PREFIX)ld
- GDB ?= $(PREFIX)gdb
- CFLAGS := -g -O0
- LDFLAGS := -L $(IDF_PATH)/components/bootloader/subproject/main/ld/esp32 \
- -T bootloader.ld \
- -u entry \
- -e entry \
- -g
- TRACE_FILE := trace_pro.bin
- GDB_LOG := gdb_log.txt
- GDB_LOG_REF := gdb_log_expected.txt
- all: $(PROG_BIN)
- $(PROG_ELF): $(OBJ)
- $(LD) $(LDFLAGS) -o $@ $<
- $(PROG_BIN): $(PROG_ELF)
- esptool.py --chip esp32 elf2image --output $@ --flash_freq 40m --flash_mode dio $<
- flash: $(PROG_BIN)
- esptool.py --port $(ESPPORT) write_flash 0x1000 $(PROG_BIN)
- test:
- rm -f $(TRACE_FILE)
- $(GDB) -n --batch -x gdbinit | tee $(GDB_LOG)
- diff $(GDB_LOG) $(GDB_LOG_REF)
- @echo "Test pass"
- clean:
- rm -f $(PROG_ELF) $(PROG_BIN) $(OBJ) $(TRACE_FILE) $(GDB_LOG)
- .PHONY: all clean flash test
|