US 11,789,708 B2
Compression of firmware updates
Hannu Mallat, Hyvinkää (FI)
Assigned to Silicon Laboratories Inc., Austin, TX (US)
Filed by Silicon Laboratories Inc., Austin, TX (US)
Filed on Apr. 22, 2021, as Appl. No. 17/237,538.
Prior Publication US 2022/0350576 A1, Nov. 3, 2022
Int. Cl. G06F 8/40 (2018.01); H03M 7/30 (2006.01); G06F 8/65 (2018.01)
CPC G06F 8/40 (2013.01) [G06F 8/65 (2013.01); H03M 7/3059 (2013.01); H03M 7/3088 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method of creating a patch file that transforms an old firmware image into a new firmware image, comprising:
analyzing an ELF (Executable Linkable Format) file associated with the new firmware image to identify functions within the new firmware image;
matching a function in the new firmware image with a corresponding function in the old firmware image based on edit distance;
identifying differences between the function in the new firmware image and the corresponding function in the old firmware image;
creating an edit sequence based on the differences, wherein, when the edit sequence is executed on the function in the old firmware image, the edit sequence transforms the function in the old firmware image into the function in the new firmware image;
converting edit sequence to a set of opcodes, each opcode comprising at least one parameter; and
repeating the matching, identifying, creating and converting steps for each function in the new firmware image.