| /* | |
| * Copyright (c) 2020 Nordic Semiconductor ASA | |
| * | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| #include <arch/arm/aarch32/cortex_m/cmsis.h> | |
| 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; | |
| } | |
| } |