".vector_size" = 0x2000; ".text_size" = 0x37000; ".data_size" = 0x2000; ".exidx_size" = 0x8; ".bss_size" = 0x69000; ".start_size" = 0x1000; ".comment_size" = 0x2f; ".ARM.attributes_size" = 0x37; ".debug_info_size" = 0xdc93; ".debug_abbrev_size" = 0x2735; ".debug_aranges_size" = 0x2d8; ".debug_line_size" = 0x59dc; ".debug_str_size" = 0x20395; ".debug_frame_size" = 0x2ad8; ".debug_macro_size" = 0x7823; ".debug_ranges_size" = 0x28; /* memory-config builder in ACoreIDE by qxbin*/ /*21 Mar 2025 10:47:48 GMT*/ ENTRY(_start) MEMORY { ram : ORIGIN = 0x80000000, LENGTH = 0x03000000 boot_rom : ORIGIN = 0x700000, LENGTH = 0x00200000 } SECTIONS { .vector ((0x80000000 + (0x00001000-1))& ~ (0x00001000-1)) : AT((0x701000 + (0x00001000-1))& ~ (0x00001000-1)) { ".vector_start" = .; _vectors_start = .; *(.vectors); . = ALIGN(4096); ; _vectors_end = .; } >ram _vectors_size = 0x00008000; .text ((".vector_start" + 0x00008000 + (0x00001000-1))& ~ (0x00001000-1)) : AT((0x701000 + 0x00008000 + (0x00001000-1))& ~ (0x00001000-1)) { ".text_start" = .; _code_start = .; 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); *(.rodata); *(.rodata.*); *(.init); *(.jcr); *(.data.rel.local); *(.fini); *(.got*); *(.fixup); *(.interface); . = ALIGN(4096); ; _code_end = .; } >ram _code_size = SIZEOF(.text); .data ((".text_start" + "_code_size" + (0x00001000-1))& ~ (0x00001000-1)) : AT((0x701000 + 0x00008000 + "_code_size" + (0x00001000-1))& ~ (0x00001000-1)) { ".data_start" = .; _data_start = .; *(.data); *(.gnu.linkonce.d*); *(.sdata*); *(.flash*); *(.gcc_except_table); *(.init_array*); *(.fini_array*); . = ALIGN(4); shell_cmd_start = .; *(.data.shellCmd) ; shell_cmd_end = .; . = ALIGN(4096); ; _data_end = .; } >ram _data_size = SIZEOF(.data); .exidx ((".data_start" + "_data_size" + (0x00001000-1))& ~ (0x00001000-1)) : AT((0x701000 + 0x00008000 + "_code_size" + "_data_size" + (0x00001000-1))& ~ (0x00001000-1)) { ".exidx_start" = .; _exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*); _exidx_end = .; } >ram _exidx_size = SIZEOF(.exidx); .bss ((".exidx_start" + "_exidx_size" + (0x00001000-1))& ~ (0x00001000-1)) : { ".bss_start" = .; _bss_start = .; *(.bss); *(COMMON); *(.sbss); . = ALIGN(4096); ; _bss_end = .; } >ram _bss_size = SIZEOF(.bss); _pgheap_start =( 0x80200000 + (0x00000004-1))& ~ (0x00000004-1); _pgheap_end =( 0x80200000 + 0x500000 + (0x00000004-1))& ~ (0x00000004-1); _pgheap_size = 0x500000; _crtl_heap_start =( 0x80700000 + (0x00000004-1))& ~ (0x00000004-1); _crtl_heap_end =( 0x80700000 + 0x02900000 + (0x00000004-1))& ~ (0x00000004-1); _crtl_heap_size = 0x02900000; _rom_start_start = ((0x700000 + (0x00001000-1))& ~ (0x00001000-1)); _rom_start_end = ((0x700000 + 0x1000 + (0x00001000-1))& ~ (0x00001000-1)); _rom_vectors_start = ((0x701000 + (0x00001000-1))& ~ (0x00001000-1)); _rom_vectors_end = ((0x701000 + 0x00008000 + (0x00001000-1))& ~ (0x00001000-1)); _rom_code_start = ((0x701000 + 0x00008000 + (0x00001000-1))& ~ (0x00001000-1)); _rom_code_end = ((0x701000 + 0x00008000 + "_code_size" + (0x00001000-1))& ~ (0x00001000-1)); _rom_data_start = ((0x701000 + 0x00008000 + "_code_size" + (0x00001000-1))& ~ (0x00001000-1)); _rom_data_end = ((0x701000 + 0x00008000 + "_code_size" + "_data_size" + (0x00001000-1))& ~ (0x00001000-1)); _rom_exidx_start = ((0x701000 + 0x00008000 + "_code_size" + "_data_size" + (0x00001000-1))& ~ (0x00001000-1)); _rom_exidx_end = ((0x701000 + 0x00008000 + "_code_size" + "_data_size" + "_exidx_size" + (0x00001000-1))& ~ (0x00001000-1)); .start ((0x700000 + (0x00001000-1))& ~ (0x00001000-1)) : AT((0x700000 + (0x00001000-1))& ~ (0x00001000-1)) { ".start_start" = .; _start_start = .; *(.start); . = ALIGN(4096); ; _start_start = .; } >boot_rom _start_size = 0x1000; } load__code_start =( 0x00001000-1 )&~(0x00001000 -1 ); load__data_start =( load__code_start + _code_size + ( 0x00001000 -1 ))&~(0x00001000 -1 ); load__bss_start =( load__data_start + _data_size + ( 0x00001000 -1 ))&~(0x00001000 -1 );