From 76a51c6841209ac1447a72f90f2729bf22ffc7d4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 13 Jan 2016 14:07:41 +0100 Subject: bsps/arm: Copy vector table only if necessary --- c/src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/c/src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c b/c/src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c index 6ad948226e..53ab5138f9 100644 --- a/c/src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c +++ b/c/src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c @@ -42,11 +42,13 @@ rtems_status_code bsp_interrupt_facility_initialize(void) ARMV7M_Exception_handler *vector_table = (ARMV7M_Exception_handler *) bsp_vector_table_begin; - memcpy( - vector_table, - bsp_start_vector_table_begin, - (size_t) bsp_vector_table_size - ); + if (bsp_vector_table_begin != bsp_start_vector_table_begin) { + memcpy( + vector_table, + bsp_start_vector_table_begin, + (size_t) bsp_vector_table_size + ); + } for (i = BSP_INTERRUPT_VECTOR_MIN; i <= BSP_INTERRUPT_VECTOR_MAX; ++i) { vector_table [ARMV7M_VECTOR_IRQ(i)] = _ARMV7M_NVIC_Interrupt_dispatch; -- cgit v1.2.3