51 lines
1.1 KiB
Plaintext
51 lines
1.1 KiB
Plaintext
ENTRY(_start)
|
|
MEMORY
|
|
{
|
|
NEWTEXT (rx) : ORIGIN = 0x10000, LENGTH = 64K
|
|
NEWRO (r) : ORIGIN = 0x20000, LENGTH = 16K
|
|
NEWDATA (rw) : ORIGIN = 0x24000, LENGTH = 16K
|
|
NEWBSS (rw) : ORIGIN = 0x28000, LENGTH = 16K
|
|
|
|
TEXT (rx) : ORIGIN = 0x80000, LENGTH = 64K
|
|
RO (r) : ORIGIN = 0x90000, LENGTH = 16K
|
|
DATA (rw) : ORIGIN = 0x94000, LENGTH = 16K
|
|
BSS (rw) : ORIGIN = 0x98000, LENGTH = 16K
|
|
RAM (rw) : ORIGIN = 0x9c000, LENGTH = 4M
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
.text : {
|
|
__text_start = .;
|
|
KEEP(*(.text.boot))
|
|
*(.text)
|
|
__text_end = .;
|
|
} >TEXT
|
|
.rodata : {
|
|
__rodata_start = .;
|
|
*(.rodata)
|
|
__rodata_end = .;
|
|
} >RO
|
|
.data : {
|
|
__data_start = .;
|
|
*(.data)
|
|
__data_end = .;
|
|
} >DATA
|
|
.bss : {
|
|
__bss_start = .;
|
|
*(.bss)
|
|
__bss_end = .;
|
|
} >BSS
|
|
|
|
__stack_end = ORIGIN(RAM) + LENGTH(RAM);
|
|
|
|
__new_text_start = ORIGIN(NEWTEXT);
|
|
__new_ro_start = ORIGIN(NEWRO);
|
|
__new_data_start = ORIGIN(NEWDATA);
|
|
__new_bss_start = ORIGIN(NEWBSS);
|
|
}
|
|
|
|
__heap_start = ORIGIN(RAM);
|
|
__heap_end = ORIGIN(RAM) + LENGTH(RAM) - 2M;
|
|
__bss_size = (__bss_end - __bss_start)>>3;
|