Hexfile manipulation

>>> from ppci.format.hexfile import HexFile
>>> h = HexFile()
>>> h.add_region(0, bytes([1, 2, 3]))
>>> h.add_region(0x100, 'Hello world of hex'.encode('utf8'))
>>> h
Hexfile containing 21 bytes
>>> h.dump()
Hexfile containing 21 bytes
Region at 0x00000000 of 3 bytes
00000000  01 02 03                                          |...|
Region at 0x00000100 of 18 bytes
00000100  48 65 6c 6c 6f 20 77 6f  72 6c 64 20 6f 66 20 68  |Hello.world.of.h|
00000110  65 78                                             |ex|

Reference

Module to work with intel hex files.

This module can be used to work with intel hexfiles.

class ppci.format.hexfile.HexFile

Represents an intel hexfile

add_region(address, data)

Add a chunk of data at the given address

dump(contents=False)

Print info about this hexfile

static load(open_file)

Load a hexfile from file

save(f)

Save hexfile to file-like object

write_hex_line(line)

Write a single hexfile line

exception ppci.format.hexfile.HexFileException

Exception raised when hexfile handling fails

class ppci.format.hexfile.HexFileRegion(address, data=b'')

A continuous region of data starting at some address

add_data(data)

Add data to this region

end_address

End address for this region

size

The size of this region

class ppci.format.hexfile.HexLine(address, typ, data=b'')

A single line in a hexfile

classmethod from_line(line: str)

Parses a hexfile line into three parts

to_line() → str

Create an ascii hex line