Я надеюсь использовать intelhex
, но не полностью понимаю, что нужно передать, чтобы просто преобразовать весь файл.Как конвертировать весь файл hex в корзину?
В test-usage.py
:
import os
import sys
from intelhex import hex2bin
with open("foo.hex", "r") as fin:
start = 0
end = 218
size = None
pad = None
print("start: {}\nend: {}\nsize: {}\npad: {}".format(start, end, size, pad))
hex2bin(fin, sys.stdout, start, end, size, pad)
Ошибка:
start: 0
end: 218
size: None
pad: None
Traceback (most recent call last):
File "./test-usage.py", line 19, in <module>
hex2bin(fin, sys.stdout, start, end, size, pad)
File "/home/me/myvenv/lib/python3.4/site-packages/intelhex/__init__.py", line 1001, in hex2bin
h.tobinfile(fout, start, end)
File "/home/me/myvenv/lib/python3.4/site-packages/intelhex/__init__.py", line 412, in tobinfile
fobj.write(self._tobinstr_really(start, end, pad, size))
TypeError: must be str, not bytes
foo.hex
заимствован из here:
:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF
http://python-intelhex.readthedocs.org/en/latest/part3-1.html
Usage of hex2bin in the example script source.
Вопросы, относящиеся к поиску справки по отладке (** «почему этот код не работает?» **) должен включать в себя желаемое поведение, * конкретную проблему или ошибку * и * самый короткий код, необходимый * для воспроизведите его ** в самом вопросе **. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). – MattDMo
Пожалуйста, определите оба формата и дайте примеры данных. –
@MattDMo лучше? – tarabyte