Vai al contenuto
100% locale

Analizzatore Intel HEX

Convalida i record Intel HEX ed estrai i relativi dati come dump hex.

Ingresso

Analizzatore Intel HEX

Incolla un file Intel HEX - lo stile ":10010000214601360121470136007EFE09D2190140" che compilatori e programmatori producono per microcontrollori, EEPROM e altri target incorporati - e questo strumento controlla la struttura e il checksum di ogni record, quindi estrae i byte di dati come dump hex. È progettato per il funzionamento del firmware: verifica di un file .hex da un fornitore prima di eseguirne il flashing, controllo di una build per un record danneggiato dopo una fusione errata o lettura di byte grezzi senza aprire un editor hex.

Ogni riga viene analizzata come un record: un conteggio di byte, un indirizzo a 16 bit, un tipo di record (dati, fine file o uno dei segmenti/indirizzo lineare e record iniziali), i byte di dati e un checksum. Un record è valido quando il conteggio dei byte corrisponde ai dati presenti, il tipo di record viene riconosciuto con la lunghezza giusta per il suo tipo e la somma di ogni byte nel record risulta pari a zero modulo 256, la regola standard Intel HEX. I byte di dati di ogni record di dati valido vengono concatenati nell'ordine dei file e visualizzati come un classico dump hex: una colonna offset, sedici byte per riga e un margine ASCII stampabile sulla destra.

Sotto il dump, un rapporto di convalida elenca tutti i record non riusciti, per numero di riga, contrassegnati come struttura non valida (una riga che non è ben formata hex, ha un conteggio di byte che non corrisponde alla sua lunghezza o un tipo di record non riconosciuto) o un checksum errato. Una linea spezzata non ferma il resto del file: ogni altro record viene ancora controllato e, dove valido, contribuisce ancora con i suoi byte. Attiva "Maiuscolo hex" per eseguire il rendering del dump con A–F anziché a–f, corrispondendo a ciò che si aspetta il tuo programmatore o disassemblatore.

Tutto funziona nel tuo browser. Le immagini del firmware e i contenuti della EEPROM sono spesso proprietari, quindi nulla di ciò che viene incollato qui viene caricato: il file non lascia mai il tuo dispositivo.

FAQ

Cosa conta come checksum errato rispetto a un record non valido?
Un record non valido è un record la cui struttura è danneggiata: non inizia con ":", non è valido hex, il suo conteggio di byte non corrisponde alla sua lunghezza effettiva o il suo tipo di record non è riconosciuto. Un record con struttura valida ma un checksum la cui somma non è pari a zero mod 256 viene segnalato separatamente come checksum errato: i suoi dati vengono comunque estratti, poiché i byte stessi sono ben formati.
Quali tipi di record comprende?
Dati (00) e fine file (01), più l'indirizzo del segmento esteso, l'indirizzo del segmento iniziale, l'indirizzo lineare esteso e i record dell'indirizzo lineare iniziale (02–05). Solo i record di dati contribuiscono con byte all'output; gli altri sono convalidati per la struttura ma non riportano dati di output.
Come sono disposti i byte di dati nell'output?
Sono concatenati nell'ordine in cui i loro record appaiono nel file, non posizionati nei rispettivi indirizzi di record: l'output è il flusso di dati grezzi, non un'immagine della memoria.
Una riga interrotta interrompe l'analisi dell'intero file?
No. Ogni record viene controllato in modo indipendente, quindi una singola riga con formato non corretto o con checksum errato viene elencata nel rapporto di convalida mentre ogni altro record valido continua ad analizzare e contribuire con i propri byte.
Il mio file HEX è caricato ovunque?
No. L'analisi avviene interamente nel tuo browser: il firmware e i contenuti EEPROM che incolli qui non vengono mai inviati a un server.