77 lines
1.6 KiB
ArmAsm
77 lines
1.6 KiB
ArmAsm
/*
|
|
* Copyright (C) 2018 Marvell International Ltd.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
* https://spdx.org/licenses
|
|
*/
|
|
|
|
#include <platform_def.h>
|
|
|
|
OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT)
|
|
OUTPUT_ARCH(PLATFORM_LINKER_ARCH)
|
|
ENTRY(ble_main)
|
|
|
|
MEMORY {
|
|
RAM (rwx): ORIGIN = BLE_BASE, LENGTH = BLE_LIMIT - BLE_BASE
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
. = BLE_BASE;
|
|
|
|
ro . : {
|
|
__RO_START__ = .;
|
|
*ble_main.o(.entry*)
|
|
*(.text*)
|
|
*(.rodata*)
|
|
__RO_END_UNALIGNED__ = .;
|
|
__RO_END__ = .;
|
|
} >RAM
|
|
|
|
/*
|
|
* Define a linker symbol to mark start of the RW memory area for this
|
|
* image.
|
|
*/
|
|
__RW_START__ = . ;
|
|
|
|
.data . : {
|
|
__DATA_START__ = .;
|
|
*(.data*)
|
|
__DATA_END__ = .;
|
|
} >RAM
|
|
|
|
stacks . (NOLOAD) : {
|
|
__STACKS_START__ = .;
|
|
*(tzfw_normal_stacks)
|
|
__STACKS_END__ = .;
|
|
} >RAM
|
|
|
|
.bss : {
|
|
__BSS_START__ = .;
|
|
*(.bss*)
|
|
__BSS_END__ = .;
|
|
} >RAM
|
|
|
|
/*
|
|
* Extend the BLE binary to the maximum size allocated for it in platform
|
|
* definition files and prevent overlapping between BLE BSS section and
|
|
* additional extensions that can follow the BLE in flash image preamble.
|
|
* This situation happens for instance when secure extension is added to
|
|
* the image preamble.
|
|
*/
|
|
.fill LOADADDR(.bss) + SIZEOF(.bss) : {
|
|
FILL(0xDEADC0DE);
|
|
. = ORIGIN(RAM) + LENGTH(RAM) - 1;
|
|
BYTE(0x00)
|
|
} >RAM
|
|
|
|
/*
|
|
* Define a linker symbol to mark end of the RW memory area for this
|
|
* image.
|
|
*/
|
|
__RW_END__ = .;
|
|
__BLE_END__ = .;
|
|
|
|
__BSS_SIZE__ = SIZEOF(.bss);
|
|
}
|