87 lines
1.7 KiB
Makefile
87 lines
1.7 KiB
Makefile
|
ARCH ?= arm
|
||
|
CPU ?= stm32f4xx
|
||
|
ifeq ($(CPU),stm32f4xx)
|
||
|
C_FLAGS += -DARCH_STM32F4XX
|
||
|
endif
|
||
|
ifeq ($(BOARD), stm32f4-discovery)
|
||
|
C_FLAGS += -DBOARD_STM32F4_DISCOVERY
|
||
|
endif
|
||
|
CROSS_COMPILE ?= arm-none-eabi-
|
||
|
|
||
|
INCLUDES += \
|
||
|
/opt/arm-2011.09/arm-none-eabi/include \
|
||
|
/opt/arm-2011.09/lib/gcc/arm-none-eabi/4.6.1/include
|
||
|
|
||
|
ifeq ($(DEBUG),y)
|
||
|
OPTIM = g
|
||
|
GEN_FLAGS += -g3
|
||
|
DBG_EXT = -dbg
|
||
|
else
|
||
|
OPTIM = s
|
||
|
DBG_EXT =
|
||
|
endif
|
||
|
|
||
|
GEN_FLAGS := \
|
||
|
-mcpu=cortex-m4 \
|
||
|
-mthumb \
|
||
|
-mfloat-abi=hard \
|
||
|
-mfpu=fpv4-sp-d16 \
|
||
|
-O$(OPTIM) \
|
||
|
-fmessage-length=0 \
|
||
|
-fsigned-char \
|
||
|
-ffunction-sections \
|
||
|
-fdata-sections \
|
||
|
-ffreestanding \
|
||
|
-fno-move-loop-invariants \
|
||
|
-Werror \
|
||
|
-Wunused \
|
||
|
-Wuninitialized \
|
||
|
-Wall \
|
||
|
-Wextra \
|
||
|
-Wmissing-declarations \
|
||
|
-Wconversion \
|
||
|
-Wpointer-arith \
|
||
|
-Wpadded \
|
||
|
-Wshadow \
|
||
|
-Wlogical-op \
|
||
|
-Waggregate-return \
|
||
|
-Wfloat-equal
|
||
|
|
||
|
C_FLAGS += \
|
||
|
-DDEBUG \
|
||
|
-DUSE_FULL_ASSERT \
|
||
|
-DTRACE \
|
||
|
-DOS_USE_TRACE_SEMIHOSTING_DEBUG \
|
||
|
-DSTM32F407xx \
|
||
|
-DUSE_HAL_DRIVER \
|
||
|
-DHSE_VALUE=8000000 \
|
||
|
$(addprefix -I, $(INCLUDES)) \
|
||
|
-std=gnu11 \
|
||
|
-Wmissing-prototypes \
|
||
|
-Wstrict-prototypes \
|
||
|
-Wbad-function-cast \
|
||
|
-Wno-bad-function-cast \
|
||
|
-Wno-conversion \
|
||
|
-Wno-sign-conversion \
|
||
|
-Wno-unused-parameter \
|
||
|
-Wno-sign-compare \
|
||
|
-Wno-missing-prototypes \
|
||
|
-Wno-missing-declarations
|
||
|
|
||
|
L_FLAGS := \
|
||
|
-T mem.ld \
|
||
|
-T libs.ld \
|
||
|
-T sections.ld \
|
||
|
-nostartfiles \
|
||
|
-Xlinker --gc-sections \
|
||
|
-L"config/linker" \
|
||
|
--specs=nano.specs
|
||
|
|
||
|
AS_FLAGS := -mapcs-32 -g
|
||
|
AR_FLAGS := rcs
|
||
|
|
||
|
OOCD_IMAGE=$(BIN_FILE)
|
||
|
OOCD_CFG_FILE=$(EXE_DIR)/openocd.cfg
|
||
|
|
||
|
PRE_PROGRAM = echo "telnet_port 4444\ninit\nreset halt\nflash write_image erase $(OOCD_IMAGE) 0x08000000 bin\nreset run\n shutdown\n" > $(OOCD_CFG_FILE)
|
||
|
PROGRAM = openocd -f /usr/share/openocd/scripts/board/stm32f4discovery.cfg -f $(OOCD_CFG_FILE)
|