generated from hulk/gd32e23x_template
	Initial commit
This commit is contained in:
		
							
								
								
									
										127
									
								
								ld/gd32e23x_gcc.ld
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								ld/gd32e23x_gcc.ld
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,127 @@ | ||||
| /* memory map */ | ||||
| MEMORY | ||||
| { | ||||
|   FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 16K | ||||
|   RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 4K | ||||
| } | ||||
|  | ||||
| ENTRY(Reset_Handler) | ||||
|  | ||||
| SECTIONS | ||||
| { | ||||
|   __stack_size = DEFINED(__stack_size) ? __stack_size : 2K; | ||||
|  | ||||
| /* ISR vectors */ | ||||
|   .vectors : | ||||
|   { | ||||
|     . = ALIGN(4); | ||||
|     KEEP(*(.vectors)) | ||||
|     . = ALIGN(4); | ||||
|     __Vectors_End = .; | ||||
|     __Vectors_Size = __Vectors_End - __gVectors; | ||||
|   } >FLASH | ||||
|  | ||||
|   .text : | ||||
|   { | ||||
|     . = ALIGN(4); | ||||
|     *(.text) | ||||
|     *(.text*) | ||||
|     *(.glue_7) | ||||
|     *(.glue_7t) | ||||
|     *(.eh_frame) | ||||
|  | ||||
|     KEEP (*(.init)) | ||||
|     KEEP (*(.fini)) | ||||
|  | ||||
|     . = ALIGN(4); | ||||
|     /* the symbol '_etext' will be defined at the end of code section */ | ||||
|     _etext = .; | ||||
|   } >FLASH | ||||
|  | ||||
|   .rodata : | ||||
|   { | ||||
|     . = ALIGN(4); | ||||
|     *(.rodata) | ||||
|     *(.rodata*) | ||||
|     . = ALIGN(4); | ||||
|   } >FLASH | ||||
|  | ||||
|   .ARM.extab : | ||||
|   { | ||||
|      *(.ARM.extab* .gnu.linkonce.armextab.*) | ||||
|   } >FLASH | ||||
|  | ||||
|   .ARM : { | ||||
|     __exidx_start = .; | ||||
|     *(.ARM.exidx*) | ||||
|     __exidx_end = .; | ||||
|   } >FLASH | ||||
|  | ||||
|   .ARM.attributes : { *(.ARM.attributes) } > FLASH | ||||
|  | ||||
|   .preinit_array : | ||||
|   { | ||||
|     PROVIDE_HIDDEN (__preinit_array_start = .); | ||||
|     KEEP (*(.preinit_array*)) | ||||
|     PROVIDE_HIDDEN (__preinit_array_end = .); | ||||
|   } >FLASH | ||||
|  | ||||
|   .init_array : | ||||
|   { | ||||
|     PROVIDE_HIDDEN (__init_array_start = .); | ||||
|     KEEP (*(SORT(.init_array.*))) | ||||
|     KEEP (*(.init_array*)) | ||||
|     PROVIDE_HIDDEN (__init_array_end = .); | ||||
|   } >FLASH | ||||
|  | ||||
|   .fini_array : | ||||
|   { | ||||
|     PROVIDE_HIDDEN (__fini_array_start = .); | ||||
|     KEEP (*(.fini_array*)) | ||||
|     KEEP (*(SORT(.fini_array.*))) | ||||
|     PROVIDE_HIDDEN (__fini_array_end = .); | ||||
|   } >FLASH | ||||
|  | ||||
|   /* provide some necessary symbols for startup file to initialize data */ | ||||
|   _sidata = LOADADDR(.data); | ||||
|   .data : | ||||
|   { | ||||
|     . = ALIGN(4); | ||||
|     /* the symbol '_sdata' will be defined at the data section end start */ | ||||
|     _sdata = .; | ||||
|     *(.data) | ||||
|     *(.data*) | ||||
|     . = ALIGN(4); | ||||
|     /* the symbol '_edata' will be defined at the data section end */ | ||||
|     _edata = .; | ||||
|   } >RAM AT> FLASH | ||||
|  | ||||
|   . = ALIGN(4); | ||||
|   .bss : | ||||
|   { | ||||
|     /* the symbol '_sbss' will be defined at the bss section start */ | ||||
|     _sbss = .; | ||||
|     __bss_start__ = _sbss; | ||||
|     *(.bss) | ||||
|     *(.bss*) | ||||
|     *(COMMON) | ||||
|     . = ALIGN(4); | ||||
|     /* the symbol '_ebss' will be defined at the bss section end */ | ||||
|     _ebss = .; | ||||
|     __bss_end__ = _ebss; | ||||
|   } >RAM | ||||
|  | ||||
|   . = ALIGN(8); | ||||
|   PROVIDE ( end = _ebss ); | ||||
|   PROVIDE ( _end = _ebss ); | ||||
|  | ||||
|   .stack ORIGIN(RAM) + LENGTH(RAM) - __stack_size : | ||||
|   { | ||||
|     PROVIDE( _heap_end = . ); | ||||
|     . = __stack_size; | ||||
|     PROVIDE( _sp = . ); | ||||
|   } >RAM AT>RAM | ||||
| } | ||||
|  | ||||
|  /* input sections */ | ||||
| GROUP(libgcc.a libc.a libm.a libnosys.a) | ||||
		Reference in New Issue
	
	Block a user