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