Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Seeed_Barometer_Sensor_Example
Fork of mbed-src by
vendor/NXP/LPC4088/cmsis/cmsis_nvic.c
- Committer:
- emilmont
- Date:
- 2013-06-14
- Revision:
- 10:3bc89ef62ce7
File content as of revision 10:3bc89ef62ce7:
/* mbed Microcontroller Library - cmsis_nvic for LCP407x_8x * Copyright (c) 2009-2011 ARM Limited. All rights reserved. * * CMSIS-style functionality to support dynamic vectors */ #include "cmsis_nvic.h" #define NVIC_NUM_VECTORS (16 + 41) // CORE + MCU Peripherals #define NVIC_RAM_VECTOR_ADDRESS (0x10000000) // Location of vectors in RAM void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) { static volatile uint32_t* vectors = (uint32_t*)NVIC_RAM_VECTOR_ADDRESS; int i; // Copy and switch to dynamic vectors if first time called if (SCB->VTOR != NVIC_RAM_VECTOR_ADDRESS) { uint32_t *old_vectors = (uint32_t*)SCB->VTOR; for (i=0; i<NVIC_NUM_VECTORS; i++) { vectors[i] = old_vectors[i]; } SCB->VTOR = (uint32_t)vectors; } vectors[IRQn + 16] = vector; } uint32_t NVIC_GetVector(IRQn_Type IRQn) { uint32_t *vectors = (uint32_t*)SCB->VTOR; return vectors[IRQn + 16]; }