|
96 | 96 | }
|
97 | 97 |
|
98 | 98 | /* Library configurations */
|
99 |
| -GROUP(libgcc.a libc.a libm.a libnosys.a) |
| 99 | +GROUP(libc.a libm.a libnosys.a) |
100 | 100 |
|
101 | 101 | /* Linker script to place sections and symbol values. Should be used together
|
102 | 102 | * with other linker script that defines memory regions FLASH and RAM.
|
@@ -181,6 +181,26 @@ SECTIONS
|
181 | 181 | KEEP(*(.init))
|
182 | 182 | KEEP(*(.fini))
|
183 | 183 |
|
| 184 | + /* section information for finsh shell */ |
| 185 | + . = ALIGN(4); |
| 186 | + __fsymtab_start = .; |
| 187 | + KEEP(*(FSymTab)) |
| 188 | + __fsymtab_end = .; |
| 189 | + |
| 190 | + . = ALIGN(4); |
| 191 | + __vsymtab_start = .; |
| 192 | + KEEP(*(VSymTab)) |
| 193 | + __vsymtab_end = .; |
| 194 | + |
| 195 | + /* section information for initial. */ |
| 196 | + . = ALIGN(4); |
| 197 | + __rt_init_start = .; |
| 198 | + KEEP(*(SORT(.rti_fn*))) |
| 199 | + __rt_init_end = .; |
| 200 | + |
| 201 | + . = ALIGN(4); |
| 202 | + KEEP(*(FalPartTable)) |
| 203 | + |
184 | 204 | /* .ctors */
|
185 | 205 | *crtbegin.o(.ctors)
|
186 | 206 | *crtbegin?.o(.ctors)
|
@@ -213,6 +233,14 @@ SECTIONS
|
213 | 233 |
|
214 | 234 | KEEP(*(.eh_frame*))
|
215 | 235 |
|
| 236 | + /* new GCC version uses .init_array */ |
| 237 | + PROVIDE(__ctors_start__ = .); |
| 238 | + KEEP (*(SORT(.init_array.*))) |
| 239 | + KEEP (*(.init_array)) |
| 240 | + PROVIDE(__ctors_end__ = .); |
| 241 | + |
| 242 | + . = ALIGN(4); |
| 243 | + |
216 | 244 | __ROM_End = .;
|
217 | 245 | } > FLASH = 0xFF
|
218 | 246 |
|
@@ -566,6 +594,19 @@ SECTIONS
|
566 | 594 | __noinit_end = .;
|
567 | 595 | } > RAM
|
568 | 596 |
|
| 597 | + . = .; |
| 598 | + __nocache_pre_location = .; |
| 599 | + .nocache ALIGN(32) (NOLOAD): |
| 600 | + { |
| 601 | + __nocache_start = .; |
| 602 | + |
| 603 | + KEEP(*(.nocache)) |
| 604 | + |
| 605 | + . = ALIGN(32); |
| 606 | + __nocache_end = .; |
| 607 | + } > RAM |
| 608 | + . = (SIZEOF(.nocache) > 0) ? __nocache_end : __nocache_pre_location; |
| 609 | + |
569 | 610 | .bss :
|
570 | 611 | {
|
571 | 612 | . = ALIGN(4);
|
@@ -649,6 +690,19 @@ SECTIONS
|
649 | 690 | __SDRAM_End = .;
|
650 | 691 | } > SDRAM
|
651 | 692 |
|
| 693 | + . = .; |
| 694 | + __nocache_sdram_pre_location = .; |
| 695 | + .nocache_sdram ALIGN(32) (NOLOAD): |
| 696 | + { |
| 697 | + __nocache_sdram_start = .; |
| 698 | + |
| 699 | + KEEP(*(.nocache_sdram)) |
| 700 | + |
| 701 | + . = ALIGN(32); |
| 702 | + __nocache_sdram_end = .; |
| 703 | + } > SDRAM |
| 704 | + . = (SIZEOF(.nocache_sdram) > 0) ? __nocache_sdram_end : __nocache_sdram_pre_location; |
| 705 | + |
652 | 706 | /* Note: There are no secure/non-secure boundaries for SDRAM. These symbols are provided for the RA configuration tool. */
|
653 | 707 | __tz_SDRAM_N = __SDRAM_End;
|
654 | 708 |
|
|
0 commit comments