HEX konvertálása BIN formátumba
Az Intel HEX szöveges fájlok nyers bináris bájtfolyamokká alakítása eltávolítja az ASCII-formázást, és előkészíti a kódot a mikrokontroller flashmemóriájának közvetlen programozására.
Formátum-összehasonlítás és műszaki specifikációk
| Specifikáció | HEX | BIN |
|---|---|---|
| MIME-típus | text/ | application/ |
| Típus | hexadecimális memóriabejegyzés | nyers bináris bájtfolyam |
| Tömörítés | nincs | nincs |
| Szabványos specifikáció | Intel HEX-32 objektumformátum | Nyers bináris bájtfolyam-specifikáció |
| Fájlfejléc azonosító bájtjai | :[0-9A-Fa-f]{8} (Intel HEX colon record format) | Raw arbitrary binary bytes |
A formátum áttekintése és alkalmazási területei
Az Intel HEX-rekordok címeket, bájtszámokat, rekordtípusokat és ellenőrző összegeket tartalmaznak. Nyers binárissá alakításkor a rekordkeret eltűnik, és a kimenet adatbájtokból áll. A címek közötti hézagok és a megadott kezdőcím befolyásolják a kimeneti lemezkép elrendezését. Intel HEX-et akkor használjon, ha a programozónak explicit memóriacímekre van szüksége.
Műszaki specifikációk és kodekáttekintés
Az Intel HEX a text/plain MIME-típust használja; az adatbájtokat és memóriacímeket két ASCII-karakterrel kódolja, kezdőkódokkal, hosszjelölőkkel és ellenőrző összegekkel együtt. Ezzel szemben a nyers bináris az application/octet-stream MIME-típust használja, és formázatlan tényleges adatbájtok sorozatát tartalmazza. Egyik formátum sem tömörít, ezért mindkettő veszteségmentes. Az Intel HEX fájloknak nincs fájlazonosító bájtos aláírásuk, bár mindig ASCII-kettősponttal kezdődnek. A nyers bináris fájloknak sincs fejlécük vagy láblécük, csak a célmemóriatérképbe szánt adatbájtokat tartalmazzák. Az átalakító algoritmus beolvassa az Intel HEX minden sorát, feldolgozza az ASCII-hexadecimális párokat, ellenőrzi a rekord ellenőrző összegét, majd a kapott bináris bájtokat közvetlenül a megadott memóriaeltolásra írja.
Operációs rendszer- és böngésző-kompatibilitás
Az olyan operációs rendszerek, mint a Windows, a macOS és a Linux, parancssori segédprogramokkal, például az objcopyval, vagy egyéni parancsfájlokkal könnyen elvégzik ezt az átalakítást. A modern webböngészők helyben is átalakíthatják a fájlokat JavaScript és a FileReader API használatával, így a fejlesztők közvetlenül webes fejlesztőkörnyezetekben dolgozhatnak velük. A mobileszközök operációs rendszereiből hiányoznak a natív parancssori programozóeszközök, de az iOS-en és Androidon futó webalkalmazások távoli helyszíni frissítésekhez is elvégezhetik az átalakítást.
Hasznos információk
Nyers binárissá alakítás előtt mindig ellenőrizze az Intel HEX-fájl memóriacímeinek eltolását, mert a szétszórt memóriaszegmensek között nullákkal feltöltött hézagok keletkeznek a kimeneti binárisban, és megnőhet a fájlméret.
Gyakran ismételt kérdések
Hogyan alakítható át az Intel HEX nyers binárissá minőségromlás nélkül?
Mindkét formátum tömörítés nélkül tárolja a gépi utasításokat, így az átalakítás veszteségmentes. Az átalakítás eltávolítja az ASCII-szöveg körítését és az ellenőrző összegeket, miközben az alapul szolgáló bináris kód teljesen sértetlen marad.
Mi a különbség az Intel HEX és a nyers bináris között?
Az Intel HEX ASCII-szöveges formátum, amely címjelölőket, bájtszámokat és adathibákat jelző kódokat tartalmaz, így könnyen olvasható és biztonságosan továbbítható. A nyers bináris olyan memóriakép, amely csak a processzor általi közvetlen végrehajtásra kész gépi bájtokat tartalmaz.