357 lines
No EOL
8.8 KiB
Text
357 lines
No EOL
8.8 KiB
Text
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
source "arch/arm/Kconfig.arch"
|
|
|
|
config ARCH_FAMILY
|
|
string
|
|
default "armv6-m" if ARCH_ARMV6M
|
|
default "armv7-a" if ARCH_ARMV7A
|
|
default "armv7-m" if ARCH_ARMV7M
|
|
default "armv7-r" if ARCH_ARMV7R
|
|
default "armv8-m" if ARCH_ARMV8M
|
|
default "armv8-r" if ARCH_ARMV8R
|
|
default "arm"
|
|
|
|
config ARM_THUMB
|
|
bool "Thumb Mode"
|
|
default n
|
|
|
|
config ARM_HAVE_PSCI
|
|
bool "ARM PSCI (Power State Coordination Interface) Support"
|
|
default n
|
|
---help---
|
|
This Power State Coordination Interface (PSCI) defines
|
|
a standard interface for power management. the PCSI need
|
|
to implement handling firmware at EL2 or EL3. The option
|
|
maybe not applicable for arm core without PCSI firmware
|
|
interface implement
|
|
|
|
config ARM_HAVE_WFE_SEV
|
|
bool
|
|
default n
|
|
---help---
|
|
Use WFE and SEV instructions for spinlock to reduce power consumption
|
|
|
|
config ARM_HAVE_DPFPU32
|
|
bool
|
|
select ARCH_HAVE_DPFPU
|
|
default n
|
|
---help---
|
|
FPU implemented in the VFPv[3|4]-D32 format that supports
|
|
32 double-precision floating-point registers.
|
|
|
|
config ARM_HAVE_NEON
|
|
bool
|
|
default n
|
|
select ARM_HAVE_DPFPU32
|
|
---help---
|
|
Decide whether support NEON instruction
|
|
|
|
config ARM_HAVE_DSP
|
|
bool
|
|
default n
|
|
---help---
|
|
Decide whether support DSP instruction
|
|
|
|
config ARM_HAVE_MVE
|
|
bool
|
|
default n
|
|
---help---
|
|
Decide whether support MVE instruction
|
|
|
|
config ARM_HAVE_PACBTI
|
|
bool
|
|
default n
|
|
---help---
|
|
Decide whether support PACBTI(Pointer Authentication and Branch Target Identification) Extension
|
|
|
|
config ARM_PSCI
|
|
bool "Enabled PSCI"
|
|
depends on ARM_HAVE_PSCI
|
|
default n
|
|
---help---
|
|
See ARM_HAVE_PSCI for details
|
|
|
|
config ARM_FPU_ABI_SOFT
|
|
bool "Soft Float ABI"
|
|
default n
|
|
depends on ARCH_HAVE_FPU
|
|
---help---
|
|
Pass float value via integer register (-mfloat-abi=softfp)
|
|
|
|
config ARM_DPFPU32
|
|
bool "FPU with 32 double-precision register"
|
|
default y
|
|
depends on ARCH_DPFPU && ARM_HAVE_DPFPU32
|
|
|
|
config ARM_NEON
|
|
bool "Advanced SIMD (NEON) Extension"
|
|
default y
|
|
depends on ARM_HAVE_NEON && ARM_DPFPU32
|
|
|
|
config ARM_DSP
|
|
bool "Advanced DSP Extension"
|
|
default y
|
|
depends on ARM_HAVE_DSP
|
|
---help---
|
|
Enables DSP Extension
|
|
|
|
config ARM_PACBTI
|
|
bool "Advanced PACBTI Extension"
|
|
default y
|
|
depends on ARM_HAVE_PACBTI
|
|
---help---
|
|
Enables PACBTI(Pointer Authentication and Branch Target Identification) Extension
|
|
|
|
config ARM_HAVE_MPU_UNIFIED
|
|
bool
|
|
default n
|
|
---help---
|
|
Automatically selected to indicate that the CPU supports a
|
|
unified MPU for both instruction and data addresses.
|
|
|
|
config ARM_HAVE_MPCORE
|
|
bool
|
|
default n
|
|
---help---
|
|
Decide whether support MPCore extension
|
|
|
|
config ARM_MPU
|
|
bool "MPU support"
|
|
default n
|
|
depends on ARCH_HAVE_MPU
|
|
select ARCH_USE_MPU
|
|
---help---
|
|
Build in support for the ARM Cortex-M3/4/7 Memory Protection Unit (MPU).
|
|
Check your chip specifications first; not all Cortex-M3/4/7 chips
|
|
support the MPU.
|
|
|
|
config ARM_MPU_NREGIONS
|
|
int "Number of MPU regions"
|
|
default 16 if ARCH_CORTEXM7
|
|
default 8 if !ARCH_CORTEXM7
|
|
depends on ARM_MPU
|
|
---help---
|
|
This is the number of protection regions supported by the MPU.
|
|
|
|
config ARM_MPU_RESET
|
|
bool "MPU Reset before MPU initialization"
|
|
default n
|
|
depends on ARM_MPU
|
|
---help---
|
|
Configures the MPU initialization sequence to disable the MPU
|
|
before configuring it.
|
|
|
|
This may be needed in a system with a bootloader that has
|
|
configured the MPU prior to running NuttX. This may be all that is
|
|
needed to allow booting if the previous MPU configuration allow
|
|
the system to execute the MPU initialization code. If not use
|
|
ARM_MPU_EARLY_RESET.
|
|
|
|
config ARM_MPU_EARLY_RESET
|
|
bool "MPU Early Reset"
|
|
default n
|
|
depends on ARCH_HAVE_MPU
|
|
---help---
|
|
Configures the early system initialization sequence to disable the MPU.
|
|
|
|
This may be needed in a system with a bootloader that has
|
|
configured the MPU prior to running NuttX. This is useful if the system
|
|
faults during bbs, or data initialization or before the
|
|
stm32_mpuinitialize can be called.
|
|
|
|
Note: This can be used without MPU Support enabled.
|
|
|
|
config ARM_COREDUMP_REGION
|
|
bool "Add coredump region"
|
|
depends on COREDUMP
|
|
default n
|
|
---help---
|
|
Add coredump region includes nvic and mpu for cortex-M.
|
|
|
|
config ARCH_HAVE_LOWVECTORS
|
|
bool
|
|
|
|
config ARCH_LOWVECTORS
|
|
bool "Vectors in low memory"
|
|
default n
|
|
depends on ARCH_HAVE_LOWVECTORS
|
|
---help---
|
|
Support ARM vectors in low memory.
|
|
|
|
config ARCH_ROMPGTABLE
|
|
bool "ROM page table"
|
|
default n
|
|
depends on ARCH_USE_MMU
|
|
---help---
|
|
Support a fixed memory mapping use a (read-only) page table in
|
|
ROM/FLASH.
|
|
|
|
config ARCH_HAVE_HARDFAULT_DEBUG
|
|
bool
|
|
default n
|
|
|
|
config DEBUG_HARDFAULT_ALERT
|
|
bool "Hard-Fault Alert Debug"
|
|
default n
|
|
depends on ARCH_HAVE_HARDFAULT_DEBUG && DEBUG_ALERT
|
|
---help---
|
|
Enables debug alert output to the SYSLOG when a hard fault
|
|
occurs. This output is sometimes helpful when debugging difficult
|
|
hard fault problems.
|
|
|
|
config DEBUG_HARDFAULT_INFO
|
|
bool "Hard-Fault Informational Output"
|
|
default n
|
|
depends on ARCH_HAVE_HARDFAULT_DEBUG && DEBUG_INFO
|
|
---help---
|
|
Enables informational alert output to the SYSLOG when a hard fault
|
|
occurs. This output is sometimes helpful when debugging difficult
|
|
hard fault problems but may be more than you want to see in some
|
|
cases.
|
|
|
|
config ARCH_HAVE_MEMFAULT_DEBUG
|
|
bool
|
|
default n
|
|
|
|
config DEBUG_MEMFAULT
|
|
bool "Verbose Mem-Fault Debug"
|
|
default n
|
|
depends on ARCH_HAVE_MEMFAULT_DEBUG && DEBUG_ALERT && ARCH_USE_MPU
|
|
---help---
|
|
Enables verbose debug output when a mem fault occurs. This verbose
|
|
output is sometimes helpful when debugging difficult mem fault problems,
|
|
but may be more than you typically want to see.
|
|
|
|
config ARCH_HAVE_BUSFAULT_DEBUG
|
|
bool
|
|
default n
|
|
|
|
config DEBUG_BUSFAULT
|
|
bool "Verbose Bus-Fault Debug"
|
|
default n
|
|
depends on ARCH_HAVE_BUSFAULT_DEBUG && DEBUG_ALERT
|
|
---help---
|
|
Enables verbose debug output when a bus fault occurs. This verbose
|
|
output is sometimes helpful when debugging difficult bus fault problems,
|
|
but may be more than you typically want to see.
|
|
|
|
config ARCH_HAVE_USAGEFAULT_DEBUG
|
|
bool
|
|
default n
|
|
|
|
config DEBUG_USAGEFAULT
|
|
bool "Verbose Usage-Fault Debug"
|
|
default n
|
|
depends on ARCH_HAVE_USAGEFAULT_DEBUG && DEBUG_ALERT
|
|
---help---
|
|
Enables verbose debug output when a usage fault occurs. This verbose
|
|
output is sometimes helpful when debugging difficult usage fault problems,
|
|
but may be more than you typically want to see.
|
|
|
|
config ARCH_HAVE_SECUREFAULT_DEBUG
|
|
bool
|
|
default n
|
|
|
|
config DEBUG_SECUREFAULT
|
|
bool "Verbose Secure-Fault Debug"
|
|
default n
|
|
depends on ARCH_HAVE_SECUREFAULT_DEBUG && DEBUG_ALERT
|
|
---help---
|
|
Enables verbose debug output when a usage fault is occurs. This verbose
|
|
output is sometimes helpful when debugging difficult usage fault problems,
|
|
but may be more than you typically want to see.
|
|
|
|
config ARM_SEMIHOSTING_POWEROFF
|
|
bool "Semihosting POWEROFF support"
|
|
default n
|
|
---help---
|
|
Enable use of semihosting function to poweroff target.
|
|
|
|
config ARM_SEMIHOSTING_SYSLOG
|
|
bool "Semihosting SYSLOG support"
|
|
select SYSLOG_REGISTER
|
|
---help---
|
|
Enable hooks to support semihosting syslog output.
|
|
|
|
config ARM_SEMIHOSTING_HOSTFS
|
|
bool "Semihosting HostFS"
|
|
depends on FS_HOSTFS
|
|
---help---
|
|
Mount HostFS through semihosting.
|
|
|
|
This doesn't support some directory operations like readdir because
|
|
of the limitations of semihosting mechanism.
|
|
|
|
if ARM_SEMIHOSTING_HOSTFS
|
|
|
|
config ARM_SEMIHOSTING_HOSTFS_CACHE_COHERENCE
|
|
bool "Cache coherence in semihosting hostfs"
|
|
depends on ARCH_DCACHE
|
|
---help---
|
|
Flush & Invalidate cache before & after bkpt instruction.
|
|
|
|
endif # ARM_SEMIHOSTING_HOSTFS
|
|
|
|
if SCHED_BACKTRACE
|
|
|
|
choice
|
|
prompt "Choose ARM unwinder"
|
|
default UNWINDER_ARM
|
|
---help---
|
|
This determines which method will be used for unwinding nuttx stack
|
|
traces for debug.
|
|
|
|
config UNWINDER_FRAME_POINTER
|
|
bool "Frame pointer unwinder"
|
|
select FRAME_POINTER
|
|
---help---
|
|
This option enables the frame pointer unwinder for unwinding
|
|
nuttx stack traces.
|
|
|
|
config UNWINDER_STACK_POINTER
|
|
bool "Stack pointer unwinder"
|
|
---help---
|
|
This option enables the stack pointer unwinder for unwinding
|
|
nuttx stack traces.
|
|
|
|
config UNWINDER_ARM
|
|
bool "ARM EHABI stack unwinder"
|
|
select FRAME_POINTER
|
|
---help---
|
|
This option enables stack unwinding support in the nuttx
|
|
using the information automatically generated by the
|
|
compiler. The resulting nuttx image is slightly bigger but
|
|
the performance is not affected. Currently, this feature
|
|
only works with EABI compilers.
|
|
|
|
endchoice # Choose ARM unwinder
|
|
|
|
endif
|
|
|
|
if ARCH_ARMV6M
|
|
source "arch/arm/armv6-m/Kconfig"
|
|
endif
|
|
if ARCH_ARMV7A
|
|
source "arch/arm/armv7-a/Kconfig"
|
|
endif
|
|
if ARCH_ARMV7M
|
|
source "arch/arm/armv7-m/Kconfig"
|
|
endif
|
|
if ARCH_ARMV7R
|
|
source "arch/arm/armv7-r/Kconfig"
|
|
endif
|
|
if ARCH_ARMV8M
|
|
source "arch/arm/armv8-m/Kconfig"
|
|
endif
|
|
if ARCH_ARMV8R
|
|
source "arch/arm/armv8-r/Kconfig"
|
|
endif
|
|
if ARCH_ARM7TDMI || ARCH_ARM920T || ARCH_ARM926EJS || ARCH_ARM1136J || ARCH_ARM1156T2 || ARCH_ARM1176JZ
|
|
source "arch/arm/arm/Kconfig"
|
|
endif
|
|
|
|
source "arch/Kconfig" |