Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * GENERATED FILE - DO NOT EDIT
- * Copyright (c) 2008-2013 Code Red Technologies Ltd,
- * Copyright 2015, 2018-2019 NXP
- * (c) NXP Semiconductors 2013-2023
- * Generated linker script file for LPC845
- * Created from linkscript.ldt by FMCreateLinkLibraries
- * Using Freemarker v2.3.30
- * MCUXpresso IDE v11.7.1 [Build 9221] [2023-03-28] on Aug 26, 2023, 12:57:30 PM
- */
- /*INCLUDE "GPIO_Debug_library.ld"*/
- /*INCLUDE "GPIO_Debug_memory.ld"*/
- GROUP (
- "libgcc.a"
- "libc.a"
- "libstdc++.a"
- "libm.a"
- "libcr_newlib_nohost.a"
- "crti.o"
- "crtn.o"
- "crtbegin.o"
- "crtend.o"
- )
- MEMORY
- {
- /* Define each memory region */
- MFlash64 (rx) : ORIGIN = 0x0, LENGTH = 0x10000 /* 64K bytes (alias Flash) */
- RamLoc16 (rwx) : ORIGIN = 0x10000000, LENGTH = 0x4000 /* 16K bytes (alias RAM) */
- }
- /* Define a symbol for the top of each memory region */
- __base_MFlash64 = 0x0 ; /* MFlash64 */
- __base_Flash = 0x0 ; /* Flash */
- __top_MFlash64 = 0x0 + 0x10000 ; /* 64K bytes */
- __top_Flash = 0x0 + 0x10000 ; /* 64K bytes */
- __base_RamLoc16 = 0x10000000 ; /* RamLoc16 */
- __base_RAM = 0x10000000 ; /* RAM */
- __top_RamLoc16 = 0x10000000 + 0x4000 ; /* 16K bytes */
- __top_RAM = 0x10000000 + 0x4000 ; /* 16K bytes */
- ENTRY(ResetISR)
- SECTIONS
- {
- /* MAIN TEXT SECTION */
- .text : ALIGN(4)
- {
- FILL(0xff)
- __vectors_start__ = ABSOLUTE(.) ;
- KEEP(*(.isr_vector))
- /* Global Section Table */
- . = ALIGN(4) ;
- __section_table_start = .;
- __data_section_table = .;
- LONG(LOADADDR(.data));
- LONG( ADDR(.data));
- LONG( SIZEOF(.data));
- __data_section_table_end = .;
- __bss_section_table = .;
- LONG( ADDR(.bss));
- LONG( SIZEOF(.bss));
- __bss_section_table_end = .;
- __section_table_end = . ;
- /* End of Global Section Table */
- *(.after_vectors*)
- /* Code Read Protection data */
- . = 0x000002FC ;
- PROVIDE(__CRP_WORD_START__ = .) ;
- KEEP(*(.crp))
- PROVIDE(__CRP_WORD_END__ = .) ;
- ASSERT(!(__CRP_WORD_START__ == __CRP_WORD_END__), "Linker CRP Enabled, but no CRP_WORD provided within application");
- /* End of Code Read Protection */
- *(.text*)
- *(.rodata .rodata.* .constdata .constdata.*)
- . = ALIGN(4);
- /* C++ constructors etc */
- . = ALIGN(4);
- KEEP(*(.init))
- . = ALIGN(4);
- __preinit_array_start = .;
- KEEP (*(.preinit_array))
- __preinit_array_end = .;
- . = ALIGN(4);
- __init_array_start = .;
- KEEP (*(SORT(.init_array.*)))
- KEEP (*(.init_array))
- __init_array_end = .;
- KEEP(*(.fini));
- . = ALIGN(4);
- KEEP (*crtbegin.o(.ctors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*crtend.o(.ctors))
- . = ALIGN(4);
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*crtend.o(.dtors))
- . = ALIGN(4);
- /* End C++ */
- } > MFlash64
- /*
- * for exception handling/unwind - some Newlib functions (in common
- * with C++ and STDC++) use this.
- */
- .ARM.extab : ALIGN(4)
- {
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- } > MFlash64
- .ARM.exidx : ALIGN(4)
- {
- __exidx_start = .;
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
- __exidx_end = .;
- } > MFlash64
- _etext = .;
- /* MAIN DATA SECTION */
- /* Default MTB section */
- .mtb_buffer_default (NOLOAD) :
- {
- KEEP(*(.mtb*))
- } > RamLoc16 AT > RamLoc16
- .uninit_RESERVED (NOLOAD) : ALIGN(4)
- {
- _start_uninit_RESERVED = .;
- KEEP(*(.bss.$RESERVED*))
- . = ALIGN(4) ;
- _end_uninit_RESERVED = .;
- } > RamLoc16 AT> RamLoc16
- /* Main DATA section (RamLoc16) */
- .data : ALIGN(4)
- {
- FILL(0xff)
- _data = . ;
- PROVIDE(__start_data_RAM = .) ;
- PROVIDE(__start_data_RamLoc16 = .) ;
- *(vtable)
- *(.ramfunc*)
- KEEP(*(CodeQuickAccess))
- KEEP(*(DataQuickAccess))
- *(RamFunction)
- *(.data*)
- . = ALIGN(4) ;
- _edata = . ;
- PROVIDE(__end_data_RAM = .) ;
- PROVIDE(__end_data_RamLoc16 = .) ;
- } > RamLoc16 AT>MFlash64
- /* MAIN BSS SECTION */
- .bss : ALIGN(4)
- {
- _bss = .;
- PROVIDE(__start_bss_RAM = .) ;
- PROVIDE(__start_bss_RamLoc16 = .) ;
- *(.bss*)
- *(COMMON)
- . = ALIGN(4) ;
- _ebss = .;
- PROVIDE(__end_bss_RAM = .) ;
- PROVIDE(__end_bss_RamLoc16 = .) ;
- PROVIDE(end = .);
- } > RamLoc16 AT> RamLoc16
- /* DEFAULT NOINIT SECTION */
- .noinit (NOLOAD): ALIGN(4)
- {
- _noinit = .;
- PROVIDE(__start_noinit_RAM = .) ;
- PROVIDE(__start_noinit_RamLoc16 = .) ;
- *(.noinit*)
- . = ALIGN(4) ;
- _end_noinit = .;
- PROVIDE(__end_noinit_RAM = .) ;
- PROVIDE(__end_noinit_RamLoc16 = .) ;
- } > RamLoc16 AT> RamLoc16
- PROVIDE(_pvHeapStart = DEFINED(__user_heap_base) ? __user_heap_base : .);
- PROVIDE(_vStackTop = DEFINED(__user_stack_top) ? __user_stack_top : __top_RamLoc16 - 0);
- /* ## Create checksum value (used in startup) ## */
- PROVIDE(__valid_user_code_checksum = 0 -
- (_vStackTop
- + (ResetISR + 1)
- + (( DEFINED(NMI_Handler) ? NMI_Handler : M0_NMI_Handler ) + 1)
- + (( DEFINED(HardFault_Handler) ? HardFault_Handler : M0_HardFault_Handler ) + 1)
- )
- );
- /* Provide basic symbols giving location and size of main text
- * block, including initial values of RW data sections. Note that
- * these will need extending to give a complete picture with
- * complex images (e.g multiple Flash banks).
- */
- _image_start = LOADADDR(.text);
- _image_end = LOADADDR(.data) + SIZEOF(.data);
- _image_size = _image_end - _image_start;
- }
Advertisement
Add Comment
Please, Sign In to add comment