90 lines
1.5 KiB
Plaintext
90 lines
1.5 KiB
Plaintext
_entry_point = _vectors_start + 0x80;
|
|
|
|
ENTRY(_entry_point)
|
|
|
|
_estack = 0x42040000;
|
|
_minimum_stack_size = 0x2000;
|
|
_minimum_heap_size = 0x2000;
|
|
|
|
MEMORY
|
|
{
|
|
RO_CODE (rx) : ORIGIN = 0x42000000, LENGTH = 192K
|
|
RW_DATA (xrw) : ORIGIN = 0x42030000, LENGTH = 64K
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
.isr_vectors :
|
|
{
|
|
. = ALIGN(4);
|
|
_vectors_start = .;
|
|
KEEP(*(.isr_vectors))
|
|
_vectors_end = .;
|
|
. = ALIGN(4);
|
|
} >RO_CODE
|
|
|
|
.text :
|
|
{
|
|
. = ALIGN(4);
|
|
*(.text)
|
|
*(.text*)
|
|
KEEP (*(.init))
|
|
KEEP (*(.fini))
|
|
. = ALIGN(4);
|
|
} >RO_CODE
|
|
|
|
.data :
|
|
{
|
|
. = ALIGN(4);
|
|
_sdata = .;
|
|
__global_pointer$ = . + 0x800;
|
|
*(.data)
|
|
*(.data*)
|
|
*(.sdata)
|
|
*(.sdata*)
|
|
. = ALIGN(4);
|
|
_edata = .;
|
|
} >RW_DATA AT> RO_CODE
|
|
|
|
_sidata = LOADADDR(.data);
|
|
|
|
|
|
.rodata :
|
|
{
|
|
. = ALIGN(4);
|
|
*(.rodata)
|
|
*(.rodata*)
|
|
. = ALIGN(4);
|
|
} >RO_CODE
|
|
|
|
.bss :
|
|
{
|
|
. = ALIGN(4);
|
|
_sbss = .;
|
|
_bss_start = _sbss;
|
|
*(.bss)
|
|
*(.bss*)
|
|
*(.sbss)
|
|
*(.sbss*)
|
|
*(COMMON)
|
|
. = ALIGN(4);
|
|
_ebss = .;
|
|
_bss_end = _ebss;
|
|
} >RW_DATA
|
|
|
|
._heap_stack_space :
|
|
{
|
|
. = ALIGN(8);
|
|
_heap_start = .;
|
|
. = . + _minimum_heap_size;
|
|
_heap_end = .;
|
|
. = ALIGN(8);
|
|
. = . + _minimum_stack_size;
|
|
. = ALIGN(8);
|
|
} >RW_DATA
|
|
|
|
.riscv.attributes 0 :
|
|
{
|
|
*(.riscv.attributes)
|
|
}
|
|
} |