zynq-rs/link.x
2019-06-22 00:48:54 +02:00

65 lines
1.2 KiB
Plaintext

ENTRY(_boot_cores);
STACK_SIZE = 0x10000 - 8;
/* Provide some defaults */
PROVIDE(Reset = _boot_cores);
PROVIDE(UndefinedInstruction = Reset);
PROVIDE(SoftwareInterrupt = Reset);
PROVIDE(PrefetchAbort = Reset);
PROVIDE(DataAbort = Reset);
PROVIDE(ReservedException = Reset);
PROVIDE(IRQ = Reset);
PROVIDE(FIQ = Reset);
MEMORY
{
/* 256 kB On-Chip Memory */
OCM : ORIGIN = 0, LENGTH = 0x40000
}
SECTIONS
{
.exceptions (0x0) :
{
KEEP(*(.text.exceptions));
} > OCM
.text (0x8000) :
{
KEEP(*(.text.boot))
*(.text .text.*)
} > OCM
.rodata ALIGN(0x1000) :
{
*(.rodata)
} > OCM
.data ALIGN(0x1000) :
{
*(.data)
} > OCM
.bss ALIGN(0x4000) (NOLOAD) :
{
/* Aligned to 16 kB */
KEEP(*(.bss.l1_table));
*(.bss)
} > OCM
__bss_start = ADDR(.bss);
__bss_end = ADDR(.bss) + SIZEOF(.bss);
.stack ALIGN(0x1000) (NOLOAD) : {
. += STACK_SIZE;
} > OCM
__stack_end = ADDR(.stack);
__stack_start = ADDR(.stack) + SIZEOF(.stack);
/DISCARD/ :
{
/* Unused exception related info that only wastes space */
*(.ARM.exidx.*);
*(.ARM.extab.*);
}
}