2010-02-21 08:12:52 +08:00
|
|
|
/*
|
|
|
|
-----------------------------------------------------------------------------
|
2022-01-06 09:19:46 +08:00
|
|
|
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.
|
2010-02-21 08:12:52 +08:00
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
Bootrom linker script
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
2019-08-08 22:57:33 +08:00
|
|
|
INCLUDE ../common_arm/ldscript.common
|
2010-02-21 05:24:25 +08:00
|
|
|
|
2010-02-27 05:40:27 +08:00
|
|
|
PHDRS
|
|
|
|
{
|
2019-03-09 17:42:03 +08:00
|
|
|
phase1 PT_LOAD;
|
|
|
|
phase2 PT_LOAD;
|
|
|
|
bss PT_LOAD;
|
2010-02-27 05:40:27 +08:00
|
|
|
}
|
|
|
|
|
2010-02-21 05:24:25 +08:00
|
|
|
ENTRY(flashstart)
|
|
|
|
SECTIONS
|
|
|
|
{
|
2019-03-09 17:42:03 +08:00
|
|
|
.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
|
2010-02-21 05:24:25 +08:00
|
|
|
}
|