mirror of
https://github.com/apache/nuttx.git
synced 2026-08-01 20:28:58 +00:00
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>
148 lines
3.1 KiB
Text
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
|