diff --git a/SConscript.firmware b/SConscript.firmware index 9b112c56..180b1ec8 100644 --- a/SConscript.firmware +++ b/SConscript.firmware @@ -429,6 +429,7 @@ program_bin = env.Command( target='firmware.bin', source=program_elf, action=[ - '$OBJCOPY -O binary -j .header -j .flash -j .data $SOURCE $TARGET', - '$BINCTL $TARGET -s 1:2 `$COMBINE_SIGN firmware $TARGET 4747474747474747474747474747474747474747474747474747474747474747 4848484848484848484848484848484848484848484848484848484848484848`', + '$OBJCOPY -O binary -j .vendorheader -j .header -j .flash -j .data $SOURCE $TARGET', + '$OBJCOPY -O binary -j .header -j .flash -j .data $SOURCE build/firmware/firmware.bin.novhdr', + '$BINCTL $TARGET -s 1:2 `$COMBINE_SIGN firmware build/firmware/firmware.bin.novhdr 4747474747474747474747474747474747474747474747474747474747474747 4848484848484848484848484848484848484848484848484848484848484848`', ], ) diff --git a/embed/firmware/memory.ld b/embed/firmware/memory.ld index ddc3a8ee..326c64ed 100644 --- a/embed/firmware/memory.ld +++ b/embed/firmware/memory.ld @@ -33,8 +33,11 @@ _heap_start = ADDR(.heap); _heap_end = ADDR(.heap) + SIZEOF(.heap); SECTIONS { - .header : ALIGN(4) { + .vendorheader : ALIGN(4) { KEEP(*(.vendorheader)) + } >FLASH AT>FLASH + + .header : ALIGN(4) { KEEP(*(.header)); } >FLASH AT>FLASH