nuttx/arch/arm/src/armv7-m/Kconfig

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