mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Mon Oct 02 15:33:19 2017 +0100
Revision:
174:b96e65c34a4d
This updates the lib to the mbed lib v 152

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 174:b96e65c34a4d 1 /* mbed Microcontroller Library
AnnaBridge 174:b96e65c34a4d 2 * Copyright (c) 2015-2017 Nuvoton
AnnaBridge 174:b96e65c34a4d 3 *
AnnaBridge 174:b96e65c34a4d 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 174:b96e65c34a4d 5 * you may not use this file except in compliance with the License.
AnnaBridge 174:b96e65c34a4d 6 * You may obtain a copy of the License at
AnnaBridge 174:b96e65c34a4d 7 *
AnnaBridge 174:b96e65c34a4d 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 174:b96e65c34a4d 9 *
AnnaBridge 174:b96e65c34a4d 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 174:b96e65c34a4d 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 174:b96e65c34a4d 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 174:b96e65c34a4d 13 * See the License for the specific language governing permissions and
AnnaBridge 174:b96e65c34a4d 14 * limitations under the License.
AnnaBridge 174:b96e65c34a4d 15 */
AnnaBridge 174:b96e65c34a4d 16 #include "cmsis_nvic.h"
AnnaBridge 174:b96e65c34a4d 17 #include "platform/mbed_error.h"
AnnaBridge 174:b96e65c34a4d 18
AnnaBridge 174:b96e65c34a4d 19 void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
AnnaBridge 174:b96e65c34a4d 20 {
AnnaBridge 174:b96e65c34a4d 21 // NOTE: On NANO130, relocating vector table is not supported due to just 16KB small SRAM.
AnnaBridge 174:b96e65c34a4d 22 // Add guard code to prevent from unsupported relocating.
AnnaBridge 174:b96e65c34a4d 23 uint32_t vector_static = NVIC_GetVector(IRQn);
AnnaBridge 174:b96e65c34a4d 24 if (vector_static != vector) {
AnnaBridge 174:b96e65c34a4d 25 error("No support for relocating vector table");
AnnaBridge 174:b96e65c34a4d 26 }
AnnaBridge 174:b96e65c34a4d 27 }
AnnaBridge 174:b96e65c34a4d 28
AnnaBridge 174:b96e65c34a4d 29 uint32_t NVIC_GetVector(IRQn_Type IRQn)
AnnaBridge 174:b96e65c34a4d 30 {
AnnaBridge 174:b96e65c34a4d 31 uint32_t *vectors = (uint32_t*) NVIC_FLASH_VECTOR_ADDRESS;
AnnaBridge 174:b96e65c34a4d 32
AnnaBridge 174:b96e65c34a4d 33 // Return the vector
AnnaBridge 174:b96e65c34a4d 34 return vectors[IRQn + 16];
AnnaBridge 174:b96e65c34a4d 35 }