foboot/booster/ld/linker.ld
Sean Cross 0a7b193f96 booster: get functional build working
This has successfully updated a PVT unit to v1.9.1.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-08-28 11:30:03 +08:00

62 lines
1.0 KiB
Plaintext

INCLUDE output_format.ld
ENTRY(_start)
__DYNAMIC = 0;
INCLUDE regions.ld
SECTIONS
{
.startup :
{
. = ALIGN(4);
*(.text.start)
. = ALIGN(4);
_estartup = .;
} > rom
.bss :
{
. = ALIGN(4);
_fbss = .;
*(.dynsbss)
*(.sbss .sbss.* .gnu.linkonce.sb.*)
*(.scommon)
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
. = ALIGN(4);
_ebss = .;
_end = .;
} > sram
.data : AT (ADDR(.startup) + SIZEOF (.startup))
{
_fdata = .;
_ftext = .;
*(.text .stub .text.* .gnu.linkonce.t.*)
_etext = .;
. = ALIGN(4);
_frodata = .;
*(.rodata .rodata.* .gnu.linkonce.r.*)
*(.rodata1)
*(.srodata)
. = ALIGN(4);
_erodata = .;
. = ALIGN(4);
*(.data .data.* .gnu.linkonce.d.*)
*(.data1)
_gp = ALIGN(16);
*(.sdata .sdata.* .gnu.linkonce.s.* .sdata2 .sdata2.*)
*(.ramtext .ramtext.*)
_edata = ALIGN(16); /* Make sure _edata is >= _gp. */
} > sram
/* booster_data = ADDR(.data) + SIZEOF(.data); */
booster_src = ADDR(.startup) + SIZEOF(.startup) + SIZEOF(.data);
}
PROVIDE(_fstack = ORIGIN(sram) + LENGTH(sram) - 4);