# # 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 TOOLCHAIN_WINDOWS default ARMV7M_TOOLCHAIN_GNU_EABIL if !TOOLCHAIN_WINDOWS config ARMV7M_TOOLCHAIN_IARW bool "IAR for Windows" depends on TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_IAR config ARMV7M_TOOLCHAIN_IARL bool "IAR for Linux" depends on HOST_LINUX select ARCH_TOOLCHAIN_IAR config ARMV7M_TOOLCHAIN_ATOLLIC bool "Atollic Lite/Pro for Windows" depends on TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_BUILDROOT bool "Buildroot (Cygwin or Linux)" depends on !WINDOWS_NATIVE select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_CODEREDL bool "CodeRed for Linux" depends on HOST_LINUX select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_CODEREDW bool "CodeRed for Windows" depends on TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_CODESOURCERYL bool "CodeSourcery GNU toolchain under Linux" depends on HOST_LINUX select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_CODESOURCERYW bool "CodeSourcery GNU toolchain under Windows" depends on TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_DEVKITARM bool "devkitARM GNU toolchain" depends on TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_GNU_EABIL bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)" depends on !WINDOWS_NATIVE select ARCH_TOOLCHAIN_GNU ---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 TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_CLANGL bool "Generic Clang toolchain under Linux (or other POSIX environment)" depends on !WINDOWS_NATIVE select ARCH_TOOLCHAIN_GNU config ARMV7M_TOOLCHAIN_CLANGW bool "Generic Clang toolchain under Windows" depends on TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU ---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 TOOLCHAIN_WINDOWS select ARCH_TOOLCHAIN_GNU 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 ARCH_SYSLOG 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