proxmark3/bootrom/ldscript-flash
2022-01-06 02:20:38 +01:00

75 lines
1.9 KiB
Plaintext

/*
-----------------------------------------------------------------------------
Copyright (C) Jonathan Westhues, Mar 2006
Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See LICENSE.txt for the text of the license.
-----------------------------------------------------------------------------
Bootrom linker script
-----------------------------------------------------------------------------
*/
INCLUDE ../common_arm/ldscript.common
PHDRS
{
phase1 PT_LOAD;
phase2 PT_LOAD;
bss PT_LOAD;
}
ENTRY(flashstart)
SECTIONS
{
.bootphase1 : {
*(.startup)
. = ALIGN(4);
_version_information_start = .;
KEEP(*(.version_information));
. = LENGTH(bootphase1) - 0x4;
LONG(_version_information_start);
} >bootphase1 :phase1
.bootphase2 : {
*(.startphase2)
*(.text)
*(.text.*)
*(.eh_frame)
*(.glue_7)
*(.glue_7t)
*(.rodata)
*(.rodata.*)
*(.data)
*(.data.*)
. = ALIGN(4);
} >ram AT>bootphase2 :phase2
__bootphase2_src_start__ = LOADADDR(.bootphase2);
__bootphase2_start__ = ADDR(.bootphase2);
__bootphase2_end__ = __bootphase2_start__ + SIZEOF(.bootphase2);
.bss : {
__bss_start__ = .;
*(.bss)
*(.bss.*)
. = ALIGN(4);
__bss_end__ = .;
} >ram AT>ram :bss
.commonarea (NOLOAD) : {
*(.commonarea)
} >commonarea
}