zc706/link.x

67 lines
1.3 KiB
Plaintext
Raw Normal View History

2019-05-05 20:56:23 +08:00
ENTRY(_boot_cores);
2019-05-27 07:44:24 +08:00
STACK_SIZE = 0x2000 - 0x10;
2019-05-31 02:30:19 +08:00
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);
2019-05-05 20:56:23 +08:00
2019-05-27 07:44:24 +08:00
MEMORY
{
/* 256 kB On-Chip Memory */
OCM : ORIGIN = 0, LENGTH = 0x40000
}
2019-05-05 20:56:23 +08:00
SECTIONS
{
2019-05-31 02:30:19 +08:00
.exceptions :
{
. = 0x0;
KEEP(*(.text.exceptions));
} > OCM
2019-05-05 20:56:23 +08:00
.text :
{
2019-05-27 07:44:24 +08:00
. = 0x8000;
2019-05-05 20:56:23 +08:00
KEEP(*(.text.boot))
2019-05-27 07:44:24 +08:00
*(.text .text.*)
. = ALIGN(4096); /* align to page size */
} > OCM
2019-05-05 20:56:23 +08:00
.rodata :
{
*(.rodata)
2019-05-27 07:44:24 +08:00
. = ALIGN(4096); /* align to page size */
} > OCM
2019-05-05 20:56:23 +08:00
.data :
{
*(.data)
2019-05-27 07:44:24 +08:00
. = ALIGN(4096); /* align to page size */
} > OCM
2019-05-05 20:56:23 +08:00
2019-05-27 07:44:24 +08:00
.bss (NOLOAD) :
2019-05-05 20:56:23 +08:00
{
*(.bss)
2019-05-27 07:44:24 +08:00
. = ALIGN(4096); /* align to page size */
} > OCM
__bss_start = ADDR(.bss);
__bss_end = ADDR(.bss) + SIZEOF(.bss);
.stack (NOLOAD) : {
. += STACK_SIZE;
} > OCM
__stack_end = ADDR(.stack);
__stack_start = ADDR(.stack) + SIZEOF(.stack);
2019-05-05 20:56:23 +08:00
/DISCARD/ :
{
/* Unused exception related info that only wastes space */
*(.ARM.exidx.*);
*(.ARM.extab.*);
}
}