1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- MEMORY {
-
- SRAM : ORIGIN = 0x80000000, LENGTH = 2M
- }
- PROVIDE(_stext = 0x80000000);
- PROVIDE(_heap_size = 128K);
- PROVIDE(_hart_stack_size = 64K);
- PROVIDE(_max_hart_id = 7);
- REGION_ALIAS("REGION_TEXT", SRAM);
- REGION_ALIAS("REGION_RODATA", SRAM);
- REGION_ALIAS("REGION_DATA", SRAM);
- REGION_ALIAS("REGION_BSS", SRAM);
- REGION_ALIAS("REGION_HEAP", SRAM);
- REGION_ALIAS("REGION_STACK", SRAM);
- OUTPUT_ARCH(riscv)
- ENTRY(_start)
- PROVIDE(_stack_start = ORIGIN(REGION_STACK) + LENGTH(REGION_STACK));
- SECTIONS
- {
-
- .text _stext : {
-
- *(.text.entry)
-
- *(.text .text.*)
- _etext = .;
- } > REGION_TEXT
-
- .rodata : ALIGN(4) {
- _srodata = .;
-
- *(.rodata .rodata.*)
- . = ALIGN(4);
- _erodata = .;
- } > REGION_RODATA
-
- .data : ALIGN(4) {
- _sidata = LOADADDR(.data);
- _sdata = .;
-
- PROVIDE(__global_pointer$ = . + 0x800);
-
- *(.sdata .sdata.* .sdata2 .sdata2.*);
- *(.data .data.*)
- . = ALIGN(4);
- _edata = .;
- } > REGION_DATA
-
- .bss (NOLOAD) : {
- _sbss = .;
-
- *(.sbss .bss .bss.*)
- . = ALIGN(4);
- _ebss = .;
- } > REGION_BSS
- .heap (NOLOAD) : {
- _sheap = .;
- . += _heap_size;
- . = ALIGN(4);
- _eheap = .;
- } > REGION_HEAP
-
- .stack (NOLOAD) : {
- _estack = .;
- . = _stack_start;
- . = ALIGN(4);
- _sstack = .;
- } > REGION_STACK
-
- /DISCARD/ :
- {
- *(.eh_frame .eh_frame_hdr);
- }
- }
|