arch/arm: add support for chip to replace the default vector table

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
This commit is contained in:
buxiasen 2024-10-17 12:18:05 +08:00 committed by Xiang Xiao
parent 17c102c10c
commit 4e2b77cb04
4 changed files with 22 additions and 3 deletions

View File

@ -1119,6 +1119,13 @@ config ARCH_RAMFUNCS
so that FLASH can be reconfigured while the MCU executes out of
SRAM.
config ARCH_HAVE_CUSTOM_VECTORS
bool
default n
---help---
If ARCH_HAVE_CUSTOM_VECTORS is defined, Chip should provide vectors
table as an optimization.
config ARCH_HAVE_RAMVECTORS
bool
default n

View File

@ -26,9 +26,13 @@ CMN_ASRCS += arm_exception.S arm_saveusercontext.S
CMN_CSRCS += arm_cpuinfo.c arm_doirq.c arm_hardfault.c arm_initialstate.c
CMN_CSRCS += arm_schedulesigaction.c arm_sigdeliver.c arm_svcall.c
CMN_CSRCS += arm_systemreset.c arm_tcbinfo.c arm_vectors.c
CMN_CSRCS += arm_systemreset.c arm_tcbinfo.c
CMN_CSRCS += arm_trigger_irq.c
ifneq ($(CONFIG_ARCH_HAVE_CUSTOM_VECTORS),y)
CMN_CSRCS += arm_vectors.c
endif
ifneq ($(filter y,$(CONFIG_DEBUG_FEATURES)$(CONFIG_ARM_COREDUMP_REGION)),)
CMN_CSRCS += arm_dumpnvic.c
endif

View File

@ -29,7 +29,11 @@ CMN_CSRCS += arm_hardfault.c arm_initialstate.c arm_itm.c
CMN_CSRCS += arm_memfault.c arm_perf.c
CMN_CSRCS += arm_schedulesigaction.c arm_sigdeliver.c
CMN_CSRCS += arm_svcall.c arm_systemreset.c arm_tcbinfo.c
CMN_CSRCS += arm_trigger_irq.c arm_usagefault.c arm_vectors.c arm_dbgmonitor.c
CMN_CSRCS += arm_trigger_irq.c arm_usagefault.c arm_dbgmonitor.c
ifneq ($(CONFIG_ARCH_HAVE_CUSTOM_VECTORS),y)
CMN_CSRCS += arm_vectors.c
endif
ifeq ($(CONFIG_ARMV7M_SYSTICK),y)
CMN_CSRCS += arm_systick.c

View File

@ -30,7 +30,11 @@ CMN_CSRCS += arm_memfault.c arm_perf.c arm_sau.c
CMN_CSRCS += arm_schedulesigaction.c arm_securefault.c arm_secure_irq.c
CMN_CSRCS += arm_sigdeliver.c arm_svcall.c
CMN_CSRCS += arm_systemreset.c arm_tcbinfo.c
CMN_CSRCS += arm_trigger_irq.c arm_usagefault.c arm_vectors.c arm_dbgmonitor.c
CMN_CSRCS += arm_trigger_irq.c arm_usagefault.c arm_dbgmonitor.c
ifneq ($(CONFIG_ARCH_HAVE_CUSTOM_VECTORS),y)
CMN_CSRCS += arm_vectors.c
endif
ifeq ($(CONFIG_ARMV8M_SYSTICK),y)
CMN_CSRCS += arm_systick.c