Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more
Diff: targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K24F/TARGET_MCU_K24F1M/device/TOOLCHAIN_GCC_ARM/MK24FN1M0xxx12.ld
- Revision:
- 188:bcfe06ba3d64
- Parent:
- 180:96ed750bd169
diff -r 0387e8f68319 -r bcfe06ba3d64 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K24F/TARGET_MCU_K24F1M/device/TOOLCHAIN_GCC_ARM/MK24FN1M0xxx12.ld
--- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K24F/TARGET_MCU_K24F1M/device/TOOLCHAIN_GCC_ARM/MK24FN1M0xxx12.ld Thu Sep 06 13:40:20 2018 +0100
+++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K24F/TARGET_MCU_K24F1M/device/TOOLCHAIN_GCC_ARM/MK24FN1M0xxx12.ld Thu Nov 08 11:46:34 2018 +0000
@@ -85,32 +85,22 @@
.interrupts :
{
__VECTOR_TABLE = .;
- . = ALIGN(4);
+ . = ALIGN(8);
KEEP(*(.isr_vector)) /* Startup code */
- . = ALIGN(4);
+ . = ALIGN(8);
} > m_interrupts
.flash_config :
{
- . = ALIGN(4);
+ . = ALIGN(8);
KEEP(*(.FlashConfig)) /* Flash Configuration Field (FCF) */
- . = ALIGN(4);
+ . = ALIGN(8);
} > m_flash_config
- /* The program code and other data goes into internal flash */
- /* Note: The uVisor expects this section at a fixed location, as specified by
- * the porting process configuration parameter: FLASH_OFFSET. */
- __UVISOR_TEXT_OFFSET = 0x410;
- __UVISOR_TEXT_START = ORIGIN(m_interrupts) + __UVISOR_TEXT_OFFSET;
- .text __UVISOR_TEXT_START :
+ .text :
{
- /* uVisor code and data */
- . = ALIGN(4);
- __uvisor_main_start = .;
- *(.uvisor.main)
- __uvisor_main_end = .;
- . = ALIGN(4);
+ . = ALIGN(8);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.rodata) /* .rodata sections (constants, strings, etc.) */
@@ -120,7 +110,7 @@
*(.eh_frame)
KEEP (*(.init))
KEEP (*(.fini))
- . = ALIGN(4);
+ . = ALIGN(8);
} > m_text
.ARM.extab :
@@ -195,55 +185,15 @@
.interrupts_ram :
{
- . = ALIGN(4);
+ . = ALIGN(8);
__VECTOR_RAM__ = .;
__interrupts_ram_start__ = .; /* Create a global symbol at data start */
*(.m_interrupts_ram) /* This is a user defined section */
. += M_VECTOR_RAM_SIZE;
- . = ALIGN(4);
+ . = ALIGN(8);
__interrupts_ram_end__ = .; /* Define a global symbol at data end */
} > m_data
- /* Ensure that the uVisor BSS section is put first after the relocated
- * interrupt table in SRAM. */
- /* Note: The uVisor expects this section at a fixed location, as specified by
- * the porting process configuration parameter: SRAM_OFFSET. */
- __UVISOR_SRAM_OFFSET = 0x400;
- __UVISOR_BSS_START = ORIGIN(m_data) + __UVISOR_SRAM_OFFSET;
- ASSERT(__interrupts_ram_end__ <= __UVISOR_BSS_START,
- "The ISR relocation region overlaps with the uVisor BSS section.")
- .uvisor.bss __UVISOR_BSS_START (NOLOAD):
- {
- . = ALIGN(32);
- __uvisor_bss_start = .;
-
- /* protected uvisor main bss */
- . = ALIGN(32);
- __uvisor_bss_main_start = .;
- KEEP(*(.keep.uvisor.bss.main))
- . = ALIGN(32);
- __uvisor_bss_main_end = .;
-
- /* protected uvisor secure boxes bss */
- . = ALIGN(32);
- __uvisor_bss_boxes_start = .;
- KEEP(*(.keep.uvisor.bss.boxes))
- . = ALIGN(32);
- __uvisor_bss_boxes_end = .;
-
- . = ALIGN(32);
- __uvisor_bss_end = .;
- } > m_data
-
- /* Heap space for the page allocator */
- .page_heap (NOLOAD) :
- {
- . = ALIGN(32);
- __uvisor_page_start = .;
- KEEP(*(.keep.uvisor.page_heap))
- . = ALIGN(32);
- __uvisor_page_end = .;
- } > m_data_2
__VECTOR_RAM = DEFINED(__ram_vector_table__) ? __VECTOR_RAM__ : ORIGIN(m_interrupts);
__RAM_VECTOR_TABLE_SIZE_BYTES = DEFINED(__ram_vector_table__) ? (__interrupts_ram_end__ - __interrupts_ram_start__) : 0x0;
@@ -252,13 +202,13 @@
{
PROVIDE(__etext = LOADADDR(.data)); /* Define a global symbol at end of code, */
PROVIDE(__DATA_ROM = LOADADDR(.data)); /* Symbol is used by startup for data initialization. */
- . = ALIGN(4);
+ . = ALIGN(8);
__DATA_RAM = .;
__data_start__ = .; /* create a global symbol at data start */
*(.data) /* .data sections */
*(.data*) /* .data* sections */
KEEP(*(.jcr*))
- . = ALIGN(4);
+ . = ALIGN(8);
__data_end__ = .; /* define a global symbol at data end */
} > m_data_2 AT > m_text
@@ -266,37 +216,6 @@
text_end = ORIGIN(m_text) + LENGTH(m_text);
ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data")
- /* uVisor configuration section
- * This section must be located after all other flash regions. */
- .uvisor.secure :
- {
- . = ALIGN(32);
- __uvisor_secure_start = .;
-
- /* uVisor secure boxes configuration tables */
- . = ALIGN(32);
- __uvisor_cfgtbl_start = .;
- KEEP(*(.keep.uvisor.cfgtbl))
- . = ALIGN(32);
- __uvisor_cfgtbl_end = .;
-
- /* Pointers to the uVisor secure boxes configuration tables */
- /* Note: Do not add any further alignment here, as uVisor will need to have
- * access to the exact list of pointers. */
- __uvisor_cfgtbl_ptr_start = .;
- KEEP(*(.keep.uvisor.cfgtbl_ptr_first))
- KEEP(*(.keep.uvisor.cfgtbl_ptr))
- __uvisor_cfgtbl_ptr_end = .;
-
- /* Pointers to all boxes register gateways. These are grouped here to allow
- * discoverability and firmware verification. */
- __uvisor_register_gateway_ptr_start = .;
- KEEP(*(.keep.uvisor.register_gateway_ptr))
- __uvisor_register_gateway_ptr_end = .;
-
- . = ALIGN(32);
- __uvisor_secure_end = .;
- } > m_text
/* Uninitialized data section
* This region is not initialized by the C/C++ library and can be used to
@@ -316,7 +235,7 @@
.bss :
{
/* This is used by the startup in order to initialize the .bss section */
- . = ALIGN(4);
+ . = ALIGN(8);
__START_BSS = .;
__bss_start__ = .;
*(.bss)
@@ -325,7 +244,7 @@
USB_RAM_START = .;
. += USB_RAM_GAP;
*(COMMON)
- . = ALIGN(4);
+ . = ALIGN(8);
__bss_end__ = .;
__END_BSS = .;
} > m_data_2
@@ -333,14 +252,12 @@
.heap :
{
. = ALIGN(8);
- __uvisor_heap_start = .;
__end__ = .;
PROVIDE(end = .);
__HeapBase = .;
. += HEAP_SIZE;
__HeapLimit = .;
__heap_limit = .; /* Add for _sbrk */
- __uvisor_heap_end = .;
} > m_data_2
m_usb_bdt USB_RAM_START (NOLOAD) :
@@ -363,9 +280,4 @@
ASSERT(__StackLimit >= __HeapLimit, "region m_data_2 overflowed with stack and heap")
- /* Provide the physical memory boundaries for uVisor. */
- __uvisor_flash_start = ORIGIN(m_interrupts);
- __uvisor_flash_end = ORIGIN(m_text) + LENGTH(m_text);
- __uvisor_sram_start = ORIGIN(m_data);
- __uvisor_sram_end = ORIGIN(m_data_2) + LENGTH(m_data_2);
}


