|
|
|
PREFIX ?= arm-none-eabi
|
|
|
|
|
|
|
|
LDSCRIPT = support/stm32f0-discovery.ld
|
|
|
|
|
|
|
|
CFLAGS += -Os
|
|
|
|
LDFLAGS += -Os
|
|
|
|
|
|
|
|
CFLAGS += -fno-common --function-sections -fdata-sections
|
|
|
|
LDFLAGS += -static -nostartfiles
|
|
|
|
LDFLAGS += -Wl,--gc-sections
|
|
|
|
LDFLAGS += -T ${LDSCRIPT}
|
|
|
|
LIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
|
|
|
|
|
|
|
|
# Set up libopencm3.
|
|
|
|
OPENCM3_DIR ?= libopencm3
|
|
|
|
OPENCM3_LIBNAME = opencm3_stm32f0
|
|
|
|
CFLAGS += -I$(OPENCM3_DIR)/include
|
|
|
|
CFLAGS += -DSTM32F0 -msoft-float -mthumb -mcpu=cortex-m0
|
|
|
|
LDFLAGS += -L$(OPENCM3_DIR)/lib
|
|
|
|
LIBS += -l$(OPENCM3_LIBNAME)
|
|
|
|
|
|
|
|
STLINK_PORT ?= :4242
|
|
|
|
|
|
|
|
obj-y += source/core/spi.o
|
|
|
|
obj-y += source/drivers/spi_flash.o
|
|
|
|
|
|
|
|
$(OPENCM3_DIR)/lib/lib$(OPENCM3_LIBNAME).a:
|
|
|
|
@if [ ! -e libopencm3/.git ]; then \
|
|
|
|
git submodule init; \
|
|
|
|
git submodule update; \
|
|
|
|
fi
|
|
|
|
@$(MAKE) -C $(OPENCM3_DIR)
|
|
|
|
|
|
|
|
$(BUILD)/tbm: $(OPENCM3_DIR)/lib/lib$(OPENCM3_LIBNAME).a
|
|
|
|
|
|
|
|
run: $(BUILD)/tbm
|
|
|
|
@echo "GDB $<"
|
|
|
|
@$(GDB) --batch \
|
|
|
|
-ex 'target extended-remote $(STLINK_PORT)' \
|
|
|
|
-x flash.scr \
|
|
|
|
$<
|
|
|
|
|
|
|
|
.PHONY: run
|