diff --git a/arch/arm/src/armv8-m/arm_secure_irq.c b/arch/arm/src/armv8-m/arm_secure_irq.c index dc52a5454c..bc88a3928c 100644 --- a/arch/arm/src/armv8-m/arm_secure_irq.c +++ b/arch/arm/src/armv8-m/arm_secure_irq.c @@ -100,8 +100,8 @@ void up_secure_irq_all(bool secure) { int i; - modreg32(secure ? 0 : NVIC_AIRCR_BFHFNMINS, - NVIC_AIRCR_BFHFNMINS, NVIC_AIRCR); + modreg32((secure ? 0 : NVIC_AIRCR_BFHFNMINS) | NVIC_AIRCR_VECTKEY, + (NVIC_AIRCR_VECTKEY_MASK | NVIC_AIRCR_BFHFNMINS), NVIC_AIRCR); modreg32(secure ? NVIC_DEMCR_SDME : 0, NVIC_DEMCR_SDME, NVIC_DEMCR);