]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge pull request #89 from pwpiwi/image_shrink
authorpwpiwi <pwpiwi@users.noreply.github.com>
Tue, 31 Mar 2015 20:57:33 +0000 (22:57 +0200)
committerpwpiwi <pwpiwi@users.noreply.github.com>
Tue, 31 Mar 2015 20:57:33 +0000 (22:57 +0200)
Reclaim more than 19K of ARM flash memory.

Makefile
armsrc/Makefile
armsrc/ldscript
common/ldscript.common

index 101212b49c0a7fbf3aadbe27033a68d1057ca47f..b558da2d74a5dfcdbadd47d3bb37a89ae3eb7b47 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,8 +23,8 @@ help:
        @echo + all           - Make bootrom, armsrc and the OS-specific host directory
        @echo + client        - Make only the OS-specific host directory
        @echo + flash-bootrom - Make bootrom and flash it
-       @echo + flash-os      - Make armsrc and flash os
-       @echo + flash-fpga    - Make armsrc and flash fpga
+       @echo + flash-os      - Make armsrc and flash os (includes fpga)
+       @echo + flash-fpga    - (Deprecated:) Make armsrc and flash fpga
        @echo + flash-both    - Make armsrc and flash os and fpga image
        @echo + flash-all     - Make bootrom and armsrc and flash bootrom, os and fpga image
        @echo + clean         - Clean in bootrom, armsrc and the OS-specific host directory
@@ -37,13 +37,13 @@ flash-bootrom: bootrom/obj/bootrom.elf $(FLASH_TOOL)
 flash-os: armsrc/obj/osimage.elf $(FLASH_TOOL)
        $(FLASH_TOOL) $(FLASH_PORT) $(subst /,$(PATHSEP),$<)
 
-flash-fpga: armsrc/obj/fpgaimage.elf $(FLASH_TOOL)
-       $(FLASH_TOOL) $(FLASH_PORT) $(subst /,$(PATHSEP),$<)
+#flash-fpga: armsrc/obj/fpgaimage.elf $(FLASH_TOOL)
+#      $(FLASH_TOOL) $(FLASH_PORT) $(subst /,$(PATHSEP),$<)
 
-flash-both: armsrc/obj/osimage.elf armsrc/obj/fpgaimage.elf $(FLASH_TOOL)
+flash-both: armsrc/obj/osimage.elf $(FLASH_TOOL)
        $(FLASH_TOOL) $(FLASH_PORT) $(subst /,$(PATHSEP),$(filter-out $(FLASH_TOOL),$^))
 
-flash-all: bootrom/obj/bootrom.elf armsrc/obj/osimage.elf armsrc/obj/fpgaimage.elf $(FLASH_TOOL)
+flash-all: bootrom/obj/bootrom.elf armsrc/obj/osimage.elf $(FLASH_TOOL)
        $(FLASH_TOOL) $(FLASH_PORT) -b $(subst /,$(PATHSEP),$(filter-out $(FLASH_TOOL),$^))
 
 newtarbin:
index 75ccdece2c3b130d395d83e677ae5c90a7bf4e3e..899b03075af35d1d51a0d61f318d1028959ae09f 100644 (file)
@@ -10,7 +10,7 @@ APP_INCLUDES = apps.h
 
 #remove one of the following defines and comment out the relevant line
 #in the next section to remove that particular feature from compilation  
-APP_CFLAGS     = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS -DWITH_LEGICRF -DWITH_HITAG  -DWITH_CRC -DON_DEVICE -fno-strict-aliasing
+APP_CFLAGS     = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS -DWITH_LEGICRF -DWITH_HITAG  -DWITH_CRC -DON_DEVICE -fno-strict-aliasing -ffunction-sections -fdata-sections
 #-DWITH_LCD 
 
 #SRC_LCD = fonts.c LCD.c
@@ -51,7 +51,8 @@ APP_CFLAGS += -I.
 # Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC
 include ../common/Makefile.common
 
