161 lines
3.8 KiB
Plaintext
161 lines
3.8 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
comment "ARMV7M Configuration Options"
|
|
|
|
config ARMV7M_HAVE_ICACHE
|
|
bool
|
|
default n
|
|
|
|
config ARMV7M_HAVE_DCACHE
|
|
bool
|
|
default n
|
|
|
|
config ARMV7M_ICACHE
|
|
bool "Use I-Cache"
|
|
default n
|
|
depends on ARMV7M_HAVE_ICACHE
|
|
|
|
config ARMV7M_DCACHE
|
|
bool "Use D-Cache"
|
|
default n
|
|
depends on ARMV7M_HAVE_DCACHE
|
|
|
|
config ARMV7M_DCACHE_WRITETHROUGH
|
|
bool "D-Cache Write-Through"
|
|
default n
|
|
depends on ARMV7M_DCACHE
|
|
|
|
config ARMV7M_HAVE_ITCM
|
|
bool
|
|
default n
|
|
|
|
config ARMV7M_HAVE_DTCM
|
|
bool
|
|
default n
|
|
|
|
config ARMV7M_ITCM
|
|
bool "Use ITCM"
|
|
default n
|
|
depends on ARMV7M_HAVE_ITCM
|
|
|
|
config ARMV7M_DTCM
|
|
bool "Use DTCM"
|
|
default n
|
|
depends on ARMV7M_HAVE_DTCM
|
|
|
|
choice
|
|
prompt "Toolchain Selection"
|
|
default ARMV7M_TOOLCHAIN_GNU_EABIW if HOST_WINDOWS
|
|
default ARMV7M_TOOLCHAIN_GNU_EABIL if !HOST_WINDOWS
|
|
|
|
config ARMV7M_TOOLCHAIN_ATOLLIC
|
|
bool "Atollic Lite/Pro for Windows"
|
|
depends on HOST_WINDOWS
|
|
|
|
config ARMV7M_TOOLCHAIN_BUILDROOT
|
|
bool "Buildroot (Cygwin or Linux)"
|
|
depends on !WINDOWS_NATIVE
|
|
|
|
config ARMV7M_TOOLCHAIN_CODEREDL
|
|
bool "CodeRed for Linux"
|
|
depends on HOST_LINUX
|
|
|
|
config ARMV7M_TOOLCHAIN_CODEREDW
|
|
bool "CodeRed for Windows"
|
|
depends on HOST_WINDOWS
|
|
|
|
config ARMV7M_TOOLCHAIN_CODESOURCERYL
|
|
bool "CodeSourcery GNU toolchain under Linux"
|
|
depends on HOST_LINUX
|
|
|
|
config ARMV7M_TOOLCHAIN_CODESOURCERYW
|
|
bool "CodeSourcery GNU toolchain under Windows"
|
|
depends on HOST_WINDOWS
|
|
|
|
config ARMV7M_TOOLCHAIN_DEVKITARM
|
|
bool "devkitARM GNU toolchain"
|
|
depends on HOST_WINDOWS
|
|
|
|
config ARMV7M_TOOLCHAIN_GNU_EABIL
|
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
|
---help---
|
|
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
|
configured for arm-none-eabi.
|
|
|
|
config ARMV7M_TOOLCHAIN_GNU_EABIW
|
|
bool "Generic GNU EABI toolchain under Windows"
|
|
depends on HOST_WINDOWS
|
|
---help---
|
|
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
|
configured for arm-none-eabi.
|
|
|
|
config ARMV7M_TOOLCHAIN_RAISONANCE
|
|
bool "STMicro Raisonance for Windows"
|
|
depends on HOST_WINDOWS
|
|
|
|
endchoice
|
|
|
|
config ARMV7M_OABI_TOOLCHAIN
|
|
bool "OABI (vs EABI)"
|
|
default n
|
|
depends on ARMV7M_TOOLCHAIN_BUILDROOT
|
|
---help---
|
|
Most of the older buildroot toolchains are OABI and are named
|
|
arm-nuttx-elf- vs. arm-nuttx-eabi-
|
|
|
|
config ARMV7M_TARGET2_PREL
|
|
bool "R_ARM_TARGET2 is PC relative"
|
|
default n if !UCLIBCXX_EXCEPTION
|
|
default y if UCLIBCXX_EXCEPTION
|
|
depends on ELF
|
|
---help---
|
|
Perform a PC relative relocation for relocation type R_ARM_TARGET2
|
|
|
|
config ARMV7M_HAVE_STACKCHECK
|
|
bool
|
|
default n
|
|
|
|
config ARMV7M_STACKCHECK
|
|
bool "Check for stack overflow on each function call"
|
|
default n
|
|
depends on ARMV7M_HAVE_STACKCHECK
|
|
---help---
|
|
This check uses R10 to check for a stack overflow within each
|
|
function call. This has performances and code size impacts, but it
|
|
will be able to catch hard to find stack overflows.
|
|
|
|
Currently only available only for the STM32, SAM3/4 and SAMA5D
|
|
architectures. The changes are not complex and patches for
|
|
other architectures will be accepted.
|
|
|
|
This option requires that you are using a GCC toolchain and that
|
|
you also include -finstrument-functions in your CFLAGS when you
|
|
compile. This addition to your CFLAGS should probably be added
|
|
to the definition of the CFFLAGS in your board Make.defs file.
|
|
|
|
config ARMV7M_ITMSYSLOG
|
|
bool "ITM SYSLOG support"
|
|
default n
|
|
select SYSLOG
|
|
---help---
|
|
Enable hooks to support ITM syslog output. This requires additional
|
|
MCU support in order to be used. See arch/arm/src/armv7-m/itm_syslog.h
|
|
for additional initialization information.
|
|
|
|
if ARMV7M_ITMSYSLOG
|
|
|
|
config ARMV7M_ITMSYSLOG_PORT
|
|
int "ITM SYSLOG Port"
|
|
default 0
|
|
range 0 31
|
|
|
|
config ARMV7M_ITMSYSLOG_SWODIV
|
|
int "ITM SYSLOG SWO divider"
|
|
default 15
|
|
range 1 8192
|
|
|
|
endif # ARMV7M_ITMSYSLOG
|