diff options
Diffstat (limited to 'src/generic/armcm_boot.c')
-rw-r--r-- | src/generic/armcm_boot.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/generic/armcm_boot.c b/src/generic/armcm_boot.c index 9d2ce0bb..17eb8c8b 100644 --- a/src/generic/armcm_boot.c +++ b/src/generic/armcm_boot.c @@ -59,8 +59,13 @@ reset_handler_stage_two(void) } // Reset all user interrupt priorities +#if __CORTEX_M == 33 + for (i = 0; i < ARRAY_SIZE(NVIC->IPR); i++) + NVIC->IPR[i] = 0; +#else for (i = 0; i < ARRAY_SIZE(NVIC->IP); i++) NVIC->IP[i] = 0; +#endif // Disable SysTick interrupt SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk; @@ -70,7 +75,7 @@ reset_handler_stage_two(void) SCB->ICSR = SCB_ICSR_PENDSVCLR_Msk | SCB_ICSR_PENDSTCLR_Msk; // Reset all system interrupt priorities -#if __CORTEX_M >= 7 +#if __CORTEX_M == 7 || __CORTEX_M == 33 for (i = 0; i < ARRAY_SIZE(SCB->SHPR); i++) SCB->SHPR[i] = 0; #else |