Конвертор от HEX към BIN
Конвертирането на текстови файлове Intel HEX в сурови двоични потоци от байтове премахва обвивките за ASCII форматиране, за да подготви кода за директно програмиране на флаш паметта на микроконтролера.
Сравнение на формати и технически спецификации
| Спецификация | HEX | BIN |
|---|---|---|
| MIME тип | text/ | application/ |
| Тип | шестнадесетичен запис на паметта | суров двоичен поток от байтове |
| Компресия | няма | няма |
| Стандартна спецификация | Обектен формат Intel HEX-32 | Спецификация на суров двоичен байтов поток |
| Заглавни байтове (Magic Bytes) | :[0-9A-Fa-f]{8} (Intel HEX colon record format) | Raw arbitrary binary bytes |
Преглед на формата и приложения
Записите Intel HEX съдържат адреси, брой байтове, типове записи и контролни суми. При преобразуване в суров двоичен формат тази рамка от записи се премахва и се получават отново байтовете с данни; празнините в адресите и избраният базов адрес влияят върху подредбата на изходния образ. Използвайте Intel HEX, когато програматорът трябва да разполага с явни адреси в паметта.
Технически спецификации и анализ на кодеците
Intel HEX използва MIME типа text/plain и кодира всеки байт данни, както и адреса в паметта, с два ASCII знака наред с начални кодове, индикатори за дължина и контролни суми. За разлика от него, суровият двоичен формат използва application/octet-stream и представлява неформатирана последователност от действителни байтове данни. Нито един от двата формата не използва компресия, затова и двата са без загуба. Файловете Intel HEX нямат магическа сигнатура, но винаги започват с двоеточие в ASCII. Суровите двоични файлове също нямат магически заглавки или футъри; те съдържат само суровите байтове данни, предназначени за целевата карта на паметта. Алгоритъмът за конвертиране прочита всеки ред на Intel HEX, анализира ASCII шестнадесетичните двойки, проверява контролната сума на записа и записва получените двоични байтове директно на посоченото отместване в паметта.
Съвместимост с операционни системи и браузъри
Операционни системи като Windows, macOS и Linux се справят лесно с това конвертиране чрез командни инструменти като objcopy или потребителски скриптове. Съвременните уеб браузъри могат да изпълняват превода локално, използвайки JavaScript и FileReader API, което позволява на разработчиците да конвертират файлове директно в уеб базирани среди за разработка. Мобилните операционни системи нямат нативни инструменти за команден ред за флашване, но уеб приложенията, работещи на iOS и Android, могат да обработват конвертирането, ако е необходимо за отдалечени полеви актуализации.
Полезна информация
Винаги проверявайте адресите на отместване в паметта във Вашия Intel HEX файл, преди да го конвертирате в суров двоичен формат, тъй като разпръснатите сегменти в паметта ще оставят празнини, запълнени с нулеви байтове, в получения двоичен файл и така може да увеличат размера му.
Често задавани въпроси
Как се конвертира Intel HEX в суров двоичен формат без загуба на данни?
И двата формата съхраняват точни машинни инструкции без компресия, затова преобразуването е изцяло без загуба. То просто премахва ASCII текстовите обвивки и контролните суми, като оставя основния двоичен код непокътнат.
Каква е разликата между Intel HEX и суровия двоичен код?
Intel HEX е ASCII текстов формат, който включва маркери за адреси, брой байтове и кодове за проверка на грешки за четимост от човека и безопасно предаване. Суровият двоичен код е изображение на паметта, съдържащо само суровите машинни байтове, готови за директно изпълнение от процесор.