-OBJS = $(OBJDIR)/osimage.s19 $(OBJDIR)/fpgaimage.s19
+OBJS = $(OBJDIR)/osimage.s19 
+#$(OBJDIR)/fpgaimage.s19
 
 all: $(OBJS)
 
@@ -64,11 +65,11 @@ $(OBJDIR)/fpga_hf.o: fpga_hf.bit
 $(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga_lf.o $(OBJDIR)/fpga_hf.o $(THUMBOBJ) $(ARMOBJ)
        $(CC) $(LDFLAGS) -Wl,-T,ldscript,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS)
 
-$(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fullimage.elf
-       $(OBJCOPY) -F elf32-littlearm --only-section .fpgaimage $^ $@  
+#$(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fullimage.elf
+#      $(OBJCOPY) -F elf32-littlearm --only-section .fpgaimage $^ $@  
 
 $(OBJDIR)/osimage.elf: $(OBJDIR)/fullimage.elf
-       $(OBJCOPY) -F elf32-littlearm --remove-section .fpgaimage $^ $@
+       $(OBJCOPY) -F elf32-littlearm $^ $@
 
 tarbin: $(OBJS)
        $(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(OBJS:%=armsrc/%) $(OBJS:%.s19=armsrc/%.elf)
index d0be3b6a0c25d991e0793888f8ea340cbad9fded..840b819643dcb21e49b7fc4159f138706e142fb6 100644 (file)
@@ -11,8 +11,7 @@ INCLUDE ../common/ldscript.common
 
 PHDRS
 {
-       fpgaimage PT_LOAD FLAGS(4);
-       text PT_LOAD;
+       text PT_LOAD FLAGS(5);
        data PT_LOAD;
        bss PT_LOAD;
 }
@@ -20,11 +19,6 @@ PHDRS
 ENTRY(Vector)
 SECTIONS
 {
-       .fpgaimage : {
-               *(fpga_lf_bit.data)
-               *(fpga_hf_bit.data)
-       } >fpgaimage :fpgaimage
-
        .start : {
                *(.startos)
        } >osimage :text
@@ -40,6 +34,8 @@ SECTIONS
        .rodata : {
                *(.rodata)
                *(.rodata.*)
+               *(fpga_lf_bit.data)
+               *(fpga_hf_bit.data)
                KEEP(*(.version_information))
        } >osimage :text
 
index f1b63550df86f05f50625a4e0fb2be5891d506c7..ea57ec24986fd43d33558413788f8afe63309b3b 100644 (file)
@@ -1,6 +1,7 @@
 /*
 -----------------------------------------------------------------------------
- This code is licensed to you under the terms of the GNU GPL, version 2 or,
+ This code is licensed to you under the ter 
+ms of the GNU GPL, version 2 or,
  at your option, any later version. See the LICENSE.txt file for the text of
  the license.
 -----------------------------------------------------------------------------
@@ -13,8 +14,7 @@ MEMORY
 {
        bootphase1 : ORIGIN = 0x00100000, LENGTH = 0x200             /* Phase 1 bootloader: Copies real bootloader to RAM */
        bootphase2 : ORIGIN = 0x00100200, LENGTH = 0x2000 - 0x200    /* Main bootloader code, stored in Flash, executed from RAM */
-       fpgaimage  : ORIGIN = 0x00102000, LENGTH = 96k - 0x2000      /* Place where the FPGA image will end up */
-       osimage    : ORIGIN = 0x00118000, LENGTH = 256K - 96k        /* Place where the main OS will end up */
+       osimage    : ORIGIN = 0x00102000, LENGTH = 256K - 0x2000     /* Place where the main OS will end up */
        ram        : ORIGIN = 0x00200000, LENGTH = 64K - 0x20        /* RAM, minus small common area */
        commonarea : ORIGIN = 0x00200000 + 64K - 0x20, LENGTH = 0x20 /* Communication between bootloader and main OS */
 }
Impressum, Datenschutz