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