123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- /* 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 );
|