Skip to content

Commit 30333f4

Browse files
stevew817adbridge
authored andcommitted
Bugfix for EFM32PG12 and EFR32MG12
* Off by one error in the linker scripts reserved one word too little for the vector table * Re-apply uvisor changes to emlib. To allow uvisor to run, we should make accesses to the romtable through uvisor's secure read gateway * Copypasta in target name (EFM32PG12, not EFR32PG12) * Copypasta in the pin definitions (thanks @akselsm) * Forgot to update PortName for extra ports on MG/PG12
1 parent 37d47a6 commit 30333f4

File tree

73 files changed

+48
-33
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+48
-33
lines changed

targets/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFR32PG12/device/TOOLCHAIN_ARM_STD/efr32pg12b.sct renamed to targets/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32PG12/device/TOOLCHAIN_ARM_STD/efr32pg12b.sct

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ LR_IROM1 0x00000000 0x00100000 { ; load region size_region
88
*(InRoot$$Sections)
99
.ANY (+RO)
1010
}
11-
RW_IRAM1 0x20000108 0x0003FEF8 { ; RW data
11+
RW_IRAM1 0x2000010C 0x0003FEF4 { ; RW data
1212
.ANY (+RW +ZI)
1313
}
1414
}

targets/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFR32PG12/device/TOOLCHAIN_GCC_ARM/efm32pg12b.ld renamed to targets/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32PG12/device/TOOLCHAIN_GCC_ARM/efm32pg12b.ld

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ MEMORY
1717

1818
/* MBED: mbed needs to be able to dynamically set the interrupt vector table.
1919
* We make room for the table at the very beginning of RAM, i.e. at
20-
* 0x20000000. We need (16+50 * sizeof(uint32_t) = 264 bytes for EFM32PG */
21-
__vector_size = 0x108;
20+
* 0x20000000. We need (16+51 * sizeof(uint32_t) = 268 bytes for EFM32PG */
21+
__vector_size = 0x10C;
2222

2323
/* Linker script to place sections and symbol values. Should be used together
2424
* with other linker script that defines memory regions FLASH and RAM.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
1010
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
1111
define symbol __ICFEDIT_region_ROM_end__ = (0x00000000+0x00100000-1);
1212
define symbol __NVIC_start__ = 0x20000000;
13-
define symbol __NVIC_end__ = 0x20000107;
14-
define symbol __ICFEDIT_region_RAM_start__ = 0x20000108;
13+
define symbol __NVIC_end__ = 0x2000010B;
14+
define symbol __ICFEDIT_region_RAM_start__ = 0x2000010C;
1515
define symbol __ICFEDIT_region_RAM_end__ = (0x20000000+0x00040000-1);
1616

1717
/*-Sizes-*/

0 commit comments

Comments
 (0)