| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- ENTRY(Reset_Handler)
- _estack = ORIGIN(DataSRAM) + LENGTH(DataSRAM);
- _Min_Heap_Size = 0x200 ;
- _Min_Stack_Size = 0x400 ;
- MEMORY
- {
- RetentionRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 0x00000600
- TextSRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 128K
- DataSRAM (xrw) : ORIGIN = 0x10020000, LENGTH = 128K
- SharedSRAM (xrw) : ORIGIN = 0x10040000, LENGTH = 64K
- DmaSRAM (xrw) : ORIGIN = 0x10050000, LENGTH = 64K
- }
- __OPENAMP_region_start__ = ORIGIN(SharedSRAM);
- __OPENAMP_region_end__ = ORIGIN(SharedSRAM) + LENGTH(SharedSRAM);
- SECTIONS
- {
- .isr_vector :
- {
- . = ALIGN(4);
- KEEP(*(.isr_vector))
- . = ALIGN(4);
- } >RetentionRAM
- .text :
- {
- . = ALIGN(4);
- *(.text)
- *(.text*)
- *(.glue_7)
- *(.glue_7t)
- *(.eh_frame)
- KEEP (*(.init))
- KEEP (*(.fini))
- . = ALIGN(4);
- _etext = .;
- } >TextSRAM
- .rodata :
- {
- . = ALIGN(4);
- *(.rodata)
- *(.rodata*)
- . = ALIGN(4);
- } >TextSRAM
- .ARM.extab : {
- . = ALIGN(4);
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- . = ALIGN(4);
- } >TextSRAM
- .ARM : {
- . = ALIGN(4);
- __exidx_start = .;
- *(.ARM.exidx*)
- __exidx_end = .;
- . = ALIGN(4);
- } >TextSRAM
- .preinit_array :
- {
- . = ALIGN(4);
- PROVIDE_HIDDEN (__preinit_array_start = .);
- KEEP (*(.preinit_array*))
- PROVIDE_HIDDEN (__preinit_array_end = .);
- . = ALIGN(4);
- } >TextSRAM
- .init_array :
- {
- . = ALIGN(4);
- PROVIDE_HIDDEN (__init_array_start = .);
- KEEP (*(SORT(.init_array.*)))
- KEEP (*(.init_array*))
- PROVIDE_HIDDEN (__init_array_end = .);
- . = ALIGN(4);
- } >TextSRAM
- .fini_array :
- {
- . = ALIGN(4);
- PROVIDE_HIDDEN (__fini_array_start = .);
- KEEP (*(SORT(.fini_array.*)))
- KEEP (*(.fini_array*))
- PROVIDE_HIDDEN (__fini_array_end = .);
- . = ALIGN(4);
- } >TextSRAM
- __DATA_ROM = .;
- _sidata = LOADADDR(.data);
- .data : AT(__DATA_ROM)
- {
- . = ALIGN(4);
- _sdata = .;
- *(.data)
- *(.data*)
- . = ALIGN(4);
- _edata = .;
- } >DataSRAM
- __DATA_END = __DATA_ROM + (_edata - _sdata);
- text_end = ORIGIN(TextSRAM) + LENGTH(TextSRAM);
- ASSERT(__DATA_END <= text_end, "region TextSRAM overflowed with text and data")
- .resource_table :
- {
- . = ALIGN(4);
- KEEP (*(.resource_table*))
- . = ALIGN(4);
- } >DataSRAM
- . = ALIGN(4);
- .bss :
- {
- _sbss = .;
- __bss_start__ = _sbss;
- *(.bss)
- *(.bss*)
- *(COMMON)
- . = ALIGN(4);
- _ebss = .;
- __bss_end__ = _ebss;
- } >DataSRAM
- ._user_heap_stack :
- {
- . = ALIGN(8);
- PROVIDE ( end = . );
- PROVIDE ( _end = . );
- . = . + _Min_Heap_Size;
- . = . + _Min_Stack_Size;
- . = ALIGN(8);
- } >DataSRAM
- /DISCARD/ :
- {
- libc.a ( * )
- libm.a ( * )
- libgcc.a ( * )
- }
- .ARM.attributes 0 : { *(.ARM.attributes) }
- }
|