summaryrefslogtreecommitdiff
path: root/tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py
diff options
context:
space:
mode:
authorJun Wako <wakojun@gmail.com>2015-04-24 16:26:14 +0900
committerJun Wako <wakojun@gmail.com>2015-04-24 16:26:14 +0900
commit1fe4406f374291ab2e86e95a97341fd9c475fcb8 (patch)
tree1be0e16b4b07b5a31ea97ec50a9eb13a288c3d27 /tool/mbed/mbed-sdk/workspace_tools/dev/intel_hex_utils.py
parenta20ef7052c6e937d2f7672dd59456e55a5c08296 (diff)
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
b9e0ea0 Merge commit '7fa9d8bdea3773d1195b04d98fcf27cf48ddd81d' as 'tool/mbed/mbed-sdk' 7fa9d8b Squashed 'tool/mbed/mbed-sdk/' content from commit 7c21ce5 git-subtree-dir: tmk_core git-subtree-split: b9e0ea08cb940de20b3610ecdda18e9d8cd7c552
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.py31
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()