Merge pull request #3190 from DavePutz/opt-test
Changes to allow different compiler optimizations per board
This commit is contained in:
commit
7ab5c520e6
|
@ -87,25 +87,28 @@ INC += -I. \
|
||||||
|
|
||||||
ifeq ($(CHIP_FAMILY), samd21)
|
ifeq ($(CHIP_FAMILY), samd21)
|
||||||
PERIPHERALS_CHIP_FAMILY=samd21
|
PERIPHERALS_CHIP_FAMILY=samd21
|
||||||
CFLAGS += -Os -DNDEBUG
|
OPTIMIZATION_FLAGS ?= -Os
|
||||||
# TinyUSB defines
|
# TinyUSB defines
|
||||||
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAMD21 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=128 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=128 -DCFG_TUD_MSC_BUFSIZE=512
|
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAMD21 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=128 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=128 -DCFG_TUD_MSC_BUFSIZE=512
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CHIP_FAMILY), samd51)
|
ifeq ($(CHIP_FAMILY), samd51)
|
||||||
PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x
|
PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x
|
||||||
CFLAGS += -Os -DNDEBUG
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
# TinyUSB defines
|
# TinyUSB defines
|
||||||
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAMD51 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
|
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAMD51 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CHIP_FAMILY), same54)
|
ifeq ($(CHIP_FAMILY), same54)
|
||||||
PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x
|
PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x
|
||||||
CFLAGS += -Os -DNDEBUG
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
# TinyUSB defines
|
# TinyUSB defines
|
||||||
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAMD51 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
|
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAMD51 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# option to override default optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS) -DNDEBUG
|
||||||
|
|
||||||
$(echo PERIPHERALS_CHIP_FAMILY=$(PERIPHERALS_CHIP_FAMILY))
|
$(echo PERIPHERALS_CHIP_FAMILY=$(PERIPHERALS_CHIP_FAMILY))
|
||||||
#Debugging/Optimization
|
#Debugging/Optimization
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
|
|
|
@ -18,3 +18,6 @@ CIRCUITPY_PS2IO = 0
|
||||||
CIRCUITPY_AUDIOMP3 = 0
|
CIRCUITPY_AUDIOMP3 = 0
|
||||||
|
|
||||||
CIRCUITPY_ULAB = 0
|
CIRCUITPY_ULAB = 0
|
||||||
|
|
||||||
|
# Override optimization to keep binary small
|
||||||
|
OPTIMIZATION_FLAGS = -Os
|
||||||
|
|
|
@ -15,3 +15,5 @@ LONGINT_IMPL = MPZ
|
||||||
CIRCUITPY_AUDIOBUSIO = 0
|
CIRCUITPY_AUDIOBUSIO = 0
|
||||||
|
|
||||||
CIRCUITPY_BITBANG_APA102 = 1
|
CIRCUITPY_BITBANG_APA102 = 1
|
||||||
|
# Override optimization to keep binary small
|
||||||
|
OPTIMIZATION_FLAGS = -Os
|
||||||
|
|
|
@ -46,3 +46,5 @@ CFLAGS_INLINE_LIMIT = 45
|
||||||
else
|
else
|
||||||
CFLAGS_INLINE_LIMIT = 70
|
CFLAGS_INLINE_LIMIT = 70
|
||||||
endif
|
endif
|
||||||
|
# Override optimization to keep binary small
|
||||||
|
OPTIMIZATION_FLAGS = -Os
|
||||||
|
|
|
@ -107,7 +107,6 @@ CFLAGS += \
|
||||||
-Dmain=spresense_main \
|
-Dmain=spresense_main \
|
||||||
-D_estack=__stack \
|
-D_estack=__stack \
|
||||||
-c \
|
-c \
|
||||||
-Os \
|
|
||||||
-pipe \
|
-pipe \
|
||||||
-std=gnu11 \
|
-std=gnu11 \
|
||||||
-mcpu=cortex-m4 \
|
-mcpu=cortex-m4 \
|
||||||
|
@ -123,6 +122,12 @@ CFLAGS += \
|
||||||
-fdata-sections \
|
-fdata-sections \
|
||||||
-Wall \
|
-Wall \
|
||||||
|
|
||||||
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
|
|
||||||
|
# option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
LIBM = "${shell "$(CC)" $(CFLAGS) -print-file-name=libm.a}"
|
LIBM = "${shell "$(CC)" $(CFLAGS) -print-file-name=libm.a}"
|
||||||
|
|
||||||
LIBGCC = "${shell "$(CC)" $(CFLAGS) -print-libgcc-file-name}"
|
LIBGCC = "${shell "$(CC)" $(CFLAGS) -print-libgcc-file-name}"
|
||||||
|
|
|
@ -101,14 +101,19 @@ CFLAGS += -DSTACK_CANARY_VALUE=0xa5a5a5a5
|
||||||
#Debugging/Optimization
|
#Debugging/Optimization
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
CFLAGS += -ggdb
|
CFLAGS += -ggdb
|
||||||
|
OPTIMIZATION_FLAGS ?= -Og
|
||||||
# You may want to enable these flags to make setting breakpoints easier.
|
# You may want to enable these flags to make setting breakpoints easier.
|
||||||
# CFLAGS += -fno-inline -fno-ipa-sra
|
# CFLAGS += -fno-inline -fno-ipa-sra
|
||||||
else
|
else
|
||||||
CFLAGS += -Os -DNDEBUG -ggdb3
|
CFLAGS += -DNDEBUG -ggdb3
|
||||||
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
# TODO: Test with -flto
|
# TODO: Test with -flto
|
||||||
### CFLAGS += -flto
|
### CFLAGS += -flto
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||||
|
|
||||||
CFLAGS += $(INC) -Werror -Wall -mlongcalls -std=gnu11 -Wl,--gc-sections $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT)
|
CFLAGS += $(INC) -Werror -Wall -mlongcalls -std=gnu11 -Wl,--gc-sections $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT)
|
||||||
|
|
||||||
LDFLAGS = $(CFLAGS) -Wl,-nostdlib -Wl,-Map=$@.map -Wl,-cref
|
LDFLAGS = $(CFLAGS) -Wl,-nostdlib -Wl,-Map=$@.map -Wl,-cref
|
||||||
|
|
|
@ -77,12 +77,17 @@ ifeq ($(DEBUG), 1)
|
||||||
CFLAGS += -ggdb
|
CFLAGS += -ggdb
|
||||||
# You may want to enable these flags to make setting breakpoints easier.
|
# You may want to enable these flags to make setting breakpoints easier.
|
||||||
CFLAGS += -fno-inline -fno-ipa-sra
|
CFLAGS += -fno-inline -fno-ipa-sra
|
||||||
|
OPTIMIZATION_FLAGS ?= -Og
|
||||||
else
|
else
|
||||||
CFLAGS += -Os -DNDEBUG -ggdb3
|
CFLAGS += -DNDEBUG -ggdb3
|
||||||
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
# TODO: Test with -flto
|
# TODO: Test with -flto
|
||||||
### CFLAGS += -flto
|
### CFLAGS += -flto
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||||
|
|
||||||
CFLAGS += $(INC) -Werror -Wall -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT)
|
CFLAGS += $(INC) -Werror -Wall -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT)
|
||||||
|
|
||||||
# TODO: check this
|
# TODO: check this
|
||||||
|
|
|
@ -105,9 +105,14 @@ CFLAGS += \
|
||||||
-DCPU_$(CHIP_VARIANT) \
|
-DCPU_$(CHIP_VARIANT) \
|
||||||
-DDEBUG \
|
-DDEBUG \
|
||||||
-DIMXRT10XX \
|
-DIMXRT10XX \
|
||||||
-Os -g3 -Wno-unused-parameter \
|
-g3 -Wno-unused-parameter \
|
||||||
-ffunction-sections -fdata-sections -fstack-usage
|
-ffunction-sections -fdata-sections -fstack-usage
|
||||||
|
|
||||||
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
|
|
||||||
|
# option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||||
|
|
||||||
LD_FILES = $(wildcard boards/$(BOARD)/*.ld) $(addprefix linking/, flash/$(FLASH).ld chip_family/$(CHIP_FAMILY).ld common.ld)
|
LD_FILES = $(wildcard boards/$(BOARD)/*.ld) $(addprefix linking/, flash/$(FLASH).ld chip_family/$(CHIP_FAMILY).ld common.ld)
|
||||||
|
|
||||||
LD_SCRIPT_FLAG := -Wl,-T,
|
LD_SCRIPT_FLAG := -Wl,-T,
|
||||||
|
|
|
@ -86,12 +86,16 @@ INC += -I../../supervisor/shared/usb
|
||||||
|
|
||||||
#Debugging/Optimization
|
#Debugging/Optimization
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
CFLAGS += -ggdb3 -Og
|
CFLAGS += -ggdb3
|
||||||
|
OPTIMIZATION_FLAGS = -Og
|
||||||
else
|
else
|
||||||
CFLAGS += -Os -DNDEBUG -ggdb3
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
|
CFLAGS += -DNDEBUG -ggdb3
|
||||||
CFLAGS += -flto -flto-partition=none
|
CFLAGS += -flto -flto-partition=none
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||||
|
|
||||||
CFLAGS += $(INC) -Wall -Werror -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(CFLAGS_MOD) $(COPT)
|
CFLAGS += $(INC) -Wall -Werror -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(CFLAGS_MOD) $(COPT)
|
||||||
|
|
||||||
|
|
|
@ -30,3 +30,6 @@ SUPEROPT_GC = 0
|
||||||
# These defines must be overridden before mpconfigboard.h is included, which is
|
# These defines must be overridden before mpconfigboard.h is included, which is
|
||||||
# why they are passed on the command line.
|
# why they are passed on the command line.
|
||||||
CFLAGS += -DSPIM3_BUFFER_SIZE=0 -DSOFTDEVICE_RAM_SIZE='(32*1024)'
|
CFLAGS += -DSPIM3_BUFFER_SIZE=0 -DSOFTDEVICE_RAM_SIZE='(32*1024)'
|
||||||
|
|
||||||
|
# Override optimization to keep binary small
|
||||||
|
OPTIMIZATION_FLAGS = -Os
|
||||||
|
|
|
@ -32,3 +32,6 @@ CIRCUITPY_WATCHDOG = 1
|
||||||
# These defines must be overridden before mpconfigboard.h is included, which is
|
# These defines must be overridden before mpconfigboard.h is included, which is
|
||||||
# why they are passed on the command line.
|
# why they are passed on the command line.
|
||||||
CFLAGS += -DSPIM3_BUFFER_SIZE=0 -DSOFTDEVICE_RAM_SIZE='(32*1024)' -DNRFX_SPIM3_ENABLED=0
|
CFLAGS += -DSPIM3_BUFFER_SIZE=0 -DSOFTDEVICE_RAM_SIZE='(32*1024)' -DNRFX_SPIM3_ENABLED=0
|
||||||
|
|
||||||
|
# Override optimization to keep binary small
|
||||||
|
OPTIMIZATION_FLAGS = -Os
|
||||||
|
|
|
@ -85,12 +85,16 @@ ifeq ($(DEBUG), 1)
|
||||||
# You may want to enable these flags to make setting breakpoints easier.
|
# You may want to enable these flags to make setting breakpoints easier.
|
||||||
CFLAGS += -fno-inline -fno-ipa-sra
|
CFLAGS += -fno-inline -fno-ipa-sra
|
||||||
else
|
else
|
||||||
CFLAGS += -Os -DNDEBUG
|
CFLAGS += -DNDEBUG
|
||||||
|
OPTIMIZATION_FLAGS ?= -O2
|
||||||
CFLAGS += -ggdb3
|
CFLAGS += -ggdb3
|
||||||
# TODO: Test with -flto
|
# TODO: Test with -flto
|
||||||
# CFLAGS += -flto
|
# CFLAGS += -flto
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
|
||||||
|
CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||||
|
|
||||||
# MCU Series is defined by the HAL package and doesn't need to be specified here
|
# MCU Series is defined by the HAL package and doesn't need to be specified here
|
||||||
C_DEFS = -D$(MCU_PACKAGE) -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -D$(MCU_VARIANT)
|
C_DEFS = -D$(MCU_PACKAGE) -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -D$(MCU_VARIANT)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue