summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/armv7-m/Kconfig
blob: 750229be1908d71d9e0137c8a6739a665584bd88 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

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_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 architecture.  The changes
		are not complex and patches for other architectures will be accepted.

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