os-workshop

same materials and sample source for RV32 OS projects
git clone http://frotz.net/git/os-workshop.git
Log | Files | Refs

common.ram.ld (875B)


      1 
      2 ENTRY(_start)
      3 
      4 SECTIONS {
      5 	/* RX code */
      6 	.text : {
      7 		__text_start = .;
      8 		KEEP(*(.start))
      9 		*(.text .text*)
     10 		*(.gnu.linkonce.t.*)
     11 	} > RAM
     12 
     13 	/* RO data */
     14 	.rodata : {
     15 		. = ALIGN(4096);
     16 		__rodata_start = .;
     17 		*(.rodata .rodata.* .gnu.linkonce.r.*)
     18 		. = ALIGN(4);
     19 		__extra_start = .;
     20 		KEEP(*(.extra .extra.*))
     21 		. = ALIGN(4);
     22 		__extra_end = .;
     23 		__rodata_end = .;
     24 	} > RAM
     25 
     26 	/* collect any extra sections here */
     27 	. = .;
     28 
     29 	/* RW data */
     30 	.data : {
     31 		. = ALIGN(4096);
     32 		__data_start = .;
     33 		*(.data .data.* .gnu.linkonce.d.*)
     34 		*(.got*)
     35 		*(.dynamic)
     36 		*(.sdata .sdata.*)
     37 		. = ALIGN(4);
     38 		__data_end = .;
     39 	} > RAM
     40 
     41 	.bss : {
     42 		__bss_start = .;
     43 		*(.sbss .sbss.*)
     44 		*(.bss .bss.*)
     45 		*(.gnu.linkonce.b.*)
     46 		. = ALIGN(4);
     47 		__bss_end = .;
     48 	} > RAM
     49 
     50 	. = ALIGN(4096);
     51 	__image_end = .;
     52 
     53 	/* initialize stack to top of memory */
     54 	__memory_top = ORIGIN(RAM) + LENGTH(RAM);
     55 }