Guest User

Untitled

a guest
Oct 2nd, 2023
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.31 KB | None | 0 0
  1. /*
  2. * GENERATED FILE - DO NOT EDIT
  3. * Copyright (c) 2008-2013 Code Red Technologies Ltd,
  4. * Copyright 2015, 2018-2019 NXP
  5. * (c) NXP Semiconductors 2013-2023
  6. * Generated linker script file for LPC845
  7. * Created from linkscript.ldt by FMCreateLinkLibraries
  8. * Using Freemarker v2.3.30
  9. * MCUXpresso IDE v11.7.1 [Build 9221] [2023-03-28] on Aug 26, 2023, 12:57:30 PM
  10. */
  11.  
  12. /*INCLUDE "LPC845_Debug_library.ld"*/
  13. /*INCLUDE "LPC845_Debug_memory.ld"*/
  14.  
  15. GROUP (
  16. "libgcc.a"
  17. "libc.a"
  18. "libstdc++.a"
  19. "libm.a"
  20. /* "libcr_newlib_nohost.a"*/
  21. "libnosys.a"
  22. "crti.o"
  23. "crtn.o"
  24. "crtbegin.o"
  25. "crtend.o"
  26. )
  27.  
  28. MEMORY
  29. {
  30. /* Define each memory region */
  31. MFlash64 (rx) : ORIGIN = 0x0, LENGTH = 0x10000 /* 64K bytes (alias Flash) */
  32. RamLoc16 (rwx) : ORIGIN = 0x10000000, LENGTH = 0x4000 /* 16K bytes (alias RAM) */
  33. }
  34.  
  35. /* Define a symbol for the top of each memory region */
  36. __base_MFlash64 = 0x0 ; /* MFlash64 */
  37. __base_Flash = 0x0 ; /* Flash */
  38. __top_MFlash64 = 0x0 + 0x10000 ; /* 64K bytes */
  39. __top_Flash = 0x0 + 0x10000 ; /* 64K bytes */
  40. __base_RamLoc16 = 0x10000000 ; /* RamLoc16 */
  41. __base_RAM = 0x10000000 ; /* RAM */
  42. __top_RamLoc16 = 0x10000000 + 0x4000 ; /* 16K bytes */
  43. __top_RAM = 0x10000000 + 0x4000 ; /* 16K bytes */
  44.  
  45.  
  46. ENTRY(ResetISR)
  47.  
  48. SECTIONS
  49. {
  50. /* MAIN TEXT SECTION */
  51. .text : ALIGN(4)
  52. {
  53. FILL(0xff)
  54. __vectors_start__ = ABSOLUTE(.) ;
  55. KEEP(*(.isr_vector))
  56. /* Global Section Table */
  57. . = ALIGN(4) ;
  58. __section_table_start = .;
  59. __data_section_table = .;
  60. LONG(LOADADDR(.data));
  61. LONG( ADDR(.data));
  62. LONG( SIZEOF(.data));
  63. __data_section_table_end = .;
  64. __bss_section_table = .;
  65. LONG( ADDR(.bss));
  66. LONG( SIZEOF(.bss));
  67. __bss_section_table_end = .;
  68. __section_table_end = . ;
  69. /* End of Global Section Table */
  70.  
  71. *(.after_vectors*)
  72.  
  73. /* Code Read Protection data */
  74. . = 0x000002FC ;
  75. PROVIDE(__CRP_WORD_START__ = .) ;
  76. KEEP(*(.crp))
  77. PROVIDE(__CRP_WORD_END__ = .) ;
  78. ASSERT(!(__CRP_WORD_START__ == __CRP_WORD_END__), "Linker CRP Enabled, but no CRP_WORD provided within application");
  79. /* End of Code Read Protection */
  80. *(.text*)
  81. *(.rodata .rodata.* .constdata .constdata.*)
  82. . = ALIGN(4);
  83. /* C++ constructors etc */
  84. . = ALIGN(4);
  85. KEEP(*(.init))
  86.  
  87. . = ALIGN(4);
  88. __preinit_array_start = .;
  89. KEEP (*(.preinit_array))
  90. __preinit_array_end = .;
  91.  
  92. . = ALIGN(4);
  93. __init_array_start = .;
  94. KEEP (*(SORT(.init_array.*)))
  95. KEEP (*(.init_array))
  96. __init_array_end = .;
  97.  
  98. KEEP(*(.fini));
  99.  
  100. . = ALIGN(4);
  101. KEEP (*crtbegin.o(.ctors))
  102. KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
  103. KEEP (*(SORT(.ctors.*)))
  104. KEEP (*crtend.o(.ctors))
  105.  
  106. . = ALIGN(4);
  107. KEEP (*crtbegin.o(.dtors))
  108. KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
  109. KEEP (*(SORT(.dtors.*)))
  110. KEEP (*crtend.o(.dtors))
  111. . = ALIGN(4);
  112. /* End C++ */
  113. } > MFlash64
  114. /*
  115. * for exception handling/unwind - some Newlib functions (in common
  116. * with C++ and STDC++) use this.
  117. */
  118. .ARM.extab : ALIGN(4)
  119. {
  120. *(.ARM.extab* .gnu.linkonce.armextab.*)
  121. } > MFlash64
  122.  
  123. .ARM.exidx : ALIGN(4)
  124. {
  125. __exidx_start = .;
  126. *(.ARM.exidx* .gnu.linkonce.armexidx.*)
  127. __exidx_end = .;
  128. } > MFlash64
  129.  
  130. _etext = .;
  131.  
  132. /* MAIN DATA SECTION */
  133. /* Default MTB section */
  134. .mtb_buffer_default (NOLOAD) :
  135. {
  136. KEEP(*(.mtb*))
  137. } > RamLoc16 AT > RamLoc16
  138. .uninit_RESERVED (NOLOAD) : ALIGN(4)
  139. {
  140. _start_uninit_RESERVED = .;
  141. KEEP(*(.bss.$RESERVED*))
  142. . = ALIGN(4) ;
  143. _end_uninit_RESERVED = .;
  144. } > RamLoc16 AT> RamLoc16
  145.  
  146. /* Main DATA section (RamLoc16) */
  147. .data : ALIGN(4)
  148. {
  149. FILL(0xff)
  150. _data = . ;
  151. PROVIDE(__start_data_RAM = .) ;
  152. PROVIDE(__start_data_RamLoc16 = .) ;
  153. *(vtable)
  154. *(.ramfunc*)
  155. KEEP(*(CodeQuickAccess))
  156. KEEP(*(DataQuickAccess))
  157. *(RamFunction)
  158. *(.data*)
  159. . = ALIGN(4) ;
  160. _edata = . ;
  161. PROVIDE(__end_data_RAM = .) ;
  162. PROVIDE(__end_data_RamLoc16 = .) ;
  163. } > RamLoc16 AT>MFlash64
  164.  
  165. /* MAIN BSS SECTION */
  166. .bss : ALIGN(4)
  167. {
  168. _bss = .;
  169. PROVIDE(__start_bss_RAM = .) ;
  170. PROVIDE(__start_bss_RamLoc16 = .) ;
  171. *(.bss*)
  172. *(COMMON)
  173. . = ALIGN(4) ;
  174. _ebss = .;
  175. PROVIDE(__end_bss_RAM = .) ;
  176. PROVIDE(__end_bss_RamLoc16 = .) ;
  177. PROVIDE(end = .);
  178. } > RamLoc16 AT> RamLoc16
  179.  
  180. /* DEFAULT NOINIT SECTION */
  181. .noinit (NOLOAD): ALIGN(4)
  182. {
  183. _noinit = .;
  184. PROVIDE(__start_noinit_RAM = .) ;
  185. PROVIDE(__start_noinit_RamLoc16 = .) ;
  186. *(.noinit*)
  187. . = ALIGN(4) ;
  188. _end_noinit = .;
  189. PROVIDE(__end_noinit_RAM = .) ;
  190. PROVIDE(__end_noinit_RamLoc16 = .) ;
  191. } > RamLoc16 AT> RamLoc16
  192.  
  193. PROVIDE(_pvHeapStart = DEFINED(__user_heap_base) ? __user_heap_base : .);
  194.  
  195. PROVIDE(_vStackTop = DEFINED(__user_stack_top) ? __user_stack_top : __top_RamLoc16 - 0);
  196.  
  197. /* ## Create checksum value (used in startup) ## */
  198. PROVIDE(__valid_user_code_checksum = 0 -
  199. (_vStackTop
  200. + (ResetISR + 1)
  201. + (( DEFINED(NMI_Handler) ? NMI_Handler : M0_NMI_Handler ) + 1)
  202. + (( DEFINED(HardFault_Handler) ? HardFault_Handler : M0_HardFault_Handler ) + 1)
  203. )
  204. );
  205.  
  206. /* Provide basic symbols giving location and size of main text
  207. * block, including initial values of RW data sections. Note that
  208. * these will need extending to give a complete picture with
  209. * complex images (e.g multiple Flash banks).
  210. */
  211. _image_start = LOADADDR(.text);
  212. _image_end = LOADADDR(.data) + SIZEOF(.data);
  213. _image_size = _image_end - _image_start;
  214. }
Advertisement
Add Comment
Please, Sign In to add comment