Copy3DEngine/linker.ld
2024-03-11 22:38:03 +01:00

73 lines
1.2 KiB
Text

ENTRY(_start)
MEMORY
{
rom (rx): o = 0x00300000, l = 2M
/*First 0x1400 bytes are reserved for VBR (starting at 0x08100000)*/
ram (rw): o = 0x08101400, l = 491k
}
SECTIONS
{
_srom = SIZEOF(.pretext) + SIZEOF(.text) + SIZEOF(.rodata);
.pretext : {
*(.text.entry)
} > rom
.text : {
_exch_start = . ;
*(.omega.exch)
_exch_size = ABSOLUTE (. - _exch_start);
_inth_start = . ;
*(.omega.inth)
_inth_size = ABSOLUTE (. - _inth_start);
. = ALIGN(4);
_tlbh_start = . ;
*(.omega.tlbh)
_tlbh_size = ABSOLUTE (. - _tlbh_start);
*(.text .text.*)
} > rom
.rodata : {
*(.rodata .rodata.*)
} > rom
. = ORIGIN(ram);
.data : {
_rdata = .;
*(.data .data.*)
*(.omega.vram)
_ldata = LOADADDR(.data);
} > ram AT > rom
_sdata = SIZEOF(.data);
.bss (NOLOAD) : {
_rbss = . ;
*(.bss .bss.* COMMON)
} > ram :NONE
_sbss = SIZEOF(.bss);
/* not important : comments */
/DISCARD/ : {
*(.comment)
}
}