/* memory-config builder in ACoreIDE by qxbin*/ /*21 Nov 2024 15:59:58 GMT*/ ENTRY(_start) MEMORY { ram : ORIGIN = 0x00000000, LENGTH = 0xffffffff } SECTIONS { .text ((0x00000000 + (0x00001000-1))& ~ (0x00001000-1)) : { ".text_start" = .; _code_start = .; .__start_code = .; *(.__start); . = .__start_code + 0x20; *(.__ImageInfo); CREATE_OBJECT_SYMBOLS; CREATE_OBJECT_SYMBOLS *( .text* ) ; *(.m_hdr) ; __EH_FRAME_BEGIN__ = .; *(.eh_frame) ; *(.gnu.linkonce.t*) ; . = ALIGN(4); ___CTOR_LIST__ = .; __CTOR_LIST__ = .; LONG (-1); *(.ctors); *(.ctor); LONG (0); __CTOR_END__ = .; ___DTOR_LIST__ = .; __DTOR_LIST__ = .; LONG (-1); *(.dtors); *(.dtor); LONG (0); __DTOR_END__ = .; *(.gnu.linkonce.r*); *(.glue_7) ; *(.glue_7t); *(.init_begin); *(.init); *(.init_end); *(.fini); *(.jcr); *(.fixup); *(.interface); . = ALIGN(0x1000); ; _code_end = .; } >ram _code_size = SIZEOF(.text); .data ((".text_start" + "_code_size" + (0x00001000-1))& ~ (0x00001000-1)) : { ".data_start" = .; _data_start = .; *(.data*); *(.data.rel.local); *(.gnu.linkonce.d*); *(.sdata*); *(.ARM.extab*); *(.tm_clone_table*); *(.gcc_except_table*); *(.igot*); *(.got*); __GOT_END__ = .; __INIT_ARRAY_LIST__ = .; *(.init_array); LONG (0); __FINI_ARRAY_LIST__ = .; *(.fini_array); LONG (0); . = ALIGN(0x1000); ; _data_end = .; } >ram _data_size = SIZEOF(.data); .rodata ((".data_start" + "_data_size" + (0x00001000-1))& ~ (0x00001000-1)) : { ".rodata_start" = .; _rodata_start = .; *(.rodata); *(.rodata*); . = ALIGN(0x1000); _rodata_end = .; } >ram _rodata_size = SIZEOF(.rodata); .pdata ((".rodata_start" + "_rodata_size" + (0x00001000-1))& ~ (0x00001000-1)) : { ".pdata_start" = .; __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) ; ; __exidx_end = .; } >ram __exidx_size = SIZEOF(.pdata); .bss ((".pdata_start" + "__exidx_size" + (0x00001000-1))& ~ (0x00001000-1)) : { ".bss_start" = .; _bss_start = .; *(.bss*); *(COMMON); *(.sbss); . = ALIGN(16); _bss_end = .; } >ram _bss_size = SIZEOF(.bss); } load__code_start =( 0x00001000-1 )&~(0x00001000 -1 ); load__data_start =( load__code_start + _code_size + ( 0x00001000 -1 ))&~(0x00001000 -1 ); load__rodata_start =( load__data_start + _data_size + ( 0x00001000 -1 ))&~(0x00001000 -1 ); load___exidx_start =( load__rodata_start + _rodata_size + ( 0x00001000 -1 ))&~(0x00001000 -1 ); load__bss_start =( load___exidx_start + __exidx_size + ( 0x00001000 -1 ))&~(0x00001000 -1 );