Преимущество для шестнадцатеричных форматов, таких как SREC или Intel HEX

Я хочу спросить, может ли кто-нибудь объяснить мне преимущества использования шестнадцатеричных форматов (например, Motorola S-Record или Intel HEX) по сравнению с использованием прямых двоичных образов, например, для прошивки или дампов памяти?

Я понимаю, что полезно иметь некоторую мета-информацию о бинарном файле, например, об используемых областях памяти, контрольных суммах для целостности данных и т. д. Однако факт, что фактический размер данных удваивается, потому что все будет сохранено в шестнадцатеричном ASCII представительство меня смущает.

Является ли причиной использования представления hex-ASCII только переносимость, чтобы предотвратить проблемы с системами, которые имеют другой порядок следования байтов, или есть другие преимущества?

Я нашел для этой темы много руководств о том, как преобразовать двоичный файл в шестнадцатеричный и обратно, или спецификации определенных форматов, но никакой информации о преимуществах и недостатках.


person Andreas    schedule 22.06.2017    source источник


Ответы (1)


Форматы HEX-ASCII имеют несколько преимуществ перед бинарными изображениями. Вот парочка для начала.

  1. Транспорт. Файл ASCII можно передавать через большинство носителей. Двоичные файлы могут не передаваться неповрежденными через некоторые носители.
  2. Проверки на валидность. Файл HEX имеет контрольную сумму в каждой строке. Двоичный файл может не иметь никаких проверок.
  3. Размер. Данные записываются в выбранный адрес памяти в шестнадцатеричном файле. Двоичный образ имеет ограниченную адресную информацию и, вероятно, будет содержать каждую ячейку памяти от начального адреса до конца файла.
person BitSmith    schedule 21.07.2017
comment
1, 2, 3: хорошая пара для начала :-) - person linuxfan says Reinstate Monica; 07.09.2020