mirror of https://github.com/jeelabs/esp-link.git
parent
cdcde186a2
commit
1a1fb37336
@ -0,0 +1,234 @@ |
||||
/* This linker script generated from xt-genldscripts.tpp for LSP . */ |
||||
/* Linker Script for ld -N */ |
||||
MEMORY |
||||
{ |
||||
dport0_0_seg : org = 0x3FF00000, len = 0x10 |
||||
dram0_0_seg : org = 0x3FFE8000, len = 0x14000 |
||||
iram1_0_seg : org = 0x40100000, len = 0x8000 |
||||
irom0_0_seg : org = 0x40201010, len = 0x6B000 |
||||
} |
||||
|
||||
PHDRS |
||||
{ |
||||
dport0_0_phdr PT_LOAD; |
||||
dram0_0_phdr PT_LOAD; |
||||
dram0_0_bss_phdr PT_LOAD; |
||||
iram1_0_phdr PT_LOAD; |
||||
irom0_0_phdr PT_LOAD; |
||||
} |
||||
|
||||
PROVIDE ( _SPIFFS_start = 0x40500000 ); |
||||
PROVIDE ( _SPIFFS_end = 0x405FB000 ); |
||||
PROVIDE ( _SPIFFS_page = 0x100 ); |
||||
PROVIDE ( _SPIFFS_block = 0x2000 ); |
||||
|
||||
/* Default entry point: */ |
||||
ENTRY(call_user_start) |
||||
EXTERN(_DebugExceptionVector) |
||||
EXTERN(_DoubleExceptionVector) |
||||
EXTERN(_KernelExceptionVector) |
||||
EXTERN(_NMIExceptionVector) |
||||
EXTERN(_UserExceptionVector) |
||||
PROVIDE(_memmap_vecbase_reset = 0x40000000); |
||||
/* Various memory-map dependent cache attribute settings: */ |
||||
_memmap_cacheattr_wb_base = 0x00000110; |
||||
_memmap_cacheattr_wt_base = 0x00000110; |
||||
_memmap_cacheattr_bp_base = 0x00000220; |
||||
_memmap_cacheattr_unused_mask = 0xFFFFF00F; |
||||
_memmap_cacheattr_wb_trapnull = 0x2222211F; |
||||
_memmap_cacheattr_wba_trapnull = 0x2222211F; |
||||
_memmap_cacheattr_wbna_trapnull = 0x2222211F; |
||||
_memmap_cacheattr_wt_trapnull = 0x2222211F; |
||||
_memmap_cacheattr_bp_trapnull = 0x2222222F; |
||||
_memmap_cacheattr_wb_strict = 0xFFFFF11F; |
||||
_memmap_cacheattr_wt_strict = 0xFFFFF11F; |
||||
_memmap_cacheattr_bp_strict = 0xFFFFF22F; |
||||
_memmap_cacheattr_wb_allvalid = 0x22222112; |
||||
_memmap_cacheattr_wt_allvalid = 0x22222112; |
||||
_memmap_cacheattr_bp_allvalid = 0x22222222; |
||||
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull); |
||||
|
||||
SECTIONS |
||||
{ |
||||
|
||||
.dport0.rodata : ALIGN(4) |
||||
{ |
||||
_dport0_rodata_start = ABSOLUTE(.); |
||||
*(.dport0.rodata) |
||||
*(.dport.rodata) |
||||
_dport0_rodata_end = ABSOLUTE(.); |
||||
} >dport0_0_seg :dport0_0_phdr |
||||
|
||||
.dport0.literal : ALIGN(4) |
||||
{ |
||||
_dport0_literal_start = ABSOLUTE(.); |
||||
*(.dport0.literal) |
||||
*(.dport.literal) |
||||
_dport0_literal_end = ABSOLUTE(.); |
||||
} >dport0_0_seg :dport0_0_phdr |
||||
|
||||
.dport0.data : ALIGN(4) |
||||
{ |
||||
_dport0_data_start = ABSOLUTE(.); |
||||
*(.dport0.data) |
||||
*(.dport.data) |
||||
_dport0_data_end = ABSOLUTE(.); |
||||
} >dport0_0_seg :dport0_0_phdr |
||||
|
||||
.data : ALIGN(4) |
||||
{ |
||||
_data_start = ABSOLUTE(.); |
||||
*(.data) |
||||
*(.data.*) |
||||
*(.gnu.linkonce.d.*) |
||||
*(.data1) |
||||
*(.sdata) |
||||
*(.sdata.*) |
||||
*(.gnu.linkonce.s.*) |
||||
*(.sdata2) |
||||
*(.sdata2.*) |
||||
*(.gnu.linkonce.s2.*) |
||||
*(.jcr) |
||||
_data_end = ABSOLUTE(.); |
||||
} >dram0_0_seg :dram0_0_phdr |
||||
|
||||
.rodata : ALIGN(4) |
||||
{ |
||||
_rodata_start = ABSOLUTE(.); |
||||
*(.sdk.version) |
||||
*(.rodata) |
||||
*(.rodata.*) |
||||
*(.gnu.linkonce.r.*) |
||||
*(.rodata1) |
||||
__XT_EXCEPTION_TABLE__ = ABSOLUTE(.); |
||||
*(.xt_except_table) |
||||
*(.gcc_except_table) |
||||
*(.gnu.linkonce.e.*) |
||||
*(.gnu.version_r) |
||||
*(.eh_frame) |
||||
/* C++ constructor and destructor tables, properly ordered: */ |
||||
KEEP (*crtbegin.o(.ctors)) |
||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) |
||||
KEEP (*(SORT(.ctors.*))) |
||||
KEEP (*(.ctors)) |
||||
KEEP (*crtbegin.o(.dtors)) |
||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) |
||||
KEEP (*(SORT(.dtors.*))) |
||||
KEEP (*(.dtors)) |
||||
/* C++ exception handlers table: */ |
||||
__XT_EXCEPTION_DESCS__ = ABSOLUTE(.); |
||||
*(.xt_except_desc) |
||||
*(.gnu.linkonce.h.*) |
||||
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.); |
||||
*(.xt_except_desc_end) |
||||
*(.dynamic) |
||||
*(.gnu.version_d) |
||||
. = ALIGN(4); /* this table MUST be 4-byte aligned */ |
||||
_bss_table_start = ABSOLUTE(.); |
||||
LONG(_bss_start) |
||||
LONG(_bss_end) |
||||
_bss_table_end = ABSOLUTE(.); |
||||
_rodata_end = ABSOLUTE(.); |
||||
} >dram0_0_seg :dram0_0_phdr |
||||
|
||||
.bss ALIGN(8) (NOLOAD) : ALIGN(4) |
||||
{ |
||||
. = ALIGN (8); |
||||
_bss_start = ABSOLUTE(.); |
||||
*(.dynsbss) |
||||
*(.sbss) |
||||
*(.sbss.*) |
||||
*(.gnu.linkonce.sb.*) |
||||
*(.scommon) |
||||
*(.sbss2) |
||||
*(.sbss2.*) |
||||
*(.gnu.linkonce.sb2.*) |
||||
*(.dynbss) |
||||
*(.bss) |
||||
*(.bss.*) |
||||
*(.gnu.linkonce.b.*) |
||||
*(COMMON) |
||||
. = ALIGN (8); |
||||
_bss_end = ABSOLUTE(.); |
||||
_heap_start = ABSOLUTE(.); |
||||
/* _stack_sentry = ALIGN(0x8); */ |
||||
} >dram0_0_seg :dram0_0_bss_phdr |
||||
/* __stack = 0x3ffc8000; */ |
||||
|
||||
.irom0.text : ALIGN(4) |
||||
{ |
||||
_irom0_text_start = ABSOLUTE(.); |
||||
|
||||
*libat.a:(.literal.* .text.*) |
||||
*libcrypto.a:(.literal.* .text.*) |
||||
*libespnow.a:(.literal.* .text.*) |
||||
*libjson.a:(.literal.* .text.*) |
||||
*liblwip.a:(.literal.* .text.*) |
||||
*libmesh.a:(.literal.* .text.*) |
||||
*libnet80211.a:(.literal.* .text.*) |
||||
*libsmartconfig.a:(.literal.* .text.*) |
||||
*libssl.a:(.literal.* .text.*) |
||||
*libupgrade.a:(.literal.* .text.*) |
||||
*libwpa.a:(.literal.* .text.*) |
||||
*libwpa2.a:(.literal.* .text.*) |
||||
*libwps.a:(.literal.* .text.*) |
||||
|
||||
*libmbedtls.a:(.literal.* .text.*) |
||||
|
||||
*libm.a:(.literal .text .literal.* .text.*) |
||||
|
||||
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text) |
||||
_irom0_text_end = ABSOLUTE(.); |
||||
} >irom0_0_seg :irom0_0_phdr |
||||
|
||||
.text : ALIGN(4) |
||||
{ |
||||
_stext = .; |
||||
_text_start = ABSOLUTE(.); |
||||
*(.UserEnter.text) |
||||
. = ALIGN(16); |
||||
*(.DebugExceptionVector.text) |
||||
. = ALIGN(16); |
||||
*(.NMIExceptionVector.text) |
||||
. = ALIGN(16); |
||||
*(.KernelExceptionVector.text) |
||||
LONG(0) |
||||
LONG(0) |
||||
LONG(0) |
||||
LONG(0) |
||||
. = ALIGN(16); |
||||
*(.UserExceptionVector.text) |
||||
LONG(0) |
||||
LONG(0) |
||||
LONG(0) |
||||
LONG(0) |
||||
. = ALIGN(16); |
||||
*(.DoubleExceptionVector.text) |
||||
LONG(0) |
||||
LONG(0) |
||||
LONG(0) |
||||
LONG(0) |
||||
. = ALIGN (16); |
||||
*(.entry.text) |
||||
*(.init.literal) |
||||
*(.init) |
||||
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*) |
||||
*(.fini.literal) |
||||
*(.fini) |
||||
*(.gnu.version) |
||||
_text_end = ABSOLUTE(.); |
||||
_etext = .; |
||||
} >iram1_0_seg :iram1_0_phdr |
||||
|
||||
.lit4 : ALIGN(4) |
||||
{ |
||||
_lit4_start = ABSOLUTE(.); |
||||
*(*.lit4) |
||||
*(.lit4.*) |
||||
*(.gnu.linkonce.lit4.*) |
||||
_lit4_end = ABSOLUTE(.); |
||||
} >iram1_0_seg :iram1_0_phdr |
||||
} |
||||
|
||||
/* get ROM code address */ |
||||
INCLUDE "../ld/eagle.rom.addr.v6.ld" |
Loading…
Reference in new issue