123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- /* memory-config builder in ACoreIDE by qxbin*/
- /*7 Mar 2025 08:21:44 GMT*/
- ENTRY(_start)
- MEMORY
- {
- ram : ORIGIN = 0x85000000, LENGTH = 0x3000000
- }
- SECTIONS {
- .text ((0x85000000 + (0x00001000-1))& ~ (0x00001000-1)) :
- {
- ".text_start" = .;
- _code_start = .;
- .__start_code = .;
- *(.__start);
- . = .__start_code + 0x20;
- *(.__ImageInfo);
- CREATE_OBJECT_SYMBOLS *( .text ) ;
- *(.m_hdr) ;
- *(.fixup);
- __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*);
- *(.rodata);
- *(.rodata*);
- *(.jcr);
- *(.init_begin);
- *(.init);
- *(.init_end);
- *(.fini);
- *(.text.unlikely);
- *(.gcc_except_table);
- . = ALIGN(0x1000);
- ;
- _code_end = .;
- } >ram
- _code_size = SIZEOF(.text);
- .data ((".text_start" + "_code_size" + (0x00001000-1))& ~ (0x00001000-1)) :
- {
- ".data_start" = .;
- _data_start = .;
- *(.data);
- *(.gnu.linkonce.d*);
- *(.gcc_except_table);
- *(.init_array*);
- *(.fini_array*);
- *(.data.rel.local);
- __SDATA_START__ = .;
- *(.sdata);
- __SDATA2_START__ = .;
- *(.sdata2);
- __GOT_START__ = .;
- *(.got);
- __GOT_END__ = .;
- __GOT2_START__ = .;
- *(.got2);
- __GOT2_END__ = .;
- *(.flash*);
- __FIXUP_START__ = .;
- __FIXUP_END__ = .;
- __EXCEPT_START__ = .;
- __EXCEPT_END__ = .;
- . = ALIGN(0x1000);
- ;
- _data_end = .;
- } >ram
- _data_size = SIZEOF(.data);
- .bss ((".data_start" + "_data_size" + (0x00001000-1))& ~ (0x00001000-1)) :
- {
- ".bss_start" = .;
- _bss_start = .;
- *(.bss);
- *(COMMON);
- *(.sbss);
- __SBSS_END__ = .;
- *(.sbss2);
- __SBSS2_END__ = .;
- . = ALIGN(0x1000);
- ;
- _bss_end = .;
- } >ram
- _bss_size = SIZEOF(.bss);
- .ARM.exidx ((".bss_start" + "_bss_size" + (0x00001000-1))& ~ (0x00001000-1)) :
- {
- ".ARM.exidx_start" = .;
- .ARM.exidx_start = .;
- *(.ARM.exidx* .gnu.linkonce.armexidx.*) ;
- .ARM.exidx_end = .;
- } >ram
- .ARM.exidx_size = SIZEOF(.ARM.exidx);
- HEAP ((".ARM.exidx_start" + ".ARM.exidx_size" + (0x00001000-1))& ~ (0x00001000-1)) :
- {
- "HEAP_start" = .;
- _crtl_heap_start = .;
- _crtl_heap_end = .;
- } >ram
- _crtl_heap_size = 0x2200000;
- }
- 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 );
|