Files
osc2025/kernel/linker.ld
2025-04-08 06:59:50 +08:00

36 lines
695 B
Plaintext

ENTRY(_start)
MEMORY
{
TEXT (rx) : ORIGIN = 0x80000, LENGTH = 64K
RO (r) : ORIGIN = 0x90000, LENGTH = 16K
DATA (rw) : ORIGIN = 0x94000, LENGTH = 64K
RAM (rw) : ORIGIN = 0xa4000, LENGTH = 64M
}
SECTIONS
{
.text : {
KEEP(*(.text.boot))
*(.text)
} >TEXT
.rodata : {
*(.rodata)
} >RO
.data : {
*(.data)
} >DATA
.bss : {
__bss_start = .;
*(.bss)
__bss_end = .;
} >DATA
}
PROVIDE(__kernel_start = ORIGIN(TEXT));
PROVIDE(__kernel_end = ORIGIN(DATA) + LENGTH(DATA));
PROVIDE(__heap_start = ORIGIN(RAM));
PROVIDE(__heap_end = ORIGIN(RAM) + 32M);
PROVIDE(__stack_end = ORIGIN(RAM) + LENGTH(RAM));
PROVIDE(__bss_size = (__bss_end - __bss_start)>>3);