Sări la conținut
Complet local

Analizator Intel HEX

Validați înregistrările Intel HEX și extrageți datele lor ca un dump hex.

Intrare
Ieșire

Analizator Intel HEX

Lipiți un fișier Intel HEX — stilul „:10010000214601360121470136007EFE09D2190140” pe care compilatorii și programatorii le produc pentru microcontrolere, EEPROM-uri și alte ținte încorporate - și acest instrument verifică fiecare înregistrare, apoi extrage datele de verificare după ZQX1, ca și structura ZQX. haldă. Este creat pentru funcționarea firmware-ului: verificarea unui fișier .hex de la un furnizor înainte de a-l flash, verificarea unei versiuni pentru o înregistrare coruptă după o îmbinare greșită sau citirea octeților bruti fără a deschide un editor hex.

Fiecare linie este analizată ca o singură înregistrare: un număr de octeți, o adresă de 16 biți, un tip de înregistrare (date, sfârșit de fișier sau unul dintre segmentul/adresa liniară și înregistrările de început), octeții de date și o sumă de control. O înregistrare este validă atunci când numărul de octeți se potrivește cu datele prezente, tipul său de înregistrare este recunoscut cu lungimea potrivită pentru tipul său și suma fiecărui octet din înregistrare iese la zero modulo 256 - regula standard Intel HEX. Octeții de date din fiecare înregistrare de date validă sunt concatenați în ordinea fișierelor și redați ca un dump clasic hex: o coloană offset, șaisprezece octeți pe rând și un jgheab imprimabil ASCII în partea dreaptă.

Sub dump, un raport de validare listează fiecare înregistrare care a eșuat, după numărul de linie, etichetată fie ca o structură incorectă (o linie care nu este bine formată hex, are un număr de octeți care nu se potrivește cu lungimea sa, fie un tip de înregistrare nerecunoscut) sau o sumă de verificare greșită. O linie întreruptă nu oprește restul fișierului: fiecare altă înregistrare este încă verificată și, acolo unde este valabilă, contribuie în continuare cu octeții săi. Activați „Uppercase hex” pentru a reda dump-ul cu A–F în loc de a–f, potrivit cu ceea ce se așteaptă programatorul sau dezasamblatorul.

Totul rulează în browserul tău. Imaginile firmware și conținutul EEPROM sunt adesea proprietare, așa că nimic din lipire aici nu este încărcat - fișierul nu părăsește niciodată dispozitivul dvs.

FAQ

Ce contează ca o sumă de control proastă față de o înregistrare incorectă?
O înregistrare malformată este una a cărei structură este ruptă: nu începe cu „:”, nu este validă hex, numărul de octeți nu se potrivește cu lungimea reală sau tipul de înregistrare nu este recunoscut. O înregistrare cu structură validă, dar o sumă de control care nu se însumează la zero mod 256 este raportată separat ca o sumă de control proastă - datele sale sunt încă extrase, deoarece octeții înșiși sunt bine formați.
Ce tipuri de înregistrări înțelege?
Date (00) și sfârșitul fișierului (01), plus adresa segmentului extins, adresa segmentului de început, adresa liniară extinsă și înregistrările de adresă liniară de început (02–05). Numai înregistrările de date contribuie cu octeți la ieșire; celelalte sunt validate pentru structură, dar nu transportă date de ieșire.
Cum sunt așezați octeții de date în ieșire?
Ele sunt concatenate în ordinea în care apar înregistrările lor în fișier, nu sunt plasate la adresele lor de înregistrare - rezultatul este fluxul de date brute, nu o imagine de memorie.
O linie întreruptă oprește parsarea întregului fișier?
Nu. Fiecare înregistrare este verificată independent, astfel încât o singură linie de sumă de control defectă sau greșită este listată în raportul de validare, în timp ce orice altă înregistrare validă încă analizează și contribuie cu octeții săi.
Fișierul meu HEX este încărcat undeva?
Nu. Analiza are loc în întregime în browserul dvs. — firmware-ul și conținutul EEPROM pe care le lipiți aici nu sunt niciodată trimise la un server.