diff options
Diffstat (limited to 'minimal/Makefile')
| -rw-r--r-- | minimal/Makefile | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/minimal/Makefile b/minimal/Makefile index f6e0ef14c..3206a2121 100644 --- a/minimal/Makefile +++ b/minimal/Makefile @@ -19,6 +19,8 @@ INC += -I../stmhal INC += -I$(BUILD) ifeq ($(CROSS), 1) +DFU = ../tools/dfu.py +PYDFU = ../tools/pydfu.py CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion CFLAGS = $(INC) -Wall -Werror -ansi -std=gnu99 -nostdlib $(CFLAGS_CORTEX_M4) $(COPT) else @@ -49,20 +51,28 @@ SRC_C = \ lib/libc/string0.c \ lib/mp-readline/readline.c \ -SRC_S = \ - -# startup_stm32f40xx.s \ -# gchelper.s \ - -OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o) $(SRC_S:.s=.o)) +OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) +ifeq ($(CROSS), 1) +all: $(BUILD)/firmware.dfu +else all: $(BUILD)/firmware.elf +endif $(BUILD)/firmware.elf: $(OBJ) $(ECHO) "LINK $@" $(Q)$(LD) $(LDFLAGS) -o $@ $^ $(LIBS) $(Q)$(SIZE) $@ +$(BUILD)/firmware.dfu: $(BUILD)/firmware.elf + $(ECHO) "Create $@" + $(Q)$(OBJCOPY) -O binary -j .isr_vector -j .text -j .data $^ $(BUILD)/firmware.bin + $(Q)$(PYTHON) $(DFU) -b 0x08000000:$(BUILD)/firmware.bin $@ + +deploy: $(BUILD)/firmware.dfu + $(ECHO) "Writing $< to the board" + $(Q)$(PYTHON) $(PYDFU) -u $< + # Run emulation build on a POSIX system with suitable terminal settings run: stty raw opost -echo |
