浏览代码

fw: try to sanitize the linker script somewhat

ld is really weird in how it handles certain constructs. Try to make
life at least a little easier for ourselves.
H. Peter Anvin 3 年之前
父节点
当前提交
603f4418f8
共有 6 个文件被更改,包括 1288 次插入1288 次删除
  1. 二进制
      fpga/output_files/max80.jbc
  2. 二进制
      fpga/output_files/max80.jic
  3. 二进制
      fpga/output_files/max80.pof
  4. 二进制
      fpga/output_files/max80.sof
  5. 1282 1282
      fw/boot.mif
  6. 6 6
      fw/max80.ld

二进制
fpga/output_files/max80.jbc


二进制
fpga/output_files/max80.jic


二进制
fpga/output_files/max80.pof


二进制
fpga/output_files/max80.sof


文件差异内容过多而无法显示
+ 1282 - 1282
fw/boot.mif


+ 6 - 6
fw/max80.ld

@@ -8,7 +8,7 @@
 OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv",
 OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv",
               "elf32-littleriscv")
               "elf32-littleriscv")
 OUTPUT_ARCH(riscv)
 OUTPUT_ARCH(riscv)
-ENTRY(_start)
+ENTRY(___reset)
 
 
 MEMORY
 MEMORY
 {
 {
@@ -51,12 +51,12 @@ SECTIONS
 	.null 0 : {
 	.null 0 : {
 		PROVIDE(___NULL = .);
 		PROVIDE(___NULL = .);
 		KEEP (*(SORT_NONE(.null)))
 		KEEP (*(SORT_NONE(.null)))
-	} >SRAM
+	}
 
 
 	.init.reset _PC_RESET : ALIGN(4) {
 	.init.reset _PC_RESET : ALIGN(4) {
 		PROVIDE (___reset = .);
 		PROVIDE (___reset = .);
 		KEEP (*(SORT_NONE(.init.reset)))
 		KEEP (*(SORT_NONE(.init.reset)))
-	} >SRAM
+	}
 
 
 	.init.irq _PC_IRQ : ALIGN(4) {
 	.init.irq _PC_IRQ : ALIGN(4) {
 		PROVIDE (___irq = .);
 		PROVIDE (___irq = .);
@@ -81,16 +81,16 @@ SECTIONS
 	. = ALIGN(32);
 	. = ALIGN(32);
 	__BSS_START__ = .;
 	__BSS_START__ = .;
 	PROVIDE (__bss_start = .);
 	PROVIDE (__bss_start = .);
-	.sbss : ALIGN(4) {
+	.sbss (NOLOAD) : ALIGN(4) {
 		*(.dynsbss)
 		*(.dynsbss)
 		*(.sbss .sbss.* .gnu.linkonce.sb.*)
 		*(.sbss .sbss.* .gnu.linkonce.sb.*)
 		*(.scommon)
 		*(.scommon)
 	}
 	}
-	.sbss2          : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
+	.sbss2 (NOLOAD) : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
 
 
 	HIDDEN($assert_zero_page = ASSERT((. <= 2048), "zero page overflow"));
 	HIDDEN($assert_zero_page = ASSERT((. <= 2048), "zero page overflow"));
 
 
-	.bss : {
+	.bss (NOLOAD) : {
 		*(.dynbss)
 		*(.dynbss)
 		*(.bss .bss.* .gnu.linkonce.b.*)
 		*(.bss .bss.* .gnu.linkonce.b.*)
 		*(COMMON)
 		*(COMMON)

部分文件因为文件数量过多而无法显示