mirror of https://github.com/ARMmbed/mbed-os.git
32 lines
596 B
Python
32 lines
596 B
Python
from intelhex import IntelHex
|
|
from cStringIO import StringIO
|
|
|
|
|
|
def sections(h):
|
|
start, last_address = None, None
|
|
for a in h.addresses():
|
|
if last_address is None:
|
|
start, last_address = a, a
|
|
continue
|
|
|
|
if a > last_address + 1:
|
|
yield (start, last_address)
|
|
start = a
|
|
|
|
last_address = a
|
|
|
|
if start:
|
|
yield (start, last_address)
|
|
|
|
|
|
def print_sections(h):
|
|
for s in sections(h):
|
|
print "[0x%08X - 0x%08X]" % s
|
|
|
|
|
|
def decode(record):
|
|
h = IntelHex()
|
|
f = StringIO(record)
|
|
h.loadhex(f)
|
|
h.dump()
|