Převod BIN na HEX

Převod proudů surových binárních bajtů typu application/octet-stream na textové záznamy paměti Intel HEX umožňuje programátorům mikrokontrolérů přesně nahrát firmware do hardwaru.

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V

Zatímco čekáte na soubory, můžete si zahrát Code Rain

Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Porovnání formátů a technické specifikace

SpecifikaceBINHEX
MIME typapplication/octet-streamtext/plain
Typsurový binární proud bajtůhexadecimální záznam paměti
Kompresežádnážádná
Standardní specifikaceSpecifikace proudu surových binárních bajtůObjektový formát Intel HEX-32
Hlavička souboru (Magic bytes)Raw arbitrary binary bytes:[0-9A-Fa-f]{8} (Intel HEX colon record format)

Přehled formátu a použití

Inženýři vestavěných systémů a vývojáři hardwaru často transformují surové paměťové výpisy do formátu Intel HEX, aby mohli nahrát software do mikrokontrolérů, jako jsou čipy PIC, AVR a 8051. Surové binární soubory ukládají pouze surové strojové instrukce bez jakéhokoli mapování adres. Programátoři mikrokontrolérů nemohou číst surové binární výpisy, pokud není známa konkrétní cílová adresa paměti. Formát Intel HEX tento problém řeší zabalením binárních dat do čitelných řádků ASCII textu. Každý řádek obsahuje specifická pole pro adresu paměti, délku dat, typ záznamu a kontrolní součet pro zachycení chyb dat. Programátory flash pamětí a nástroje pro ladění hardwaru spoléhají na tuto strukturu, aby umístily bajty na správná místa v paměti čipu.

Technické specifikace a přehled kodeků

Soubory Raw Binary (BIN) používají typ MIME application/octet-stream a skládají se z nepřetržitého proudu neformátovaných bajtů bez hlaviček magických bajtů, metadat nebo kontejnerové struktury. Soubory Intel HEX (HEX) používají typ MIME text/plain a kódují tytéž binární bajty do řádků hexadecimálního ASCII textu. Ani jeden formát nepoužívá vnitřní kompresi, což znamená, že převod mezi nimi je zcela bezztrátový. Každý jednotlivý bajt strojového kódu se mapuje přímo ze surového proudu do dvojic hexadecimálních znaků uvnitř struktury záznamu Intel HEX.

Kompatibilita s operačními systémy a prohlížeči

Soubory Intel HEX fungují v libovolném operačním systému, protože se jedná o obyčejné textové dokumenty. Můžete je otevřít a upravovat v textových editorech v systémech Windows, macOS a Linux. Specializované nástroje pro vývoj vestavěných systémů, jako jsou MPLAB, AVRDUDE a Keil uVision, nativně čtou soubory Intel HEX pro programování mikrokontrolérů. Moderní webové prohlížeče mohou také zpracovávat tyto textové převody lokálně pomocí rozhraní JavaScript FileReader API bez nutnosti nahrávání na server. Podpora se také liší podle aplikace, zařízení, operačního systému a jeho verze.

Užitečné informace

Před konverzí surového binárního souboru do formátu Intel HEX vždy ověřte počáteční posun adresy paměti. Pokud váš cílový mikrokontrolér očekává spuštění kódu na adrese paměti 0x0000, ujistěte se, že váš konverzní nástroj data správně zarovná, aby nedošlo k selhání spouštění.

Často kladené otázky

Jak převést surová binární data na Intel HEX bez ztráty kvality?

Soubory Raw Binary (BIN) používají typ MIME application/octet-stream a skládají se z nepřetržitého proudu neformátovaných bajtů bez hlaviček magických bajtů, metadat nebo kontejnerové struktury. Soubory Intel HEX (HEX) používají typ MIME text/plain a kódují tytéž binární bajty do řádků hexadecimálního ASCII textu. Ani jeden formát nepoužívá vnitřní kompresi, což znamená, že převod mezi nimi je zcela bezztrátový. Každý jednotlivý bajt strojového kódu se mapuje přímo ze surového proudu do dvojic hexadecimálních znaků uvnitř struktury záznamu Intel HEX.

Jaký je rozdíl mezi surovými binárními daty a formátem Intel HEX?

Surová binární data jsou kompaktní, neformátovaný proud surových bajtů bez informací o adrese. Intel HEX je textový formát, který organizuje tyto stejné bajty do čitelných řádků ASCII obsahujících počáteční adresy, počty bajtů a kontrolní součty pro kontrolu chyb.