/* * Copyright (c) 2020 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ #include void cleanup_arm_nvic(void) { /* Allow any pending interrupts to be recognized */ __ISB(); __disable_irq(); /* Disable NVIC interrupts */ for (u8_t i = 0; i < ARRAY_SIZE(NVIC->ICER); i++) { NVIC->ICER[i] = 0xFFFFFFFF; } /* Clear pending NVIC interrupts */ for (u8_t i = 0; i < ARRAY_SIZE(NVIC->ICPR); i++) { NVIC->ICPR[i] = 0xFFFFFFFF; } }