| 
									
										
										
										
											2018-10-19 02:47:06 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | This is free and unencumbered software released into the public domain. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Anyone is free to copy, modify, publish, use, compile, sell, or | 
					
						
							|  |  |  | distribute this software, either in source code form or as a compiled | 
					
						
							|  |  |  | binary, for any purpose, commercial or non-commercial, and by any | 
					
						
							|  |  |  | means. | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-19 04:51:40 +08:00
										 |  |  | /* starting address needs to be > 0 due to known bug in RISCV/GNU linker */ | 
					
						
							| 
									
										
										
										
											2018-10-19 02:47:06 +08:00
										 |  |  | MEMORY { | 
					
						
							|  |  |  | 	rom(rwx) : ORIGIN = 0x00000100, LENGTH = 63k | 
					
						
							|  |  |  |         ram(rwx) : ORIGIN = 0x00020000, LENGTH = 16k | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENTRY(_pvstart); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SECTIONS { | 
					
						
							|  |  |  | 	.rom : { | 
					
						
							|  |  |  |                 _pvstart*(.text); | 
					
						
							|  |  |  | 		start*(.text); | 
					
						
							|  |  |  |                 . = 0x100; | 
					
						
							|  |  |  |                 . = ALIGN(4); | 
					
						
							|  |  |  | 		*(.text); | 
					
						
							|  |  |  |         } > rom | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         .data : { | 
					
						
							|  |  |  |           _data_lma = LOADADDR(.data); | 
					
						
							|  |  |  |           _data = .; | 
					
						
							|  |  |  |           __global_pointer$ = . ; | 
					
						
							|  |  |  |           *(.data .data.* ) | 
					
						
							|  |  |  |           *(.sdata .sdata.*) | 
					
						
							|  |  |  |            . = ALIGN(4); | 
					
						
							|  |  |  |           _edata = .; | 
					
						
							| 
									
										
										
										
											2018-10-19 04:33:40 +08:00
										 |  |  |         } >ram AT>rom | 
					
						
							| 
									
										
										
										
											2018-10-19 02:47:06 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         .bss : { | 
					
						
							|  |  |  |           _bss_start = .; | 
					
						
							|  |  |  |           *(.bss .bss.*) | 
					
						
							|  |  |  |            . = ALIGN(4); | 
					
						
							|  |  |  |           _bss_end = .; | 
					
						
							|  |  |  |           _end = .; | 
					
						
							|  |  |  |         } >ram | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |