diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct index 5e9b148ba3..cbbea83ae7 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct @@ -18,10 +18,7 @@ LR_IROM1 0x1C000 0x0024000 { *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM0 0x20002800 UNINIT 0x000000c0 { ;no init section - *(noinit) - } - RW_IRAM1 0x200028C0 0x00005740 { + RW_IRAM1 0x20002800 0x00005800 { .ANY (+RW +ZI) } } diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct index ef516aa805..62638400f2 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct @@ -18,10 +18,7 @@ LR_IROM1 0x18000 0x0028000 { *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM0 0x20002000 UNINIT 0x000000c0 { ;no init section - *(noinit) - } - RW_IRAM1 0x200020C0 0x00001F40 { + RW_IRAM1 0x20002000 0x00002000 { .ANY (+RW +ZI) } } diff --git a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct index 9b63f3204a..212c545f25 100644 --- a/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct +++ b/targets/TARGET_NORDIC/TARGET_MCU_NRF51822/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct @@ -18,10 +18,7 @@ LR_IROM1 0x1C000 0x0024000 { *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM0 0x20002800 UNINIT 0x000000c0 { ;no init section - *(noinit) - } - RW_IRAM1 0x200028C0 0x00001740 { + RW_IRAM1 0x20002800 0x00001800 { .ANY (+RW +ZI) } } diff --git a/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct b/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct index 6396fd84fe..3a268542b0 100644 --- a/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct +++ b/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NORDIC_32K/nRF51822.sct @@ -12,13 +12,16 @@ ; ;WITH SOFTDEVICE: -LR_IROM1 0x0001B000 0x0025000 { - ER_IROM1 0x0001B000 0x0025000 { +LR_IROM1 0x1B000 0x0025000 { + ER_IROM1 0x1B000 0x0025000 { *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM1 0x20002ef8 0x5108 { + RW_IRAM0 0x20002ef8 UNINIT 0x000000c0 { ;no init section + *(noinit) + } + RW_IRAM1 0x20002FB8 0x00005048 { .ANY (+RW +ZI) } } diff --git a/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct b/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct index 94e85ccb7b..ef516aa805 100644 --- a/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct +++ b/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S110/nRF51822.sct @@ -12,13 +12,16 @@ ; ;WITH SOFTDEVICE: -LR_IROM1 0x0001B000 0x0025000 { - ER_IROM1 0x0001B000 0x0025000 { +LR_IROM1 0x18000 0x0028000 { + ER_IROM1 0x18000 0x0028000 { *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM1 0x20002ef8 0x1108 { + RW_IRAM0 0x20002000 UNINIT 0x000000c0 { ;no init section + *(noinit) + } + RW_IRAM1 0x200020C0 0x00001F40 { .ANY (+RW +ZI) } } diff --git a/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct b/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct index 94e85ccb7b..585ae2080d 100644 --- a/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct +++ b/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822_UNIFIED/device/TOOLCHAIN_ARM_STD/TARGET_MCU_NRF51_16K_S130/nRF51822.sct @@ -18,7 +18,10 @@ LR_IROM1 0x0001B000 0x0025000 { *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM1 0x20002ef8 0x1108 { + RW_IRAM0 0x20002ef8 UNINIT 0x000000c0 { ;no init section + *(noinit) + } + RW_IRAM1 0x20002FB8 0x00001048 { .ANY (+RW +ZI) } } diff --git a/targets/TARGET_NORDIC/TARGET_NRF5/reloc_vector_table.c b/targets/TARGET_NORDIC/TARGET_NRF5/reloc_vector_table.c index dc98fb323d..2862e6c417 100644 --- a/targets/TARGET_NORDIC/TARGET_NRF5/reloc_vector_table.c +++ b/targets/TARGET_NORDIC/TARGET_NRF5/reloc_vector_table.c @@ -56,13 +56,8 @@ typedef void (*generic_irq_handler_t)(void); -#ifdef NRF52 -#define VECTORS_FLASH_START 0x1C000 -#endif - -#ifdef NRF51 -#define VECTORS_FLASH_START 0x1B000 -#endif +extern uint32_t __Vectors[]; +#define VECTORS_FLASH_START __Vectors /** * @brief Function for relocation of the vector to RAM on nRF5x devices.