SummerCart64/sw/controller/loader.ld
2022-08-03 08:53:30 +02:00

69 lines
1.3 KiB
Plaintext

MEMORY {
rom (rx) : org = 0x08000000, len = 4k
ram (rwx) : org = 0x20000000, len = 8k
}
ENTRY(Reset_Handler)
SECTIONS {
.isr_vector : {
. = ALIGN(4);
KEEP(*(.isr_vector))
. = ALIGN(4);
} > rom
.startup : {
. = ALIGN(4);
*(.text.Reset_Handler)
. = ALIGN(4);
} > rom
.text : {
_sitext = LOADADDR(.text);
. = ALIGN(4);
_stext = .;
*(.text)
*(.text*)
*(.glue_7)
*(.glue_7t)
. = ALIGN(4);
_etext = .;
} > ram AT > rom
.bss : {
. = ALIGN(4);
_sbss = .;
__bss_start__ = _sbss;
*(.bss)
*(.bss*)
*(COMMON)
. = ALIGN(4);
_ebss = .;
__bss_end__ = _ebss;
} > ram
.data : {
_sidata = LOADADDR(.data);
. = ALIGN(4);
_sdata = .;
*(.data)
*(.data*)
. = ALIGN(4);
_edata = .;
} > ram AT > rom
.rodata : {
_sirodata = LOADADDR(.rodata);
. = ALIGN(4);
_srodata = .;
*(.rodata)
*(.rodata*)
. = ALIGN(8);
_erodata = .;
} > ram AT > rom
_app_header = ORIGIN(rom) + LENGTH(rom);
_app_magic = _app_header + 16;
_estack = ORIGIN(ram) + LENGTH(ram);
}