2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2015-03-27 06:23:34 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2015 Atmel Corporation
|
|
|
|
* Bo Shen <voice.shen@atmel.com>
|
|
|
|
*/
|
|
|
|
|
2019-01-22 22:09:26 +00:00
|
|
|
MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE, \
|
|
|
|
LENGTH = IMAGE_MAX_SIZE }
|
2015-03-27 06:23:34 +00:00
|
|
|
MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
|
|
|
|
LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
|
|
|
|
|
|
|
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
|
|
OUTPUT_ARCH(arm)
|
|
|
|
ENTRY(_start)
|
|
|
|
SECTIONS
|
|
|
|
{
|
|
|
|
.text :
|
|
|
|
{
|
|
|
|
__start = .;
|
|
|
|
*(.vectors)
|
|
|
|
arch/arm/cpu/arm926ejs/start.o (.text*)
|
|
|
|
*(.text*)
|
|
|
|
} >.sram
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
.rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
|
|
|
|
|
2016-03-15 21:56:29 +00:00
|
|
|
. = ALIGN(4);
|
|
|
|
.u_boot_list : { KEEP(*(SORT(.u_boot_list*))) } > .sram
|
|
|
|
|
2015-03-27 06:23:34 +00:00
|
|
|
. = ALIGN(4);
|
|
|
|
__image_copy_end = .;
|
|
|
|
|
|
|
|
.end :
|
|
|
|
{
|
|
|
|
*(.__end)
|
|
|
|
} >.sram
|
|
|
|
|
2019-04-02 08:57:22 +00:00
|
|
|
_image_binary_end = .;
|
|
|
|
|
2015-03-27 06:23:34 +00:00
|
|
|
.bss :
|
|
|
|
{
|
|
|
|
. = ALIGN(4);
|
|
|
|
__bss_start = .;
|
|
|
|
*(.bss*)
|
|
|
|
. = ALIGN(4);
|
|
|
|
__bss_end = .;
|
|
|
|
} >.sdram
|
|
|
|
}
|
2018-11-28 09:33:43 +00:00
|
|
|
|
2019-01-22 22:09:26 +00:00
|
|
|
#if defined(IMAGE_MAX_SIZE)
|
2019-04-25 19:22:39 +00:00
|
|
|
ASSERT(__image_copy_end - __start <= (IMAGE_MAX_SIZE), \
|
2018-11-28 09:33:43 +00:00
|
|
|
"SPL image too big");
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(CONFIG_SPL_BSS_MAX_SIZE)
|
2019-04-25 19:22:39 +00:00
|
|
|
ASSERT(__bss_end - __bss_start <= (CONFIG_SPL_BSS_MAX_SIZE), \
|
2018-11-28 09:33:43 +00:00
|
|
|
"SPL image BSS too big");
|
|
|
|
#endif
|