mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-12-27 10:34:08 +08:00
44676bde72
* Add `.ramfunc` section to bootrom loader script * exclude spiffs functionality from flashmem.h/flashmem.c (allows bootrom to use flashmem) * hide unused tick.h / flashmem.h functions from bootrom (not technically necessary; see comments) * bootrom: add source files, include path, and defines when `PLATFORM_DEFS` defines `WITH_FLASH` * Define `AS_BOOTROM` to indicate code is building for bootrom
75 lines
1.9 KiB
Text
75 lines
1.9 KiB
Text
/*
|
|
-----------------------------------------------------------------------------
|
|
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.*)
|
|
*(.ramfunc)
|
|
. = 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
|
|
}
|