mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
Only re-compile version.c as often as necessary
Make bootrom version information pointer a proper symbol (with hacky ld strangeness workaround)
This commit is contained in:
parent
0fa9ca5b53
commit
4271e82d56
7 changed files with 33 additions and 21 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
# DO NOT use thumb mode in the phase 1 bootloader since that generates a section with glue code
|
||||
ARMSRC = fromflash.c
|
||||
THUMBSRC = usb.c version.c bootrom.c
|
||||
THUMBSRC = usb.c bootrom.c
|
||||
ASMSRC = ram-reset.s flash-reset.s
|
||||
|
||||
# Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC
|
||||
|
@ -10,7 +10,7 @@ include ../common/Makefile.common
|
|||
|
||||
all: $(OBJDIR)/bootrom.s19
|
||||
|
||||
$(OBJDIR)/bootrom.elf: $(ASMOBJ) $(ARMOBJ) $(THUMBOBJ)
|
||||
$(OBJDIR)/bootrom.elf: $(VERSIONOBJ) $(ASMOBJ) $(ARMOBJ) $(THUMBOBJ)
|
||||
$(LD) -g -Tldscript-flash --oformat elf32-littlearm -Map=$(patsubst %.elf,%.map,$@) -o $@ $^
|
||||
|
||||
clean:
|
||||
|
|
|
@ -5,7 +5,7 @@ SECTIONS
|
|||
{
|
||||
. = 0;
|
||||
|
||||
bootphase1 : {
|
||||
.bootphase1 : {
|
||||
*(.startup)
|
||||
*(.bootphase1)
|
||||
|
||||
|
@ -15,14 +15,17 @@ SECTIONS
|
|||
of the version information at the end of the section.
|
||||
-- Henryk Plötz <henryk@ploetzli.ch> 2009-08-28 */
|
||||
|
||||
_version_information_start = .;
|
||||
_version_information_start = ABSOLUTE(.);
|
||||
*(.version_information);
|
||||
|
||||
. = LENGTH(bootphase1) - 0x4; /* Skip ahead to the end */
|
||||
/* Why doesn't this work even though _bootphase1_version_pointer = 0x1001fc?
|
||||
. = _bootphase1_version_pointer - ORIGIN(bootphase1); */
|
||||
/* This works, apparently it fools the linker into accepting an absolute address */
|
||||
. = _bootphase1_version_pointer - ORIGIN(bootphase1) + ORIGIN(bootphase1);
|
||||
LONG(_version_information_start)
|
||||
} >bootphase1
|
||||
|
||||
bootphase2 : {
|
||||
.bootphase2 : {
|
||||
__bootphase2_start__ = .;
|
||||
*(.startphase2)
|
||||
*(.text)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue