1.删除loader的中间文件
This commit is contained in:
parent
5d130e5df4
commit
c0fe89962f
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,172 +0,0 @@
|
||||||
/* Linker script for malta
|
|
||||||
*
|
|
||||||
* Version: Sourcery G++ Lite 4.3-221
|
|
||||||
* Support: https://support.codesourcery.com/GNUToolchain/
|
|
||||||
*
|
|
||||||
* Copyright (c) 2007, 2008, 2009 CodeSourcery, Inc.
|
|
||||||
*
|
|
||||||
* The authors hereby grant permission to use, copy, modify, distribute,
|
|
||||||
* and license this software and its documentation for any purpose, provided
|
|
||||||
* that existing copyright notices are retained in all copies and that this
|
|
||||||
* notice is included verbatim in any distributions. No written agreement,
|
|
||||||
* license, or royalty fee is required for any of the authorized uses.
|
|
||||||
* Modifications to this software may be copyrighted by their authors
|
|
||||||
* and need not follow the licensing terms described here, provided that
|
|
||||||
* the new terms are clearly indicated on the first page of each file where
|
|
||||||
* they apply.
|
|
||||||
* */
|
|
||||||
|
|
||||||
/* Rule:
|
|
||||||
* 1. to use .o in project layer just type the .o name with file extension. (UiFlow.o)
|
|
||||||
* 2. to use .o in library layer have to add prefix module name. (Loader565_Data/Release/ObjectLds/DscSystem/SysTask.o)
|
|
||||||
* */
|
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
ENTRY(__start)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.BOOT_EXEC 0xF07C0000|0x00000000:
|
|
||||||
AT (0)
|
|
||||||
{
|
|
||||||
_load_BOOT_EXEC_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/reset.o(.data*));
|
|
||||||
Loader565_Data/Release/ObjectLds/Reset_560/reset.o(.text*);
|
|
||||||
_load_BOOT_EXEC_end_base = .;
|
|
||||||
}
|
|
||||||
.LOADER_CONFIGRAM (0xF07C0000|0x00000000) + 0x30:
|
|
||||||
AT (0x30)
|
|
||||||
{
|
|
||||||
_load_LOADER_CONFIGRAM_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Remap_LZ565/configramLZ.o(.data*));
|
|
||||||
_load_LOADER_CONFIGRAM_end_base = .;
|
|
||||||
_load_LOADER_CONFIGRAM_FREQ_PARAM_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/configramFreqParam.o(.data*));
|
|
||||||
_load_LOADER_CONFIGRAM_FREQ_PARAM_end_base = .;
|
|
||||||
}
|
|
||||||
.LOADER_CONFIGRAM2 (0xF07C0000|0x00000000) + 0x300:
|
|
||||||
AT (0x300)
|
|
||||||
{
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_tbl.o(.rodata*));
|
|
||||||
config_dram1_tbl_2_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_2_tbl.o(.rodata*));
|
|
||||||
}
|
|
||||||
.LOADER_CORE2_ENTRY_PROGRAM (0xF07C0000|0x00000000) + 0x500:
|
|
||||||
AT (0x500)
|
|
||||||
{
|
|
||||||
_load_core2_entry_program_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/core2_entry.o(.text));
|
|
||||||
_load_core2_entry_program_end_base = .;
|
|
||||||
}
|
|
||||||
.LOADER_REMAP (0xF07C0000|0x00000000) + 0x600:
|
|
||||||
AT (0x600)
|
|
||||||
{
|
|
||||||
_load_LOADER_REMAP_start_base = .;
|
|
||||||
Loader565_Data/Release/ObjectLds/Remap_LZ565/doremapLZ565.o(.text*);
|
|
||||||
_load_LOADER_REMAP_end_base = .;
|
|
||||||
_load_vector_exp_table_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/exp.o(.text*));
|
|
||||||
_load_vector_exp_table_end_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o(.text*));
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o(.rodata*));
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Driver/fuart.o(.text* .data* .rodata*));
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Debug/debug.o (.text* .data* .bss*));
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Common_exFAT/global.o (.text* .data* .bss* .rodata*));
|
|
||||||
. = ALIGN(4); /* This is MUST. Ensure section size is word aligned. */
|
|
||||||
}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.LOADER_EXEC ADDR(.LOADER_REMAP) + SIZEOF(.LOADER_REMAP) :
|
|
||||||
AT (LOADADDR(.LOADER_REMAP) + SIZEOF(.LOADER_REMAP))
|
|
||||||
{
|
|
||||||
_loader_exec_start_base = .;
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Ctrl_Flow/main.o(.part1*));
|
|
||||||
KEEP(Loader565_Data/Release/ObjectLds/Driver/rtc.o(.part1*));
|
|
||||||
* (.part1)
|
|
||||||
_loader_exec_end_base = .;
|
|
||||||
}
|
|
||||||
_loader_exec_cpu_addr = LOADADDR(.LOADER_EXEC) + ADDR(.BOOT_EXEC);
|
|
||||||
_loader_exec_size = SIZEOF(.LOADER_EXEC);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.text 0x1000000:
|
|
||||||
AT (LOADADDR(.LOADER_EXEC) + SIZEOF(.LOADER_EXEC))
|
|
||||||
{
|
|
||||||
_loader_exec_compres_start = .;
|
|
||||||
_internal_strg_param_start = .;
|
|
||||||
*(.text*)
|
|
||||||
_loader_exec_compres_end = .;
|
|
||||||
}
|
|
||||||
_loader_exec_compress_load_base = LOADADDR(.text);
|
|
||||||
_loader_exec_compress_load_cpu_addr = LOADADDR(.text) + ADDR(.BOOT_EXEC);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx*)
|
|
||||||
*(.gnu.linkonce.armexidx.*)
|
|
||||||
}
|
|
||||||
. = ALIGN(4);
|
|
||||||
.rodata :
|
|
||||||
{
|
|
||||||
*(.rodata*)
|
|
||||||
. = ALIGN(8); /* This is MUST. Ensure ro size is 2 word aligned. */
|
|
||||||
}
|
|
||||||
.dram_text :
|
|
||||||
AT (LOADADDR(.rodata) + SIZEOF(.rodata))
|
|
||||||
{
|
|
||||||
_loader_dram_text_start_base = .;
|
|
||||||
* (.dram_text)
|
|
||||||
}
|
|
||||||
_loader_dram_text_cpu_addr = LOADADDR(.dram_text) + ADDR(.BOOT_EXEC);
|
|
||||||
_loader_dram_text_size = SIZEOF(.dram_text);
|
|
||||||
.data :
|
|
||||||
AT (LOADADDR(.dram_text) + SIZEOF(.dram_text))
|
|
||||||
{
|
|
||||||
_loader_data_start_base = .;
|
|
||||||
_load_general_var_base = .;
|
|
||||||
_image_general_var_base = .;
|
|
||||||
*(.data*)
|
|
||||||
_image_general_var_limit = .;
|
|
||||||
}
|
|
||||||
_loader_data_cpu_addr = LOADADDR(.data) + ADDR(.BOOT_EXEC);
|
|
||||||
_loader_data_size = SIZEOF(.data);
|
|
||||||
.dummy : { LONG (0x00000000) }
|
|
||||||
. = ALIGN(4);
|
|
||||||
.got : { *(.got) }
|
|
||||||
. = ALIGN(4);
|
|
||||||
.bss : { /* locate bss at DRAM end */
|
|
||||||
_image_general_zi_zi_base = .;
|
|
||||||
*(.bss)
|
|
||||||
. = ALIGN(0x4000);
|
|
||||||
_ttb = .;
|
|
||||||
. = . + 0x4000;
|
|
||||||
. = ALIGN(0x400);
|
|
||||||
_ttb_lv2 = .;
|
|
||||||
. = . + 0x400;
|
|
||||||
}
|
|
||||||
.common :
|
|
||||||
{
|
|
||||||
__common_base = ABSOLUTE(.);
|
|
||||||
/* collect "small" un-initialized global data (mark "C" in sym file) */
|
|
||||||
*(.scommon*)
|
|
||||||
/* collect "large" un-initialized global data (mark "B" in sym file) */
|
|
||||||
*(COMMON)
|
|
||||||
__common_limit = ABSOLUTE(.);
|
|
||||||
}
|
|
||||||
. = ALIGN(64);
|
|
||||||
_image_general_zi_zi_limit = ABSOLUTE(.);
|
|
||||||
_load_load_reset_base = .;
|
|
||||||
_image_load_reset_base = .;
|
|
||||||
_image_load_reset_length = .;
|
|
||||||
_image_load_reset_zi_base = .;
|
|
||||||
_image_load_reset_zi_limit = .;
|
|
||||||
. = ALIGN(64);
|
|
||||||
.loader_heap :
|
|
||||||
{
|
|
||||||
_loader_heap_base = .;
|
|
||||||
. += 0xA0000 + 0x20000 + 0x80000;
|
|
||||||
}
|
|
||||||
. = ALIGN(64);
|
|
||||||
_stack_start = .;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,98 +0,0 @@
|
||||||
Loader565_Data/Release/ObjectLds/Reset_560/Reset_560.a:../../ARC/Lib/Release/Reset_560.a
|
|
||||||
@echo Copying ObjectLds: $(notdir $@)
|
|
||||||
@rm -rf $(dir $@)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
cp $< $@
|
|
||||||
chmod 777 $@
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/reset.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/reset.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/reset.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/reset.o) Loader565_Data/Release/ObjectLds/Reset_560/reset.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/configramFreqParam.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/configramFreqParam.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/configramFreqParam.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/configramFreqParam.o) Loader565_Data/Release/ObjectLds/Reset_560/configramFreqParam.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_tbl.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_tbl.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_tbl.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_tbl.o) Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_tbl.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_2_tbl.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_2_tbl.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_2_tbl.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_2_tbl.o) Loader565_Data/Release/ObjectLds/Reset_560/config_dram1_2_tbl.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/core2_entry.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/core2_entry.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/core2_entry.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/core2_entry.o) Loader565_Data/Release/ObjectLds/Reset_560/core2_entry.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/exp.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/exp.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/exp.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/exp.o) Loader565_Data/Release/ObjectLds/Reset_560/exp.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o) Loader565_Data/Release/ObjectLds/Reset_560/configDDR.o;
|
|
||||||
|
|
||||||
Loader565_Data/Release/ObjectLds/Remap_LZ565/Remap_LZ565.a:../../ARC/Lib/Release/Remap_LZ565.a
|
|
||||||
@echo Copying ObjectLds: $(notdir $@)
|
|
||||||
@rm -rf $(dir $@)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
cp $< $@
|
|
||||||
chmod 777 $@
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Remap_LZ565/configramLZ.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Remap_LZ565/configramLZ.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Remap_LZ565/configramLZ.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Remap_LZ565/configramLZ.o) Loader565_Data/Release/ObjectLds/Remap_LZ565/configramLZ.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Remap_LZ565/doremapLZ565.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Remap_LZ565/doremapLZ565.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Remap_LZ565/doremapLZ565.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Remap_LZ565/doremapLZ565.o) Loader565_Data/Release/ObjectLds/Remap_LZ565/doremapLZ565.o;
|
|
||||||
|
|
||||||
Loader565_Data/Release/ObjectLds/Driver/Driver.a:../../ARC/Lib/Release/Driver.a
|
|
||||||
@echo Copying ObjectLds: $(notdir $@)
|
|
||||||
@rm -rf $(dir $@)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
cp $< $@
|
|
||||||
chmod 777 $@
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Driver/fuart.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Driver/fuart.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Driver/fuart.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Driver/fuart.o) Loader565_Data/Release/ObjectLds/Driver/fuart.o;
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Driver/rtc.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Driver/rtc.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Driver/rtc.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Driver/rtc.o) Loader565_Data/Release/ObjectLds/Driver/rtc.o;
|
|
||||||
|
|
||||||
Loader565_Data/Release/ObjectLds/Debug/Debug.a:../../ARC/Lib/Release/Debug.a
|
|
||||||
@echo Copying ObjectLds: $(notdir $@)
|
|
||||||
@rm -rf $(dir $@)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
cp $< $@
|
|
||||||
chmod 777 $@
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Debug/debug.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Debug/debug.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Debug/debug.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Debug/debug.o) Loader565_Data/Release/ObjectLds/Debug/debug.o;
|
|
||||||
|
|
||||||
Loader565_Data/Release/ObjectLds/Common_exFAT/Common_exFAT.a:../../ARC/Lib/Release/Common_exFAT.a
|
|
||||||
@echo Copying ObjectLds: $(notdir $@)
|
|
||||||
@rm -rf $(dir $@)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
cp $< $@
|
|
||||||
chmod 777 $@
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Common_exFAT/global.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Common_exFAT/global.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Common_exFAT/global.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Common_exFAT/global.o) Loader565_Data/Release/ObjectLds/Common_exFAT/global.o;
|
|
||||||
|
|
||||||
Loader565_Data/Release/ObjectLds/Ctrl_Flow/Ctrl_Flow.a:../../ARC/Lib/Release/Ctrl_Flow.a
|
|
||||||
@echo Copying ObjectLds: $(notdir $@)
|
|
||||||
@rm -rf $(dir $@)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
cp $< $@
|
|
||||||
chmod 777 $@
|
|
||||||
@echo Extracting: Loader565_Data/Release/ObjectLds/Ctrl_Flow/main.o
|
|
||||||
$(AR) x $@ $(notdir Loader565_Data/Release/ObjectLds/Ctrl_Flow/main.o)
|
|
||||||
$(AR) d $@ $(notdir Loader565_Data/Release/ObjectLds/Ctrl_Flow/main.o)
|
|
||||||
mv $(notdir Loader565_Data/Release/ObjectLds/Ctrl_Flow/main.o) Loader565_Data/Release/ObjectLds/Ctrl_Flow/main.o;
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Loader565_Data/Release/ObjectLds/Reset_560/Reset_560.a Loader565_Data/Release/ObjectLds/Remap_LZ565/Remap_LZ565.a Loader565_Data/Release/ObjectLds/Driver/Driver.a Loader565_Data/Release/ObjectLds/Debug/Debug.a Loader565_Data/Release/ObjectLds/Common_exFAT/Common_exFAT.a Loader565_Data/Release/ObjectLds/Ctrl_Flow/Ctrl_Flow.a
|
|
|
@ -1 +0,0 @@
|
||||||
../../ARC/Lib/Release/Reset_560.a ../../ARC/Lib/Release/Remap_LZ565.a ../../ARC/Lib/Release/Driver.a ../../ARC/Lib/Release/Debug.a ../../ARC/Lib/Release/Common_exFAT.a ../../ARC/Lib/Release/Ctrl_Flow.a
|
|
|
@ -1 +0,0 @@
|
||||||
../../ARC/Lib/Release/Ctrl_Flow.a ../../ARC/Lib/Release/nvtpack.a ../../ARC/Lib/Release/Compress.a ../../ARC/Lib/Release/STRGINT_EMMC.a ../../ARC/Lib/Release/Driver.a ../../ARC/Lib/Release/CA9.a ../../ARC/Lib/Release/fdt.a ../../ARC/Lib/Release/Debug.a ../../ARC/Lib/Release/STRGINT_NandSpi.a ../../ARC/Lib/Release/STRGINT_SpiFlash.a ../../ARC/Lib/Release/STRGEXT_Sdio1.a ../../ARC/Lib/Release/Remap_LZ565.a ../../ARC/Lib/Release/Reset_560.a ../../ARC/Lib/Release/Common_exFAT.a
|
|
|
@ -1 +0,0 @@
|
||||||
Loader565_Data/Release/ObjectCode/prj_main.o Loader565_Data/Release/ObjectCode/usb_update.o Loader565_Data/Release/ObjectCode/uart_upgrade.o
|
|
|
@ -1,172 +0,0 @@
|
||||||
/* Linker script for malta
|
|
||||||
*
|
|
||||||
* Version: Sourcery G++ Lite 4.3-221
|
|
||||||
* Support: https://support.codesourcery.com/GNUToolchain/
|
|
||||||
*
|
|
||||||
* Copyright (c) 2007, 2008, 2009 CodeSourcery, Inc.
|
|
||||||
*
|
|
||||||
* The authors hereby grant permission to use, copy, modify, distribute,
|
|
||||||
* and license this software and its documentation for any purpose, provided
|
|
||||||
* that existing copyright notices are retained in all copies and that this
|
|
||||||
* notice is included verbatim in any distributions. No written agreement,
|
|
||||||
* license, or royalty fee is required for any of the authorized uses.
|
|
||||||
* Modifications to this software may be copyrighted by their authors
|
|
||||||
* and need not follow the licensing terms described here, provided that
|
|
||||||
* the new terms are clearly indicated on the first page of each file where
|
|
||||||
* they apply.
|
|
||||||
* */
|
|
||||||
|
|
||||||
/* Rule:
|
|
||||||
* 1. to use .o in project layer just type the .o name with file extension. (UiFlow.o)
|
|
||||||
* 2. to use .o in library layer have to add prefix module name. (DscSystem/SysTask.o)
|
|
||||||
* */
|
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
ENTRY(__start)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.BOOT_EXEC 0xF07C0000|0x00000000:
|
|
||||||
AT (0)
|
|
||||||
{
|
|
||||||
_load_BOOT_EXEC_start_base = .;
|
|
||||||
KEEP(Reset_560/reset.o(.data*));
|
|
||||||
Reset_560/reset.o(.text*);
|
|
||||||
_load_BOOT_EXEC_end_base = .;
|
|
||||||
}
|
|
||||||
.LOADER_CONFIGRAM (0xF07C0000|0x00000000) + 0x30:
|
|
||||||
AT (0x30)
|
|
||||||
{
|
|
||||||
_load_LOADER_CONFIGRAM_start_base = .;
|
|
||||||
KEEP(Remap_LZ565/configramLZ.o(.data*));
|
|
||||||
_load_LOADER_CONFIGRAM_end_base = .;
|
|
||||||
_load_LOADER_CONFIGRAM_FREQ_PARAM_start_base = .;
|
|
||||||
KEEP(Reset_560/configramFreqParam.o(.data*));
|
|
||||||
_load_LOADER_CONFIGRAM_FREQ_PARAM_end_base = .;
|
|
||||||
}
|
|
||||||
.LOADER_CONFIGRAM2 (0xF07C0000|0x00000000) + 0x300:
|
|
||||||
AT (0x300)
|
|
||||||
{
|
|
||||||
KEEP(Reset_560/config_dram1_tbl.o(.rodata*));
|
|
||||||
config_dram1_tbl_2_start_base = .;
|
|
||||||
KEEP(Reset_560/config_dram1_2_tbl.o(.rodata*));
|
|
||||||
}
|
|
||||||
.LOADER_CORE2_ENTRY_PROGRAM (0xF07C0000|0x00000000) + 0x500:
|
|
||||||
AT (0x500)
|
|
||||||
{
|
|
||||||
_load_core2_entry_program_start_base = .;
|
|
||||||
KEEP(Reset_560/core2_entry.o(.text));
|
|
||||||
_load_core2_entry_program_end_base = .;
|
|
||||||
}
|
|
||||||
.LOADER_REMAP (0xF07C0000|0x00000000) + 0x600:
|
|
||||||
AT (0x600)
|
|
||||||
{
|
|
||||||
_load_LOADER_REMAP_start_base = .;
|
|
||||||
Remap_LZ565/doremapLZ565.o(.text*);
|
|
||||||
_load_LOADER_REMAP_end_base = .;
|
|
||||||
_load_vector_exp_table_start_base = .;
|
|
||||||
KEEP(Reset_560/exp.o(.text*));
|
|
||||||
_load_vector_exp_table_end_base = .;
|
|
||||||
KEEP(Reset_560/configDDR.o(.text*));
|
|
||||||
KEEP(Reset_560/configDDR.o(.rodata*));
|
|
||||||
KEEP(Driver/fuart.o(.text* .data* .rodata*));
|
|
||||||
KEEP(Debug/debug.o (.text* .data* .bss*));
|
|
||||||
KEEP(Common_exFAT/global.o (.text* .data* .bss* .rodata*));
|
|
||||||
. = ALIGN(4); /* This is MUST. Ensure section size is word aligned. */
|
|
||||||
}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.LOADER_EXEC ADDR(.LOADER_REMAP) + SIZEOF(.LOADER_REMAP) :
|
|
||||||
AT (LOADADDR(.LOADER_REMAP) + SIZEOF(.LOADER_REMAP))
|
|
||||||
{
|
|
||||||
_loader_exec_start_base = .;
|
|
||||||
KEEP(Ctrl_Flow/main.o(.part1*));
|
|
||||||
KEEP(Driver/rtc.o(.part1*));
|
|
||||||
* (.part1)
|
|
||||||
_loader_exec_end_base = .;
|
|
||||||
}
|
|
||||||
_loader_exec_cpu_addr = LOADADDR(.LOADER_EXEC) + ADDR(.BOOT_EXEC);
|
|
||||||
_loader_exec_size = SIZEOF(.LOADER_EXEC);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.text 0x1000000:
|
|
||||||
AT (LOADADDR(.LOADER_EXEC) + SIZEOF(.LOADER_EXEC))
|
|
||||||
{
|
|
||||||
_loader_exec_compres_start = .;
|
|
||||||
_internal_strg_param_start = .;
|
|
||||||
*(.text*)
|
|
||||||
_loader_exec_compres_end = .;
|
|
||||||
}
|
|
||||||
_loader_exec_compress_load_base = LOADADDR(.text);
|
|
||||||
_loader_exec_compress_load_cpu_addr = LOADADDR(.text) + ADDR(.BOOT_EXEC);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx*)
|
|
||||||
*(.gnu.linkonce.armexidx.*)
|
|
||||||
}
|
|
||||||
. = ALIGN(4);
|
|
||||||
.rodata :
|
|
||||||
{
|
|
||||||
*(.rodata*)
|
|
||||||
. = ALIGN(8); /* This is MUST. Ensure ro size is 2 word aligned. */
|
|
||||||
}
|
|
||||||
.dram_text :
|
|
||||||
AT (LOADADDR(.rodata) + SIZEOF(.rodata))
|
|
||||||
{
|
|
||||||
_loader_dram_text_start_base = .;
|
|
||||||
* (.dram_text)
|
|
||||||
}
|
|
||||||
_loader_dram_text_cpu_addr = LOADADDR(.dram_text) + ADDR(.BOOT_EXEC);
|
|
||||||
_loader_dram_text_size = SIZEOF(.dram_text);
|
|
||||||
.data :
|
|
||||||
AT (LOADADDR(.dram_text) + SIZEOF(.dram_text))
|
|
||||||
{
|
|
||||||
_loader_data_start_base = .;
|
|
||||||
_load_general_var_base = .;
|
|
||||||
_image_general_var_base = .;
|
|
||||||
*(.data*)
|
|
||||||
_image_general_var_limit = .;
|
|
||||||
}
|
|
||||||
_loader_data_cpu_addr = LOADADDR(.data) + ADDR(.BOOT_EXEC);
|
|
||||||
_loader_data_size = SIZEOF(.data);
|
|
||||||
.dummy : { LONG (0x00000000) }
|
|
||||||
. = ALIGN(4);
|
|
||||||
.got : { *(.got) }
|
|
||||||
. = ALIGN(4);
|
|
||||||
.bss : { /* locate bss at DRAM end */
|
|
||||||
_image_general_zi_zi_base = .;
|
|
||||||
*(.bss)
|
|
||||||
. = ALIGN(0x4000);
|
|
||||||
_ttb = .;
|
|
||||||
. = . + 0x4000;
|
|
||||||
. = ALIGN(0x400);
|
|
||||||
_ttb_lv2 = .;
|
|
||||||
. = . + 0x400;
|
|
||||||
}
|
|
||||||
.common :
|
|
||||||
{
|
|
||||||
__common_base = ABSOLUTE(.);
|
|
||||||
/* collect "small" un-initialized global data (mark "C" in sym file) */
|
|
||||||
*(.scommon*)
|
|
||||||
/* collect "large" un-initialized global data (mark "B" in sym file) */
|
|
||||||
*(COMMON)
|
|
||||||
__common_limit = ABSOLUTE(.);
|
|
||||||
}
|
|
||||||
. = ALIGN(64);
|
|
||||||
_image_general_zi_zi_limit = ABSOLUTE(.);
|
|
||||||
_load_load_reset_base = .;
|
|
||||||
_image_load_reset_base = .;
|
|
||||||
_image_load_reset_length = .;
|
|
||||||
_image_load_reset_zi_base = .;
|
|
||||||
_image_load_reset_zi_limit = .;
|
|
||||||
. = ALIGN(64);
|
|
||||||
.loader_heap :
|
|
||||||
{
|
|
||||||
_loader_heap_base = .;
|
|
||||||
. += 0xA0000 + 0x20000 + 0x80000;
|
|
||||||
}
|
|
||||||
. = ALIGN(64);
|
|
||||||
_stack_start = .;
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user