linker_flash_s32k146.ldota 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. /*==================================================================================================
  2. * Project : RTD AUTOSAR 4.4
  3. * Platform : CORTEXM
  4. * Peripheral :
  5. * Dependencies : none
  6. *
  7. * Autosar Version : 4.4.0
  8. * Autosar Revision : ASR_REL_4_4_REV_0000
  9. * Autosar Conf.Variant :
  10. * SW Version : 1.0.0
  11. * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907
  12. *
  13. * (c) Copyright 2020-2021 NXP Semiconductors
  14. * All Rights Reserved.
  15. *
  16. * NXP Confidential. This software is owned or controlled by NXP and may only be
  17. * used strictly in accordance with the applicable license terms. By expressly
  18. * accepting such terms or by downloading, installing, activating and/or otherwise
  19. * using the software, you are agreeing that you have read, and that you agree to
  20. * comply with and are bound by, such license terms. If you do not agree to be
  21. * bound by the applicable license terms, then you may not retain, install,
  22. * activate or otherwise use the software.
  23. ==================================================================================================*/
  24. /*
  25. * GCC Linker Command File:
  26. * 0x00000000 0x000FFFFF 1024KB Flash
  27. * 0x1FFF0000 0x1FFFFFFF 65536 SRAM_L
  28. * 0x20000000 0x2000EFFF 61440 SRAM_U
  29. */
  30. MEMORY
  31. {
  32. int_flash_interrupts : ORIGIN = 0x00014200, LENGTH = 0x00000400 /* 1K */ /* Do not change this section */
  33. /* int_flash_config : ORIGIN = 0x00000400, LENGTH = 0x00000010 /* 16bytes */ /* Do not change this section */
  34. <<<<<<<< HEAD:Project_Settings/Linker_Files/linker_flash_s32k146.ldota
  35. int_flash : ORIGIN = 0x00014600, LENGTH = 0x000EBA00 /* ~1.0MB */
  36. /* int_flash_interrupts : ORIGIN = 0x00080200, LENGTH = 0x00000400 /**/
  37. /* int_flash : ORIGIN = 0x00080600, LENGTH = 0x0007FA00 /**/
  38. m_flexram : ORIGIN = 0x14000000, LENGTH = 0x00001000
  39. ========
  40. int_flash : ORIGIN = 0x00014600, LENGTH = 0x000EBA00 /* ~1.0MB */
  41. m_flexram : ORIGIN = 0x10000000, LENGTH = 0x00001000
  42. >>>>>>>> 4G_PingFeng:Project_Settings/Linker_Files/linker_flash_s32k146.ld.bak2
  43. int_sram_results : ORIGIN = 0x1FFF0000, LENGTH = 0x00000100 /* 256bytes */
  44. int_sram : ORIGIN = 0x1FFF0100, LENGTH = 0x0001DF00 /* ~120K */
  45. int_sram_stack_c0 : ORIGIN = 0x2000E000, LENGTH = 0x00001000 - 0x10 /* 4K */
  46. ram_rsvd2 : ORIGIN = 0x2000EFF0, LENGTH = 0 /* End of SRAM */
  47. ExchangeInfo : ORIGIN = 0x2000EFF0, LENGTH = 0x10
  48. }
  49. HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x00000200;
  50. ENTRY(Reset_Handler)
  51. SECTIONS
  52. {
  53. <<<<<<<< HEAD:Project_Settings/Linker_Files/linker_flash_s32k146.ldota
  54. .eeeprom (NOLOAD):
  55. {
  56. *(.eeprom)
  57. } >m_flexram
  58. ========
  59. .eeeprom (NOLOAD):
  60. {
  61. *(.eeprom)
  62. } >m_flexram
  63. >>>>>>>> 4G_PingFeng:Project_Settings/Linker_Files/linker_flash_s32k146.ld.bak2
  64. .flash_interrupts :
  65. {
  66. . = ALIGN(512);
  67. __interrupts_rom_start = .;
  68. KEEP(*(.intc_vector))
  69. . = ALIGN(512);
  70. __interrupts_rom_end = .;
  71. } > int_flash_interrupts
  72. /* .flash_config : */
  73. /* { */
  74. /* KEEP(*(.flash_config)) */
  75. /* } > int_flash_config */
  76. .flash :
  77. {
  78. . = ALIGN(4);
  79. *(.startup)
  80. . = ALIGN(4);
  81. *(.systeminit)
  82. . = ALIGN(4);
  83. *(.text.startup)
  84. . = ALIGN(4);
  85. *(.text)
  86. *(.text*)
  87. . = ALIGN(4);
  88. *(.mcal_text)
  89. . = ALIGN(4);
  90. acfls_code_rom_start = .;
  91. . = ALIGN(0x4);
  92. *(.acfls_code_rom)
  93. acfls_code_rom_end = .;
  94. KEEP(*(.init))
  95. . = ALIGN(4);
  96. KEEP(*(.fini))
  97. . = ALIGN(4);
  98. *(.rodata)
  99. *(.rodata*)
  100. . = ALIGN(4);
  101. *(.mcal_const_cfg)
  102. . = ALIGN(4);
  103. *(.mcal_const)
  104. . = ALIGN(4);
  105. *(.mcal_const_no_cacheable)
  106. . = ALIGN(4);
  107. __init_table = .;
  108. KEEP(*(.init_table))
  109. . = ALIGN(4);
  110. __zero_table = .;
  111. KEEP(*(.zero_table))
  112. . = ALIGN(4);
  113. *(.acmcu_code_rom)
  114. . = ALIGN(4);
  115. _etext = .;
  116. __DATA_ROM = .;
  117. } > int_flash
  118. . = ALIGN(4);
  119. PROVIDE(__exidx_start = .);
  120. .ARM.exidx :
  121. {
  122. *(.ARM.exidx* .gnu.linkonce.armexidx.*)
  123. }> int_sram
  124. . = ALIGN(4);
  125. PROVIDE(__exidx_end = .);
  126. .ARM.extab :
  127. {
  128. *(.ARM.extab*)
  129. . = ALIGN(4);
  130. } > int_sram
  131. .sram_interrupts :
  132. {
  133. . = ALIGN(4096);
  134. __interrupts_ram_start = .;
  135. . += (__interrupts_rom_end - __interrupts_rom_start);
  136. . = ALIGN(4);
  137. __interrupts_ram_end = .;
  138. } > int_sram
  139. .sram_data : AT(__DATA_ROM)
  140. {
  141. . = ALIGN(4);
  142. __data_ram_start = .;
  143. *(.ramcode)
  144. . = ALIGN(4);
  145. *(.data)
  146. *(.data*)
  147. . = ALIGN(4);
  148. *(.mcal_data)
  149. . = ALIGN(4);
  150. *(.mcal_data_no_cacheable)
  151. . = ALIGN(4);
  152. __data_ram_end = .;
  153. } > int_sram
  154. __DATA_ROM_END = __DATA_ROM + (__data_ram_end - __data_ram_start);
  155. .sram_bss (NOLOAD) :
  156. {
  157. . = ALIGN(16);
  158. __sram_bss_start = .;
  159. *(.bss)
  160. *(.bss*)
  161. . = ALIGN(16);
  162. *(.mcal_bss)
  163. . = ALIGN(16);
  164. __non_cacheable_bss_start = .;
  165. *(.mcal_bss_no_cacheable)
  166. . = ALIGN(4);
  167. __non_cacheable_bss_end = .;
  168. __sram_bss_end = .;
  169. } > int_sram
  170. .acfls_code_ram :
  171. {
  172. . += (acfls_code_rom_end - acfls_code_rom_start );
  173. } > int_sram
  174. /* heap section */
  175. .heap (NOLOAD):
  176. {
  177. . = ALIGN(4);
  178. _end = .;
  179. end = .;
  180. _heap_start = .;
  181. . += HEAP_SIZE;
  182. _heap_end = .;
  183. } > int_sram
  184. int_results (NOLOAD):
  185. {
  186. . = ALIGN(4);
  187. KEEP(*(.int_results))
  188. . += 0x100;
  189. } > int_sram_results
  190. __Stack_end_c0 = ORIGIN(int_sram_stack_c0);
  191. __Stack_start_c0 = ORIGIN(int_sram_stack_c0) + LENGTH(int_sram_stack_c0);
  192. __INT_SRAM_START = ORIGIN(int_sram_results);
  193. __INT_SRAM_END = ORIGIN(ram_rsvd2);
  194. __RAM_INIT_START = __data_ram_start;
  195. __RAM_INIT_END = __data_ram_end;
  196. __ROM_INIT_START = __DATA_ROM;
  197. __ROM_INIT_END = __DATA_ROM_END;
  198. __BSS_SRAM_START = __sram_bss_start;
  199. __BSS_SRAM_END = __sram_bss_end;
  200. __BSS_SRAM_SIZE = __sram_bss_end - __sram_bss_start;
  201. __RAM_INTERRUPT_START = __interrupts_ram_start;
  202. __ROM_INTERRUPT_START = __interrupts_rom_start;
  203. __ROM_INTERRUPT_END = __interrupts_rom_end;
  204. __INIT_TABLE = __init_table;
  205. __ZERO_TABLE = __zero_table;
  206. __RAM_INIT = 1;
  207. /* Fls module access code support */
  208. Fls_ACEraseRomStart = acfls_code_rom_start;
  209. Fls_ACEraseRomEnd = acfls_code_rom_end;
  210. Fls_ACEraseSize = acfls_code_rom_end - acfls_code_rom_start;
  211. Fls_ACWriteRomStart = acfls_code_rom_start;
  212. Fls_ACWriteRomEnd = acfls_code_rom_end;
  213. Fls_ACWriteSize = acfls_code_rom_end - acfls_code_rom_start;
  214. _ERASE_FUNC_ADDRESS_ = ADDR(.acfls_code_ram);
  215. _WRITE_FUNC_ADDRESS_ = ADDR(.acfls_code_ram);
  216. __ENTRY_VTABLE = __RAM_INTERRUPT_START;
  217. }