/* * ld directives the for barmetal RISCV */ OUTPUT_ARCH(riscv) ENTRY(_start) MEMORY { RAM (wxa) : ORIGIN = 0x80000000, LENGTH = 512M } SECTIONS { . = 0x80000000; .text : { KEEP(*(.text._start)) *(.text .text.*) } > RAM .rodata : ALIGN(8) { *(.rodata .rodata.*) } > RAM .data : ALIGN(8) { *(.data .data.*) } > RAM .bss : ALIGN(8) { __bss_start = .; *(.bss .bss.*) __bss_end = .; } > RAM _heap_start = ALIGN(8); _heap_end = ORIGIN(RAM) + LENGTH(RAM); }