aboutsummaryrefslogtreecommitdiff
path: root/debug/targets/SiFive/HiFiveUnleashed-flash.lds
diff options
context:
space:
mode:
Diffstat (limited to 'debug/targets/SiFive/HiFiveUnleashed-flash.lds')
-rw-r--r--debug/targets/SiFive/HiFiveUnleashed-flash.lds41
1 files changed, 41 insertions, 0 deletions
diff --git a/debug/targets/SiFive/HiFiveUnleashed-flash.lds b/debug/targets/SiFive/HiFiveUnleashed-flash.lds
new file mode 100644
index 0000000..b8bf92a
--- /dev/null
+++ b/debug/targets/SiFive/HiFiveUnleashed-flash.lds
@@ -0,0 +1,41 @@
+OUTPUT_ARCH( "riscv" )
+
+SECTIONS
+{
+ . = 0x20000000;
+ .text :
+ {
+ *(.text.entry)
+ *(.text)
+ }
+ _text_end = .;
+
+ . = 0x80000000;
+ /* data segment */
+ .data : { *(.data) }
+
+ .sdata : {
+ __global_pointer$ = . + 0x800;
+ *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2)
+ *(.srodata*)
+ *(.sdata .sdata.* .gnu.linkonce.s.*)
+ }
+
+ /* bss segment */
+ __bss_start = .;
+ .sbss : {
+ *(.sbss .sbss.* .gnu.linkonce.sb.*)
+ *(.scommon)
+ }
+ .bss : { *(.bss) }
+ __bss_end = .;
+
+ __malloc_start = .;
+ . = . + 512;
+
+ /* End of uninitalized data segement */
+ _end = .;
+}
+
+ASSERT(_text_end < 0x20100000, "program is too large")
+ASSERT(_end < 0x80100000, "program is too large")