Makefile 853 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. PROG_BIN := test.bin
  2. PROG_ELF := test.elf
  3. OBJ := test.o
  4. PREFIX := xtensa-esp32-elf-
  5. CC := $(PREFIX)gcc
  6. LD := $(PREFIX)ld
  7. GDB ?= $(PREFIX)gdb
  8. CFLAGS := -g -O0
  9. LDFLAGS := -L $(IDF_PATH)/components/bootloader/subproject/main/ld/esp32 \
  10. -T bootloader.ld \
  11. -u entry \
  12. -e entry \
  13. -g
  14. TRACE_FILE := trace_pro.bin
  15. GDB_LOG := gdb_log.txt
  16. GDB_LOG_REF := gdb_log_expected.txt
  17. all: $(PROG_BIN)
  18. $(PROG_ELF): $(OBJ)
  19. $(LD) $(LDFLAGS) -o $@ $<
  20. $(PROG_BIN): $(PROG_ELF)
  21. esptool.py --chip esp32 elf2image --output $@ --flash_freq 40m --flash_mode dio $<
  22. flash: $(PROG_BIN)
  23. esptool.py --port $(ESPPORT) write_flash 0x1000 $(PROG_BIN)
  24. test:
  25. rm -f $(TRACE_FILE)
  26. $(GDB) -n --batch -x gdbinit | tee $(GDB_LOG)
  27. diff $(GDB_LOG) $(GDB_LOG_REF)
  28. @echo "Test pass"
  29. clean:
  30. rm -f $(PROG_ELF) $(PROG_BIN) $(OBJ) $(TRACE_FILE) $(GDB_LOG)
  31. .PHONY: all clean flash test