nuttx/arch/tricore/Kconfig
zhangyu117 c858f3cc44 arch/tricore: Add hardware debug breakpoint and watchpoint support.
Implement hardware breakpoint and watchpoint support for TriCore
architecture using the Trigger Event (TREVT) registers. This enables
the standard NuttX debugpoint API (up_debugpoint_add/remove) on TriCore
processors, supporting read/write/execute watchpoints and breakpoints
via the on-chip debug unit.

Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com>
2026-05-22 15:38:36 +08:00

148 lines
3.1 KiB
Text

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_TRICORE
comment "Tricore Options"
choice
prompt "Tricore Toolchain Selection"
default TRICORE_TOOLCHAIN_GNU
config TRICORE_TOOLCHAIN_TASKING
bool "AURIX Tasking C/C++ toolchain"
select ARCH_TOOLCHAIN_TASKING
config TRICORE_TOOLCHAIN_GNU
bool "Generic GNU toolchain"
select ARCH_TOOLCHAIN_GNU
---help---
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
endchoice # Tricore Toolchain Selection
config ARCH_TC1V6
bool
select ARCH_HAVE_DEBUG
select ARCH_HAVE_MPU
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_PERF_EVENTS
select ARCH_HAVE_POWEROFF
select ARCH_HAVE_PERF_EVENTS_USER_ACCESS
select ARCH_HAVE_SETJMP
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_SETJMP_H
default n
config ARCH_TC1V8
bool
select ARCH_DCACHE
select ARCH_HAVE_DEBUG
select ARCH_ICACHE
select ARCH_HAVE_MPU
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_PERF_EVENTS
select ARCH_HAVE_PERF_EVENTS_USER_ACCESS
select ARCH_HAVE_POWEROFF
select ARCH_HAVE_SETJMP
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_SETJMP_H
default n
config ARCH_FAMILY
string
default "tc1v6" if ARCH_TC1V6
default "tc1v8" if ARCH_TC1V8
config ARCH_CHIP_TC3XX
bool
select ARCH_TC1V6
select ARCH_HAVE_ADDRENV
select ARCH_HAVE_I2CRESET
select ARCH_MINIMAL_VECTORTABLE
select ARCH_MINIMAL_VECTORTABLE_DYNAMIC
select ALARM_ARCH
select ONESHOT
select ONESHOT_COUNT
---help---
Infineon aurix tc3xx (six cores)
config ARCH_CHIP_TC4XX
bool
select ARCH_TC1V8
select ARCH_HAVE_ADDRENV
select ARCH_HAVE_FPU if !TRICORE_CSRM
select ARCH_HAVE_I2CRESET
select ARCH_MINIMAL_VECTORTABLE
select ARCH_MINIMAL_VECTORTABLE_DYNAMIC
select ALARM_ARCH
select ONESHOT
select ONESHOT_COUNT
select HAVE_SECURITY_CORE
---help---
Infineon aurix tc4xx (six cores and one security core)
config ARCH_CHIP_TC397
bool "AURIX CHIP TC397"
select ARCH_CHIP_TC3XX
config ARCH_CHIP_TC4DA
bool "AURIX CHIP TC4DA"
select ARCH_CHIP_TC4XX
config ARCH_CHIP
string
default "tc397" if ARCH_CHIP_TC397
default "tc4da" if ARCH_CHIP_TC4DA
config ARCH_DCACHE_ADDR
hex "AURIX Dcache base address"
default 0x7003C000
---help---
AURIX Dcache base address, dcache line clear and invalidate need
use the address.
config ARCH_MPU_NSETS
int "Protection sets number"
default 7
---help---
The protection sets count
config ARCH_MPU_DATA_NREGIONS
int "Data regions number"
default 23
---help---
The data regions count
config ARCH_MPU_CODE_NREGIONS
int "Code regions variables"
default 15
---help---
The code regions count
config HAVE_SECURITY_CORE
bool
---help---
In addition to the 6 cores, tc4xx also has one more security core.
config CPU_COREID
int "TRICORE CPU CORE ID"
default 0
range 0 6
if ARCH_CHIP_TC3XX
source "arch/tricore/src/tc3xx/Kconfig"
endif
if ARCH_CHIP_TC4XX
source "arch/tricore/src/tc4xx/Kconfig"
endif
if ARCH_CHIP_TC397
source "arch/tricore/src/tc397/Kconfig"
endif
if ARCH_CHIP_TC4DA
source "arch/tricore/src/tc4da/Kconfig"
endif
endif # ARCH_TRICORE