695 lines
29 KiB
Plaintext
Executable File
695 lines
29 KiB
Plaintext
Executable File
#if (defined(CONFIG_ROM))
|
|
#include "rom_symbol.ld"
|
|
#endif
|
|
|
|
/* Linker script to configure memory regions. */
|
|
MEMORY
|
|
{
|
|
RAM (rwx) : ORIGIN = CONFIG_RAM_START, LENGTH = PRJ_RAM_SIZE
|
|
FLASH (rx) : ORIGIN = 0x00400000, LENGTH = PRJ_XIP_SIZE
|
|
PSRAM (rwx) : ORIGIN = CONFIG_PSRAM_START, LENGTH = PRJ_PSRAM_SIZE
|
|
}
|
|
|
|
__RAM_BASE = ORIGIN(RAM);
|
|
__PSRAM_BASE = ORIGIN(PSRAM);
|
|
__PSRAM_LENGTH = LENGTH(PSRAM);
|
|
__MSP_STACK_LENGTH = CONFIG_MSP_STACK_SIZE;
|
|
|
|
/* Linker script to place sections and symbol values. Should be used together
|
|
* with other linker script that defines memory regions FLASH and RAM.
|
|
* It references following symbols, which must be defined in code:
|
|
* Reset_Handler : Entry of reset handler
|
|
*
|
|
* It defines following symbols, which code can use without definition:
|
|
* __exidx_start
|
|
* __exidx_end
|
|
* __etext
|
|
* __data_start__
|
|
* __preinit_array_start
|
|
* __preinit_array_end
|
|
* __init_array_start
|
|
* __init_array_end
|
|
* __fini_array_start
|
|
* __fini_array_end
|
|
* __data_end__
|
|
* __bss_start__
|
|
* __bss_end__
|
|
* __end__
|
|
* end
|
|
* __HeapLimit
|
|
* __StackLimit
|
|
* __StackTop
|
|
* __stack
|
|
* _estack
|
|
*/
|
|
ENTRY(Reset_Handler)
|
|
|
|
SECTIONS
|
|
{
|
|
#if (defined(CONFIG_XIP))
|
|
.xip :
|
|
{
|
|
. = ALIGN(16);
|
|
__xip_start__ = .;
|
|
|
|
/* MUST not put IRQ handler/callback in .xip section */
|
|
*libmp3.a: (.text .text.* .rodata .rodata.*)
|
|
*libaac.a: (.text .text.* .rodata .rodata.*)
|
|
*libwav.a: (.text .text.* .rodata .rodata.*)
|
|
*libamr.a: (.text .text.* .rodata .rodata.*)
|
|
*libamren.a: (.text .text.* .rodata .rodata.*)
|
|
*libreverb.a: (.text .text.* .rodata .rodata.*)
|
|
*libdrc.a: (.text .text.* .rodata .rodata.*)
|
|
*libeq.a: (.text .text.* .rodata .rodata.*)
|
|
*libcedarx.a: (.text .text.* .rodata .rodata.*)
|
|
*libpcm.a: (.text .text.* .rodata .rodata.*)
|
|
*libaudmgr.a: (.text .text.* .rodata .rodata.*)
|
|
*liblwip.a: (.text .text.* .rodata .rodata.*)
|
|
*libmbedtls.a: (.text .text.* .rodata .rodata.*)
|
|
*libhttpcli.a: (.text .text.* .rodata .rodata.*)
|
|
*libhttpd.a: (.text .text.* .rodata .rodata.*)
|
|
*libmqtt.a: (.text .text.* .rodata .rodata.*)
|
|
*libnopoll.a: (.text .text.* .rodata .rodata.*)
|
|
*liblibwebsockets.a: (.text .text.* .rodata .rodata.*)
|
|
*libping.a: (.text .text.* .rodata .rodata.*)
|
|
*libsntp.a: (.text .text.* .rodata .rodata.*)
|
|
*libudhcpd.a: (.text .text.* .rodata .rodata.*)
|
|
*libaliyun.a: (.text .text.* .rodata .rodata.*)
|
|
*libblec.a: (.text .text.* .rodata .rodata.*)
|
|
*libmbuf.a: (.text .text.* .rodata .rodata.*)
|
|
*libwlan.a: (.text .text.* .rodata .rodata.*)
|
|
*libwpas.a: (.text .text.* .rodata .rodata.*)
|
|
*libwpas_wps.a: (.text .text.* .rodata .rodata.*)
|
|
*libhostapd.a: (.text .text.* .rodata .rodata.*)
|
|
*libwpas_hostapd.a: (.text .text.* .rodata .rodata.*)
|
|
*libwpas_wps_hostapd.a: (.text .text.* .rodata .rodata.*)
|
|
*libnet80211.a: (.text .text.* .rodata .rodata.*)
|
|
*libxrwireless.a: (.text .text.* .rodata .rodata.*)
|
|
*libxrwireless_phy.a: (.text .text.* .rodata .rodata.*)
|
|
*libethernetif.a: (.text .text.* .rodata .rodata.*)
|
|
*libxretf.a: (.text .text.* .rodata .rodata.*)
|
|
*libxretf_gui.a: (.text .text.* .rodata .rodata.*)
|
|
*libsdd.a: (.text .text.* .rodata .rodata.*)
|
|
*libxrsys.a: (.text .text.* .rodata .rodata.*)
|
|
*libsc_assistant.a: (.text .text.* .rodata .rodata.*)
|
|
*libsmartlink.a: (.text .text.* .rodata .rodata.*)
|
|
*libairkiss_aes.a: (.text .text.* .rodata .rodata.*)
|
|
*libadt.a: (.text .text.* .rodata .rodata.*)
|
|
*libcjson.a: (.text .text.* .rodata .rodata.*)
|
|
*libfs.a: (.text .text.* .rodata .rodata.*)
|
|
*libatcmd.a: (.text .text.* .rodata .rodata.*)
|
|
*libefpg.a: (.text .text.* .rodata .rodata.*)
|
|
*libota.a: (.text .text.* .rodata .rodata.*)
|
|
*libxz.a: (.text .text.* .rodata .rodata.*)
|
|
*libconsole.a: (.text .text.* .rodata .rodata.*)
|
|
*libutil.a: (.text .text.* .rodata .rodata.*)
|
|
*libbt_driver.a: (.text .text.* .rodata .rodata.*)
|
|
*lib_ble_host.a: (.text .text.* .rodata .rodata.*)
|
|
*bas.o: (.text .text.* .rodata .rodata.*)
|
|
*cts.o: (.text .text.* .rodata .rodata.*)
|
|
*dis.o: (.text .text.* .rodata .rodata.*)
|
|
*hrs.o: (.text .text.* .rodata .rodata.*)
|
|
|
|
*libcoremark.a: (.text .text.* .rodata .rodata.*)
|
|
*libjpegperf.a: (.text .text.* .rodata .rodata.*)
|
|
*libjpegbench.a: (.text .text.* .rodata .rodata.*)
|
|
*libdhrystone.a: (.text .text.* .rodata .rodata.*)
|
|
*libwhetstone.a: (.text .text.* .rodata .rodata.*)
|
|
|
|
*libchip.a:hal_mbox.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_wdg.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_timer.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:drv_trng.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_rtc.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_crypto.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_sdhost.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:sd.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:core.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:test.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_i2s.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:ac107.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:xradio_internal_codec.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_snd_card.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_i2c.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_dmic.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_pwm.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_spi.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_csi.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_efuse.o (.text .text.* .rodata .rodata.*)
|
|
*libchip.a:hal_scr.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libm.a: (EXCLUDE_FILE (lib_a-s_fpclassify.o lib_a-sf_fpclassify.o) .text
|
|
EXCLUDE_FILE (lib_a-s_fpclassify.o lib_a-sf_fpclassify.o) .text.*
|
|
EXCLUDE_FILE (lib_a-s_fpclassify.o lib_a-sf_fpclassify.o) .rodata
|
|
EXCLUDE_FILE (lib_a-s_fpclassify.o lib_a-sf_fpclassify.o) .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-asctime.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-asctime_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-ctime.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-gmtime.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-gmtime_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-lcltime.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-lcltime_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-mktime.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strftime.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-gettzinfo.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-month_lengths.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-timelocal.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-tzcalc_limits.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-tzlock.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-tzset.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-tzset_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-tzvars.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-envlock.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-getenv.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-getenv_r.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-rand.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-getopt.o (.text .text.* .rodata .rodata.*)
|
|
|
|
|
|
/*
|
|
* Before putting the following objs of libc_nano.a to xip,
|
|
* make sure they are not called in IRQ handler/callback.
|
|
*/
|
|
/*
|
|
*libc_nano.a:lib_a-atoi.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-atol.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-atoll.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-strcasecmp.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strcmp.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strncasecmp.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strncmp.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-strcpy.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strlcpy.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strncpy.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-strcat.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strchr.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strcspn.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strdup.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strdup_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strerror.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-u_strerr.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strrchr.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strspn.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strstr.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtod.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-gdtoa-gethex.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-gdtoa-hexnan.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtok.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtok_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtol.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtoll.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtoll_r.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-strtoul.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*libc_nano.a:lib_a-sscanf.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-stdio.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-nano-svfscanf.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-nano-vfscanf_i.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-nano-vfscanf_float.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-sf_nan.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-sccl.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-ungetc.o (.text .text.* .rodata .rodata.*)
|
|
*/
|
|
|
|
/*
|
|
* Before putting the following objs of libc_nano.a to xip,
|
|
* make sure float printf is not used in IRQ handler/callback.
|
|
*/
|
|
/*
|
|
*libc_nano.a:lib_a-nano-vfprintf_float.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-dtoa.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-locale.o (.text .text.* .rodata .rodata.*)
|
|
*libc_nano.a:lib_a-mprec.o (.text .text.* .rodata .rodata.*)
|
|
*libm.a:lib_a-s_fpclassify.o (.text .text.* .rodata .rodata.*)
|
|
*libm.a:lib_a-sf_fpclassify.o (.text .text.* .rodata .rodata.*)
|
|
*/
|
|
|
|
*project/common/board/board.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/cmd*.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/iperf*.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/framework*.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/player_app.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/recorder_app.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/os_glue/atomic.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/os_glue/cdx_fs.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/os_glue/cdx_memory.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/os_glue/pthread.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/os_glue/sleep.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/capture_ctrl/captureControl_rtos.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/sound_ctrl/card_pcm.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/sound_ctrl/reverb_buffer.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/sound_ctrl/reverb_pcm.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/sound_ctrl/soundControl_rtos.o (.text .text.* .rodata .rodata.*)
|
|
*project/common/apps/cedarx/sound_ctrl/soundStreamControl.o (.text .text.* .rodata .rodata.*)
|
|
*command.o (.text .text.* .rodata .rodata.*)
|
|
|
|
*(.xip_text* .xip_rodata*)
|
|
|
|
#if defined(CONFIG_BLEHOST)
|
|
#if defined(CONFIG_BLEHOST_Z_ITERABLE_SECTION)
|
|
#include "ble/linker/common-rom.ld"
|
|
#endif /* Z_ITERABLE_SECTION */
|
|
#endif /* CONFIG_BLEHOST */
|
|
. = ALIGN(16);
|
|
__xip_end__ = .;
|
|
} > FLASH
|
|
#endif /* CONFIG_XIP */
|
|
|
|
#if (defined(CONFIG_PSRAM))
|
|
.psram_text :
|
|
{
|
|
. = ALIGN(16);
|
|
__psram_start__ = .;
|
|
__psram_text_start__ = .;
|
|
|
|
/* MUST not put IRQ handler/callback in .psram section */
|
|
*project/common/cmd/cmd_psram.o (.text* .rodata*)
|
|
*(.psram_text* .psram_rodata*)
|
|
|
|
. = ALIGN(16);
|
|
__psram_text_end__ = .;
|
|
} > PSRAM
|
|
|
|
.psram_data :
|
|
{
|
|
. = ALIGN(16);
|
|
__psram_data_start__ = .;
|
|
|
|
/* MUST not put IRQ handler/callback used data in .psram section */
|
|
*libmp3.a: ( .data .data.* vtable )
|
|
*libaac.a: ( .data .data.* vtable )
|
|
*libwav.a: ( .data .data.* vtable )
|
|
*libamr.a: ( .data .data.* vtable )
|
|
*libamren.a: ( .data .data.* vtable )
|
|
*libreverb.a: ( .data .data.* vtable )
|
|
*libdrc.a: ( .data .data.* vtable )
|
|
*libeq.a: ( .data .data.* vtable )
|
|
*libcedarx.a: ( .data .data.* vtable )
|
|
*libpcm.a: ( .data .data.* vtable )
|
|
*libaudmgr.a: ( .data .data.* vtable )
|
|
*liblwip.a: ( .data .data.* vtable )
|
|
*libmbedtls.a: ( .data .data.* vtable )
|
|
*libhttpcli.a: ( .data .data.* vtable )
|
|
*libhttpd.a: ( .data .data.* vtable )
|
|
*libmqtt.a: ( .data .data.* vtable )
|
|
*libnopoll.a: ( .data .data.* vtable )
|
|
*liblibwebsockets.a: ( .data .data.* vtable )
|
|
*libping.a: ( .data .data.* vtable )
|
|
*libsntp.a: ( .data .data.* vtable )
|
|
*libudhcpd.a: ( .data .data.* vtable )
|
|
*libaliyun.a: ( .data .data.* vtable )
|
|
*libmbuf.a: ( .data .data.* vtable )
|
|
*libwlan.a: ( .data .data.* vtable )
|
|
*libwpa.a: ( .data .data.* vtable )
|
|
*libwpas.a: ( .data .data.* vtable )
|
|
*libwpas_wps.a: ( .data .data.* vtable )
|
|
*libhostapd.a: ( .data .data.* vtable )
|
|
*libnet80211.a: ( .data .data.* vtable )
|
|
*libxrwireless.a: ( .data .data.* vtable )
|
|
*libethernetif.a: ( .data .data.* vtable )
|
|
*libsdd.a: ( .data .data.* vtable )
|
|
*libxretf.a: ( .data .data.* vtable )
|
|
*libxretf_gui.a: ( .data .data.* vtable )
|
|
*libxrsys.a: ( .data .data.* vtable )
|
|
*libsc_assistant.a: ( .data .data.* vtable )
|
|
*libsmartlink.a: ( .data .data.* vtable )
|
|
*libairkiss_aes.a: ( .data .data.* vtable )
|
|
*libadt.a: ( .data .data.* vtable )
|
|
*libcjson.a: ( .data .data.* vtable )
|
|
*libfs.a: ( .data .data.* vtable )
|
|
*libatcmd.a: ( .data .data.* vtable )
|
|
*libefpg.a: ( .data .data.* vtable )
|
|
*libota.a: ( .data .data.* vtable )
|
|
*libxz.a: ( .data .data.* vtable )
|
|
*libutil.a: ( .data .data.* vtable )
|
|
*libchip.a:hal_wdg.o ( .data .data.* vtable )
|
|
*libchip.a:hal_timer.o ( .data .data.* vtable )
|
|
*libchip.a:hal_rtc.o ( .data .data.* vtable )
|
|
*libchip.a:hal_crypto.o ( .data .data.* vtable )
|
|
*libchip.a:hal_sdhost.o ( .data .data.* vtable )
|
|
*libchip.a:sd.o ( .data .data.* vtable )
|
|
*libchip.a:core.o ( .data .data.* vtable )
|
|
*libchip.a:test.o ( .data .data.* vtable )
|
|
*libchip.a:hal_i2s.o ( .data .data.* vtable )
|
|
*libchip.a:ac107.o ( .data .data.* vtable )
|
|
*libchip.a:xradio_internal_codec.o ( .data .data.* vtable )
|
|
*libchip.a:hal_snd_card.o ( .data .data.* vtable )
|
|
*libchip.a:hal_i2c.o ( .data .data.* vtable )
|
|
*libchip.a:hal_dmic.o ( .data .data.* vtable )
|
|
*libchip.a:hal_pwm.o ( .data .data.* vtable )
|
|
*libchip.a:hal_spi.o ( .data .data.* vtable )
|
|
*libchip.a:hal_csi.o ( .data .data.* vtable )
|
|
*libchip.a:hal_efuse.o ( .data .data.* vtable )
|
|
*libm.a: ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-asctime.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-asctime_r.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-ctime.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-gmtime.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-gmtime_r.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-lcltime.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-lcltime_r.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-mktime.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-strftime.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-gettzinfo.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-month_lengths.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-timelocal.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-tzcalc_limits.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-tzlock.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-tzset.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-tzset_r.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-tzvars.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-envlock.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-getenv.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-getenv_r.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-rand.o ( .data .data.* vtable )
|
|
*libc_nano.a:lib_a-getopt.o ( .data .data.* vtable )
|
|
|
|
*project/common/cmd*.o ( .data .data.* vtable )
|
|
*project/common/iperf*.o ( .data .data.* vtable )
|
|
*project/common/apps/player_app.o ( .data .data.* vtable )
|
|
*project/common/apps/recorder_app.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/os_glue/atomic.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/os_glue/cdx_fs.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/os_glue/cdx_memory.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/os_glue/pthread.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/os_glue/sleep.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/capture_ctrl/captureControl_rtos.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/sound_ctrl/card_pcm.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/sound_ctrl/reverb_buffer.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/sound_ctrl/reverb_pcm.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/sound_ctrl/soundControl_rtos.o ( .data .data.* vtable )
|
|
*project/common/apps/cedarx/sound_ctrl/soundStreamControl.o ( .data .data.* vtable )
|
|
*command.o ( .data .data.* vtable )
|
|
*(.psram_data*)
|
|
|
|
. = ALIGN(16);
|
|
__psram_data_end__ = .;
|
|
} > PSRAM
|
|
|
|
.psram_bss :
|
|
{
|
|
. = ALIGN(16);
|
|
__psram_bss_start__ = .;
|
|
|
|
/* MUST not put IRQ handler/callback used data in .psram section */
|
|
*libmp3.a: ( .bss .bss.* COMMON )
|
|
*libaac.a: ( .bss .bss.* COMMON )
|
|
*libwav.a: ( .bss .bss.* COMMON )
|
|
*libamr.a: ( .bss .bss.* COMMON )
|
|
*libamren.a: ( .bss .bss.* COMMON )
|
|
*libreverb.a: ( .bss .bss.* COMMON )
|
|
*libdrc.a: ( .bss .bss.* COMMON )
|
|
*libeq.a: ( .bss .bss.* COMMON )
|
|
*libcedarx.a: ( .bss .bss.* COMMON )
|
|
*libpcm.a: ( .bss .bss.* COMMON )
|
|
*libaudmgr.a: ( .bss .bss.* COMMON )
|
|
*liblwip.a: ( .bss .bss.* COMMON )
|
|
*libmbedtls.a: ( .bss .bss.* COMMON )
|
|
*libhttpcli.a: ( .bss .bss.* COMMON )
|
|
*libhttpd.a: ( .bss .bss.* COMMON )
|
|
*libmqtt.a: ( .bss .bss.* COMMON )
|
|
*libnopoll.a: ( .bss .bss.* COMMON )
|
|
*liblibwebsockets.a: ( .bss .bss.* COMMON )
|
|
*libping.a: ( .bss .bss.* COMMON )
|
|
*libsntp.a: ( .bss .bss.* COMMON )
|
|
*libudhcpd.a: ( .bss .bss.* COMMON )
|
|
*libaliyun.a: ( .bss .bss.* COMMON )
|
|
*libmbuf.a: ( .bss .bss.* COMMON )
|
|
*libwlan.a: ( .bss .bss.* COMMON )
|
|
*libwpa.a: ( .bss .bss.* COMMON )
|
|
*libwpas.a: ( .bss .bss.* COMMON )
|
|
*libwpas_wps.a: ( .bss .bss.* COMMON )
|
|
*libhostapd.a: ( .bss .bss.* COMMON )
|
|
*libnet80211.a: ( .bss .bss.* COMMON )
|
|
*libxrwireless.a: ( .bss .bss.* COMMON )
|
|
*libethernetif.a: ( .bss .bss.* COMMON )
|
|
*libsdd.a: ( .bss .bss.* COMMON )
|
|
*libxretf.a: ( .bss .bss.* COMMON )
|
|
*libxretf_gui.a: ( .bss .bss.* COMMON )
|
|
*libxrsys.a: ( .bss .bss.* COMMON )
|
|
*libsc_assistant.a: ( .bss .bss.* COMMON )
|
|
*libsmartlink.a: ( .bss .bss.* COMMON )
|
|
*libairkiss_aes.a: ( .bss .bss.* COMMON )
|
|
*libadt.a: ( .bss .bss.* COMMON )
|
|
*libcjson.a: ( .bss .bss.* COMMON )
|
|
*libfs.a: ( .bss .bss.* COMMON )
|
|
*libatcmd.a: ( .bss .bss.* COMMON )
|
|
*libefpg.a: ( .bss .bss.* COMMON )
|
|
*libota.a: ( .bss .bss.* COMMON )
|
|
*libxz.a: ( .bss .bss.* COMMON )
|
|
*libutil.a: ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_wdg.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_timer.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_rtc.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_crypto.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_sdhost.o ( .bss .bss.* COMMON )
|
|
*libchip.a:sd.o ( .bss .bss.* COMMON )
|
|
*libchip.a:core.o ( .bss .bss.* COMMON )
|
|
*libchip.a:test.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_i2s.o ( .bss .bss.* COMMON )
|
|
*libchip.a:ac107.o ( .bss .bss.* COMMON )
|
|
*libchip.a:xradio_internal_codec.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_snd_card.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_i2c.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_dmic.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_pwm.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_spi.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_csi.o ( .bss .bss.* COMMON )
|
|
*libchip.a:hal_efuse.o ( .bss .bss.* COMMON )
|
|
*libm.a: ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-asctime.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-asctime_r.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-ctime.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-gmtime.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-gmtime_r.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-lcltime.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-lcltime_r.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-mktime.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-strftime.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-gettzinfo.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-month_lengths.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-timelocal.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-tzcalc_limits.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-tzlock.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-tzset.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-tzset_r.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-tzvars.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-envlock.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-getenv.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-getenv_r.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-rand.o ( .bss .bss.* COMMON )
|
|
*libc_nano.a:lib_a-getopt.o ( .bss .bss.* COMMON )
|
|
|
|
*project/common/cmd*.o ( .bss .bss.* COMMON )
|
|
*project/common/iperf*.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/player_app.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/recorder_app.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/os_glue/atomic.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/os_glue/cdx_fs.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/os_glue/cdx_memory.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/os_glue/pthread.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/os_glue/sleep.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/capture_ctrl/captureControl_rtos.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/sound_ctrl/card_pcm.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/sound_ctrl/reverb_buffer.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/sound_ctrl/reverb_pcm.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/sound_ctrl/soundControl_rtos.o ( .bss .bss.* COMMON )
|
|
*project/common/apps/cedarx/sound_ctrl/soundStreamControl.o ( .bss .bss.* COMMON )
|
|
*command.o ( .bss .bss.* COMMON )
|
|
*(.psram_bss*)
|
|
. = ALIGN(16);
|
|
__psram_bss_end__ = .;
|
|
__psram_end__ = .;
|
|
} > PSRAM
|
|
#endif /* CONFIG_PSRAM */
|
|
|
|
.text :
|
|
{
|
|
. = ALIGN(4);
|
|
__text_start__ = .;
|
|
__VECTOR_BASE = .;
|
|
KEEP(*(.isr_vector))
|
|
KEEP(*(.text.Reset_Handler))
|
|
KEEP(*(.cpu_text))
|
|
*(.text*)
|
|
*(.nonxip_text*)
|
|
*(.sram_text*)
|
|
KEEP(*(.init))
|
|
KEEP(*(.fini))
|
|
|
|
/* .ctors */
|
|
*crtbegin.o(.ctors)
|
|
*crtbegin?.o(.ctors)
|
|
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
|
*(SORT(.ctors.*))
|
|
*(.ctors)
|
|
|
|
/* .dtors */
|
|
*crtbegin.o(.dtors)
|
|
*crtbegin?.o(.dtors)
|
|
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
|
*(SORT(.dtors.*))
|
|
*(.dtors)
|
|
|
|
*(.rodata*)
|
|
*(.nonxip_rodata*)
|
|
*(.sram_rodata*)
|
|
|
|
KEEP(*(.eh_frame*))
|
|
|
|
. = ALIGN(4);
|
|
__text_end__ = .;
|
|
} > RAM
|
|
|
|
.ARM.extab :
|
|
{
|
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
} > RAM
|
|
|
|
__exidx_start = .;
|
|
.ARM.exidx :
|
|
{
|
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
} > RAM
|
|
__exidx_end = .;
|
|
|
|
. = ALIGN(4);
|
|
__etext = .;
|
|
_sidata = .;
|
|
|
|
.data :
|
|
{
|
|
. = ALIGN(4);
|
|
__data_start__ = .;
|
|
_sdata = .;
|
|
|
|
*(vtable)
|
|
*(.data*)
|
|
*(.nonxip_data*)
|
|
*(.sram_data*)
|
|
|
|
. = ALIGN(4);
|
|
/* preinit data */
|
|
PROVIDE_HIDDEN (__preinit_array_start = .);
|
|
KEEP(*(.preinit_array))
|
|
PROVIDE_HIDDEN (__preinit_array_end = .);
|
|
|
|
. = ALIGN(4);
|
|
/* init data */
|
|
PROVIDE_HIDDEN (__init_array_start = .);
|
|
PROVIDE_HIDDEN (__init_array_end = .);
|
|
PROVIDE(__ctors_start__ = .);
|
|
KEEP(*(SORT(.init_array.*)))
|
|
KEEP(*(.init_array))
|
|
PROVIDE(__ctors_end__ = .);
|
|
|
|
. = ALIGN(4);
|
|
/* finit data */
|
|
PROVIDE_HIDDEN (__fini_array_start = .);
|
|
KEEP(*(SORT(.fini_array.*)))
|
|
KEEP(*(.fini_array))
|
|
PROVIDE_HIDDEN (__fini_array_end = .);
|
|
|
|
KEEP(*(.jcr*))
|
|
|
|
. = ALIGN(4);
|
|
#if (defined(CONFIG_ROM))
|
|
*(*.got*)
|
|
#endif
|
|
__data_end__ = .;
|
|
_edata = .;
|
|
} > RAM
|
|
|
|
|
|
#if defined(CONFIG_BLEHOST)
|
|
#if defined(CONFIG_BLEHOST_Z_ITERABLE_SECTION)
|
|
#include "ble/linker/common-ram.ld"
|
|
#endif /* Z_ITERABLE_SECTION */
|
|
#endif /* CONFIG_BLEHOST */
|
|
|
|
.bss :
|
|
{
|
|
#if (defined(CONFIG_SRAM_BIN_ENCRYPT) && defined(CONFIG_SECURE_BOOT))
|
|
. = ALIGN(16);
|
|
#else
|
|
. = ALIGN(4);
|
|
#endif
|
|
__bss_start__ = .;
|
|
_sbss = .;
|
|
|
|
__blec_bss_start__ = .;
|
|
*libblec.a: ( .bss .bss.* .nonxip_bss* .sram_bss* COMMON )
|
|
__blec_bss_end__ = .;
|
|
*(.bss*)
|
|
*(COMMON)
|
|
*(.nonxip_bss*)
|
|
*(.sram_bss*)
|
|
|
|
. = ALIGN(4);
|
|
__bss_end__ = .;
|
|
_ebss = .;
|
|
} > RAM
|
|
|
|
.heap (COPY):
|
|
{
|
|
__end__ = .;
|
|
__heap_start__ = .;
|
|
end = __end__;
|
|
*(.heap*)
|
|
__HeapLimit = .;
|
|
} > RAM
|
|
|
|
/* .stack_dummy section doesn't contains any symbols. It is only
|
|
* used for linker to calculate size of stack sections, and assign
|
|
* values to stack symbols later */
|
|
.stack_dummy (COPY):
|
|
{
|
|
*(.stack*)
|
|
} > RAM
|
|
|
|
#if (defined(CONFIG_ROM))
|
|
.ram_table : AT(__bss_start__)
|
|
{
|
|
. = ALIGN(4);
|
|
KEEP(*(.ram_table))
|
|
. = ALIGN(4);
|
|
} > RAM
|
|
__ram_table_lma_start__ = __bss_start__;
|
|
__ram_table_lma_end__ = __ram_table_lma_start__ + SIZEOF(.ram_table);
|
|
#endif
|
|
|
|
/* Set stack top to end of RAM, and stack limit move down by
|
|
* size of stack_dummy section */
|
|
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
|
|
_estack = __StackTop;
|
|
__heap_end__ = _estack - __MSP_STACK_LENGTH;
|
|
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
|
|
PROVIDE(__stack = __StackTop);
|
|
|
|
__FLASH_BASE = ORIGIN(FLASH);
|
|
PROVIDE(__XIP_Base = __FLASH_BASE);
|
|
#if (defined(CONFIG_XIP))
|
|
PROVIDE(__XIP_End = __xip_end__);
|
|
#else
|
|
PROVIDE(__XIP_End = __XIP_Base);
|
|
#endif
|
|
|
|
#if (defined(CONFIG_PSRAM))
|
|
__PSRAM_BASE = ORIGIN(PSRAM);
|
|
PROVIDE(__PSRAM_Base = __PSRAM_BASE);
|
|
PROVIDE(__PSRAM_End = __psram_end__);
|
|
__PsramTop = ORIGIN(PSRAM) + LENGTH(PSRAM);
|
|
PROVIDE(__PSRAM_Top = __PsramTop);
|
|
#endif
|
|
|
|
/* Check if data + heap + stack exceeds RAM limit */
|
|
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
|
|
}
|