Browse Source

Match the OS build's CONFIG_ARMV7M_STACKCHECK setting by using actual setting in the exported nuttx config.h file to control each board build setting of ENABLE_STACK_CHECKS in toolchain_gnu-arm-eabi.mk

sbg
David Sidrane 10 years ago committed by Lorenz Meier
parent
commit
4b8feb03cf
  1. 1
      makefiles/setup.mk
  2. 9
      makefiles/toolchain_gnu-arm-eabi.mk
  3. 5
      nuttx-configs/aerocore/nsh/Make.defs
  4. 5
      nuttx-configs/px4fmu-v1/nsh/Make.defs
  5. 9
      nuttx-configs/px4fmu-v2/nsh/Make.defs
  6. 2
      nuttx-configs/px4fmu-v2/nsh/defconfig
  7. 5
      nuttx-configs/px4io-v1/nsh/Make.defs
  8. 5
      nuttx-configs/px4io-v2/nsh/Make.defs

1
makefiles/setup.mk

@ -80,6 +80,7 @@ export ECHO = echo @@ -80,6 +80,7 @@ export ECHO = echo
export UNZIP_CMD = unzip
export PYTHON = python
export OPENOCD = openocd
export GREP = grep
#
# Host-specific paths, hacks and fixups

9
makefiles/toolchain_gnu-arm-eabi.mk

@ -80,11 +80,12 @@ ARCHCPUFLAGS_CORTEXM3 = -mcpu=cortex-m3 \ @@ -80,11 +80,12 @@ ARCHCPUFLAGS_CORTEXM3 = -mcpu=cortex-m3 \
-march=armv7-m \
-mfloat-abi=soft
# Enabling stack checks if requested
# Enabling stack checks if OS was build with them
#
ENABLE_STACK_CHECKS ?= 0
ifneq ($(ENABLE_STACK_CHECKS),0)
$(info Stack checks enabled)
TEST_FILE_STACKCHECK=$(WORK_DIR)nuttx-export/include/nuttx/config.h
TEST_VALUE_STACKCHECK=CONFIG_ARMV7M_STACKCHECK\ 1
ENABLE_STACK_CHECKS=$(shell $(GREP) -q "$(TEST_VALUE_STACKCHECK)" $(TEST_FILE_STACKCHECK); echo $$?;)
ifeq ("$(ENABLE_STACK_CHECKS)","0")
ARCHINSTRUMENTATIONDEFINES_CORTEXM4F = -finstrument-functions -ffixed-r10
ARCHINSTRUMENTATIONDEFINES_CORTEXM4 = -finstrument-functions -ffixed-r10
ARCHINSTRUMENTATIONDEFINES_CORTEXM3 =

5
nuttx-configs/aerocore/nsh/Make.defs

@ -62,8 +62,9 @@ ARCHCPUFLAGS = -mcpu=cortex-m4 \ @@ -62,8 +62,9 @@ ARCHCPUFLAGS = -mcpu=cortex-m4 \
# enable precise stack overflow tracking
INSTRUMENTATIONDEFINES = -finstrument-functions \
-ffixed-r10
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
INSTRUMENTATIONDEFINES = -finstrument-functions -ffixed-r10
endif
# pull in *just* libm from the toolchain ... this is grody
LIBM = "${shell $(CC) $(ARCHCPUFLAGS) -print-file-name=libm.a}"

5
nuttx-configs/px4fmu-v1/nsh/Make.defs

@ -62,8 +62,9 @@ ARCHCPUFLAGS = -mcpu=cortex-m4 \ @@ -62,8 +62,9 @@ ARCHCPUFLAGS = -mcpu=cortex-m4 \
# enable precise stack overflow tracking
INSTRUMENTATIONDEFINES = -finstrument-functions \
-ffixed-r10
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
INSTRUMENTATIONDEFINES = -finstrument-functions -ffixed-r10
endif
# pull in *just* libm from the toolchain ... this is grody
LIBM = "${shell $(CC) $(ARCHCPUFLAGS) -print-file-name=libm.a}"

9
nuttx-configs/px4fmu-v2/nsh/Make.defs

@ -62,13 +62,8 @@ ARCHCPUFLAGS = -mcpu=cortex-m4 \ @@ -62,13 +62,8 @@ ARCHCPUFLAGS = -mcpu=cortex-m4 \
# enable precise stack overflow tracking
ENABLE_STACK_CHECKS ?= 0
ifneq ($(ENABLE_STACK_CHECKS),0)
$(info Stack checks enabled)
INSTRUMENTATIONDEFINES = -finstrument-functions \
-ffixed-r10
else
INSTRUMENTATIONDEFINES =
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
INSTRUMENTATIONDEFINES = -finstrument-functions -ffixed-r10
endif
# pull in *just* libm from the toolchain ... this is grody

2
nuttx-configs/px4fmu-v2/nsh/defconfig

@ -117,7 +117,7 @@ CONFIG_ARCH_HAVE_MPU=y @@ -117,7 +117,7 @@ CONFIG_ARCH_HAVE_MPU=y
#
# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI=y
CONFIG_ARMV7M_STACKCHECK=y
CONFIG_ARMV7M_STACKCHECK=n
CONFIG_SERIAL_TERMIOS=y
CONFIG_SDIO_DMA=y
CONFIG_SDIO_DMAPRIO=0x00010000

5
nuttx-configs/px4io-v1/nsh/Make.defs

@ -58,6 +58,11 @@ ARCHCPUFLAGS = -mcpu=cortex-m3 \ @@ -58,6 +58,11 @@ ARCHCPUFLAGS = -mcpu=cortex-m3 \
-mthumb \
-march=armv7-m
# enable precise stack overflow tracking
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
INSTRUMENTATIONDEFINES = -finstrument-functions -ffixed-r10
endif
# use our linker script
LDSCRIPT = ld.script

5
nuttx-configs/px4io-v2/nsh/Make.defs

@ -58,6 +58,11 @@ ARCHCPUFLAGS = -mcpu=cortex-m3 \ @@ -58,6 +58,11 @@ ARCHCPUFLAGS = -mcpu=cortex-m3 \
-mthumb \
-march=armv7-m
# enable precise stack overflow tracking
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
INSTRUMENTATIONDEFINES = -finstrument-functions -ffixed-r10
endif
# use our linker script
LDSCRIPT = ld.script

Loading…
Cancel
Save