Neperduotų dvejetainių duomenų į „Intel HEX" keitiklis
Neperduotų dvejetainių baitų srautų (application/octet-stream) konvertavimas į tekstinius „Intel HEX" atminties įrašus leidžia mikrovaldiklių programuotojams tiksliai įrašyti aparatinės įrangos programinę-aparatinę įrangą.
Formatų palyginimas ir techninės specifikacijos
| Specifikacija | BIN | HEX |
|---|---|---|
| MIME tipas | application/octet-stream | text/plain |
| Tipas | raw binary byte stream | hexadecimal memory record |
| Glaudinimas | none | none |
| Standartinė specifikacija | Raw Binary Byte Stream Specification | Intel HEX-32 Object Format |
| Maginės baitų antraštės (Magic Bytes) | Raw arbitrary binary bytes | :[0-9A-Fa-f]{8} (Intel HEX colon record format) |
Formato apžvalga ir taikymas
Įterptųjų sistemų inžinieriai ir aparatinės įrangos kūrėjai dažnai transformuoja neapdorotus atminties vaizdus į „Intel HEX" formatą, kad įkeltų programinę įrangą į tokius mikrovaldiklius kaip „PIC", „AVR" ir „8051" lustai. Neapdorotuose dvejetainiuose failuose saugomos tik mašininės instrukcijos be jokių adreso susiejimų. Mikrovaldiklių programuotojai negali nuskaityti neapdorotų dvejetainių duomenų, jei nežinomas specifinis atminties paskirties adresas. „Intel HEX" formatas išsprendžia šią problemą, supakuodamas dvejetainius duomenis į skaitomas ASCII teksto eilutes. Kiekvienoje eilutėje yra tam tikri laukai atminties adresui, duomenų ilgiui, įrašo tipui ir kontrolinė suma duomenų klaidoms aptikti. Atminties programavimo ir aparatinės įrangos derinimo įrankiai remiasi šia struktūra, kad perkeltų baitus į teisingas lusto atminties vietas.
Techninės specifikacijos ir kodekų apžvalga
Neapdoroti dvejetainiai (BIN) failai naudoja MIME tipą application/octet-stream ir susideda iš nepertraukiamo nesuformatuotų baitų srauto be jokių magiškųjų baitų parašų antraščių, metaduomenų ar konteinerio struktūros. „Intel HEX" (HEX) failai naudoja MIME tipą text/plain ir užkoduoja tuos pačius dvejetainius baitus į šešioliktaines ASCII teksto eilutes. Nė vienas formatas nenaudoja vidinio suspaudimo, todėl konvertavimas tarp jų yra visiškai be nuostolių. Kiekvienas mašininio kodo baitas tiesiogiai atvaizduojamas iš neapdoroto srauto į šešioliktainių simbolių poras „Intel HEX" įrašo struktūroje.
OS ir naršyklės suderinamumas
„Intel HEX" failai veikia bet kurioje operacinėje sistemoje, nes jie yra paprasti teksto dokumentai. Galite juos atidaryti ir redaguoti teksto rengyklėse „Windows", „macOS" ir „Linux" sistemose. Specializuoti įterptojo kūrimo įrankiai, tokie kaip „MPLAB", „AVRDUDE" ir „Keil uVision", natūraliai skaito „Intel HEX" failus mikrovaldikliams programuoti. Šiuolaikinės žiniatinklio naršyklės taip pat gali apdoroti šiuos teksto keitimus lokaliai, naudodamos „JavaScript FileReader" sąsajas, nereikalaudamos jokių serverio įkėlimų.
💡 Naudinga informacija
Prieš konvertuodami neapdorotą dvejetainį failą į „Intel HEX", visada patikrinkite pradinį atminties adreso poslinkį. Jei jūsų paskirties mikrovaldiklis tikisi, kad kodas prasidės 0x0000 atminties adresu, įsitikinkite, kad keitimo įrankis teisingai sulygiuoja duomenis, kad išvengtumėte paleidimo trikčių.
Formatų palyginimas ir techninės specifikacijos
Standartinis 64 KB mikrovaldiklio programinės-aparatinės įrangos failas yra itin mažas. 64 KB „Intel HEX" teksto failo perkėlimas užtrunka mažiau nei 0,01 sekundės naudojant 4G ryšį, 5G tinklą arba didelės spartos šviesolaidinį ryšį.
Dažnai užduodami klausimai
Kaip konvertuoti neapdorotus dvejetainius duomenis į „Intel HEX" neprarandant kokybės?
Konvertavimas yra 100 procentų be nuostolių, nes abu formatai saugo neapdorotus baitų duomenis nenaudodami suspaudimo algoritmų. Kiekviena atskira instrukcija neapdorotame dvejetainiame sraute tiksliai atvaizduojama išvesties failo šešioliktainiuose teksto įrašuose.
Kuo skiriasi neapdoroti dvejetainiai duomenys ir „Intel HEX"?
Neapdorotieji dvejetainiai duomenys yra kompaktiškas, nesuformatuotas neapdorotų baitų srautas be jokios adreso informacijos. „Intel HEX" yra tekstinis formatas, organizuojantis tuos pačius baitus į skaitomas ASCII eilutes, kuriose yra pradžios adresai, baitų kiekiai ir klaidų tikrinimo kontrolinės sumos.