diff options
Diffstat (limited to 'tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py')
-rw-r--r-- | tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py b/tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py new file mode 100644 index 0000000000..c60e9c4e74 --- /dev/null +++ b/tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py @@ -0,0 +1,31 @@ +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() |