Toyomasa Watarai / mbed-dev-lpcx1769

Dependents:   LPCXpresso1769_blinky

Fork of mbed-dev by mbed official

Revision:
144:ef7eb2e8f9f7
Parent:
0:9b334a45a8ff
--- a/targets/cmsis/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32WG_STK3800/cmsis_nvic.c	Tue Aug 02 14:07:36 2016 +0000
+++ b/targets/cmsis/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32WG_STK3800/cmsis_nvic.c	Fri Sep 02 15:07:44 2016 +0100
@@ -1,47 +1,47 @@
-/* mbed Microcontroller Library - cmsis_nvic for EFM32
- * Copyright (c) 2011 ARM Limited. All rights reserved.
- *
- * CMSIS-style functionality to support dynamic vectors
- */
-#include "cmsis_nvic.h"
-
-#if (defined (__GNUC__) && (!defined(__CC_ARM)))
-extern uint32_t __start_vector_table__;		  // Dynamic vector positioning in GCC
-#endif
-
-#define NVIC_RAM_VECTOR_ADDRESS (0x20000000)  // Vectors positioned at start of RAM
-#define NVIC_FLASH_VECTOR_ADDRESS (0x0)       // Initial vector position in flash
-
-void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
-    uint32_t *vectors = (uint32_t*)SCB->VTOR;
-    uint32_t i;
-
-    // Copy and switch to dynamic vectors if the first time called
-    // For GCC, use dynamic vector table placement since otherwise we run into an alignment conflict
-#if (defined (__GNUC__) && (!defined(__CC_ARM)))
-    if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
-        uint32_t *old_vectors = vectors;
-        vectors = (uint32_t*)(&__start_vector_table__);
-        for (i=0; i<NVIC_NUM_VECTORS; i++) {
-            vectors[i] = old_vectors[i];
-        }
-        SCB->VTOR = (uint32_t)(&__start_vector_table__);
-    }
-    // Other compilers don't matter as much...
-#else
-    if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
-		uint32_t *old_vectors = vectors;
-		vectors = (uint32_t*)(NVIC_RAM_VECTOR_ADDRESS);
-		for (i=0; i<NVIC_NUM_VECTORS; i++) {
-			vectors[i] = old_vectors[i];
-		}
-		SCB->VTOR = (uint32_t)(NVIC_RAM_VECTOR_ADDRESS);
-	}
-#endif
-    vectors[IRQn + 16] = vector;
-}
-
-uint32_t NVIC_GetVector(IRQn_Type IRQn) {
-    uint32_t *vectors = (uint32_t*)SCB->VTOR;
-    return vectors[IRQn + 16];
-}
+/* mbed Microcontroller Library - cmsis_nvic for EFM32
+ * Copyright (c) 2011 ARM Limited. All rights reserved.
+ *
+ * CMSIS-style functionality to support dynamic vectors
+ */
+#include "cmsis_nvic.h"
+
+#if (defined (__GNUC__) && (!defined(__CC_ARM)))
+extern uint32_t __start_vector_table__;		  // Dynamic vector positioning in GCC
+#endif
+
+#define NVIC_RAM_VECTOR_ADDRESS (0x20000000)  // Vectors positioned at start of RAM
+#define NVIC_FLASH_VECTOR_ADDRESS (0x0)       // Initial vector position in flash
+
+void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
+    uint32_t *vectors = (uint32_t*)SCB->VTOR;
+    uint32_t i;
+
+    // Copy and switch to dynamic vectors if the first time called
+    // For GCC, use dynamic vector table placement since otherwise we run into an alignment conflict
+#if (defined (__GNUC__) && (!defined(__CC_ARM)))
+    if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
+        uint32_t *old_vectors = vectors;
+        vectors = (uint32_t*)(&__start_vector_table__);
+        for (i=0; i<NVIC_NUM_VECTORS; i++) {
+            vectors[i] = old_vectors[i];
+        }
+        SCB->VTOR = (uint32_t)(&__start_vector_table__);
+    }
+    // Other compilers don't matter as much...
+#else
+    if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
+		uint32_t *old_vectors = vectors;
+		vectors = (uint32_t*)(NVIC_RAM_VECTOR_ADDRESS);
+		for (i=0; i<NVIC_NUM_VECTORS; i++) {
+			vectors[i] = old_vectors[i];
+		}
+		SCB->VTOR = (uint32_t)(NVIC_RAM_VECTOR_ADDRESS);
+	}
+#endif
+    vectors[IRQn + 16] = vector;
+}
+
+uint32_t NVIC_GetVector(IRQn_Type IRQn) {
+    uint32_t *vectors = (uint32_t*)SCB->VTOR;
+    return vectors[IRQn + 16];
+}