Skip to content
Snippets Groups Projects
Commit c6adb653 authored by Henrik Tjäder's avatar Henrik Tjäder
Browse files

Separate target triple, add new recommended optimisation settings

parent 45597a4a
No related branches found
No related tags found
No related merge requests found
......@@ -46,29 +46,30 @@ OOCDFLAGS = -f interface/stlink-v2-1.cfg -f stm32f4x.cfg
# STM32F401
ifeq "$(MAKECMDGOALS)" "rel"
DEFS = -DSTM32F40XX -DHSE_VALUE=8000000 -DTRACE -DOS_USE_TRACE_ITM
DEFS = -DSTM32F40XX -DSTM32F401xE -DHSE_VALUE=8000000 -DTRACE -DOS_USE_TRACE_ITM
else ifeq "$(MAKECMDGOALS)" "wcet"
DEFS = -DSTM32F40XX -DHSE_VALUE=8000000 -DTRACE -DOS_USE_TRACE_ITM -DKLEE_WCET
DEFS = -DSTM32F40XX -DSTM32F401xE -DHSE_VALUE=8000000 -DTRACE -DOS_USE_TRACE_ITM -DKLEE_WCET
else
DEFS = -DSTM32F40XX -DHSE_VALUE=8000000 -DKLEE
DEFS = -DSTM32F40XX -DSTM32F401xE -DHSE_VALUE=8000000 -DKLEE
endif
# Definitions
#ifeq "$(MAKECMDGOALS)" "debug"
#DEFS = -DnoUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DOS_USE_TRACE_ITM -DDEBUG -DxOS_USE_SEMIHOSTING -DTRACE -DxOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F746xx
#else
#DEFS = -DnoUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DOS_USE_TRACE_ITM -DDEBUG -DxOS_USE_SEMIHOSTING -DTRACE -DxOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F746xx
#DEFS = -DnoUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DxOS_USE_SEMIHOSTING -DxOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F746xx
#endif
# Optimize for size
#OPTIMIZE = -Os
# No optimization at all
OPTIMIZE = -O0
OPTIMIZE = -O0 -Xclang -disable-O0-optnone
#INCSEARCH = include
#SRCIGNORE =! -iname 'tiny_printf.c'
#INCLUDES := $(shell find $(INCSEARCH) -name '*.h' -exec dirname {} \; | uniq)
INCLUDES = -I"include" \
-I"/usr/arm-none-eabi/include" \
-I"system" \
-I"system/include/cmsis" \
-I"system/include/cmsis/stm32f4-hal"
......@@ -78,6 +79,7 @@ INCLUDES = -I"include" \
#-I"Libraries/Device/STM32F4xx/Include"
MCU = cortex-m4
TARGETTRIPLE = armv7m-none-eabi
ifeq "$(MAKECMDGOALS)" "gcc"
# GCC
......@@ -89,14 +91,14 @@ else
# Start of the CLANG block
# CLANG
CLANGMCFLAGS =-target arm-none-eabi -fno-integrated-as
CLANGMCFLAGS =-target $(TARGETTRIPLE) # -fno-integrated-as
# MCU Specific flags
MCFLAGS = -mcpu=$(MCU) -mlittle-endian -mthumb -ffreestanding \
-fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fshort-enums \
-g3 -std=gnu11 -Wall -Wextra
# For creating object file from LLVM IR
LLCFLAGS = -mtriple=arm-none-eabi -march=thumb -mcpu=$(MCU) -filetype=obj -float-abi=hard
LLCFLAGS = -mtriple=$(TARGETTRIPLE) -march=thumb -mcpu=$(MCU) -filetype=obj -float-abi=hard
# Assembler flags
ASFLAGS = -mcpu=$(MCU) -mlittle-endian -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard
......@@ -108,7 +110,7 @@ LDFLAGS = --specs=nosys.specs -Wl,-T "ldscripts/flash.ld" -nostartfiles -Wl,-no
# Not used:
#--specs=nano.specs --specs=nosys.specs -lc -lnosys
CLANGLDFLAGS = -flto -target arm-none-eabi -mfloat-abi=hard # -save-temps=obj
CLANGLDFLAGS = -flto -target $(TARGETTRIPLE) -mfloat-abi=hard # -save-temps=obj
#or if you want .bc in objects -save-temps=obj
# Build the compile command
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment