arch/arm/imxrt: support ramvectors in ITCM memory

This is done by initializing the ramvectors earlier in start so that
we can access the ITCM before the MPU gets configured
This commit is contained in:
Peter van der Perk 2025-05-26 09:37:35 +02:00 committed by Xiang Xiao
parent 6556d4e123
commit 073e58a83f
2 changed files with 6 additions and 1 deletions

View file

@ -436,7 +436,7 @@ void up_irqinitialize(void)
* vector table that requires special initialization.
*/
arm_ramvec_initialize();
putreg32((uint32_t)g_ram_vectors, NVIC_VECTAB);
#endif
/* Set all interrupts (and exceptions) to the default priority */

View file

@ -37,6 +37,7 @@
#include "arm_internal.h"
#include "nvic.h"
#include "ram_vectors.h"
#include "imxrt_clockconfig.h"
#include "imxrt_mpuinit.h"
@ -216,6 +217,10 @@ void __start(void)
}
#endif
#ifdef CONFIG_ARCH_RAMVECTORS
arm_ramvec_initialize();
#endif
#ifdef CONFIG_ARMV7M_STACKCHECK
arm_stack_check_init();
#endif