Ir para o conteúdo
Totalmente local

Analisador Intel HEX

Valide os registros Intel HEX e extraia seus dados como um dump hex.

Entrada

Analisador Intel HEX

Cole um arquivo Intel HEX - o estilo ": 10010000214601360121470136007EFE09D2190140" que compiladores e programadores produzem para microcontroladores, EEPROMs e outros alvos incorporados - e esta ferramenta verifica a estrutura e a soma de verificação de cada registro e, em seguida, extrai os bytes de dados como um despejo hex. Ele foi desenvolvido para funcionar com firmware: verificar um arquivo .hex de um fornecedor antes de atualizá-lo, verificar se há um registro corrompido em uma compilação após uma mesclagem incorreta ou ler bytes brutos sem abrir um editor hex.

Cada linha é analisada como um registro: uma contagem de bytes, um endereço de 16 bits, um tipo de registro (dados, fim de arquivo ou um dos segmentos/endereço linear e registros iniciais), os bytes de dados e uma soma de verificação. Um registro é válido quando sua contagem de bytes corresponde aos dados presentes, seu tipo de registro é reconhecido com o comprimento correto para seu tipo e a soma de cada byte no registro chega a zero módulo 256 – a regra padrão Intel HEX. Os bytes de dados de cada registro de dados válido são concatenados na ordem dos arquivos e renderizados como um dump hex clássico: uma coluna de deslocamento, dezesseis bytes por linha e uma medianiz ASCII imprimível à direita.

Abaixo do dump, um relatório de validação lista todos os registros que falharam, por número de linha, marcados como uma estrutura malformada (uma linha que não é hex bem formada, tem uma contagem de bytes que não corresponde ao seu comprimento ou um tipo de registro não reconhecido) ou uma soma de verificação incorreta. Uma linha quebrada não interrompe o resto do arquivo: todos os outros registros ainda são verificados e, quando válidos, ainda contribuem com seus bytes. Ative "hex maiúsculo" para renderizar o dump com A–F em vez de a–f, correspondendo ao que seu programador ou desmontador espera.

Tudo roda no seu navegador. As imagens de firmware e o conteúdo da EEPROM geralmente são proprietários, portanto, nada colado aqui é carregado – o arquivo nunca sai do seu dispositivo.

FAQ

O que conta como uma soma de verificação incorreta versus um registro malformado?
Um registro malformado é aquele cuja estrutura está quebrada: não começa com ":", não é válido hex, sua contagem de bytes não corresponde ao seu comprimento real ou seu tipo de registro não é reconhecido. Um registro com estrutura válida, mas uma soma de verificação que não soma zero mod 256 é relatado separadamente como uma soma de verificação incorreta - seus dados ainda são extraídos, uma vez que os próprios bytes estão bem formados.
Quais tipos de registro ele entende?
Dados (00) e fim de arquivo (01), mais o endereço de segmento estendido, endereço de segmento inicial, endereço linear estendido e registros de endereço linear inicial (02–05). Somente registros de dados contribuem com bytes para a saída; os outros são validados quanto à estrutura, mas não carregam dados de saída.
Como os bytes de dados são dispostos na saída?
Eles são concatenados na ordem em que seus registros aparecem no arquivo, e não colocados em seus endereços de registro — a saída é o fluxo de dados brutos, não uma imagem de memória.
Uma linha quebrada impede a análise de todo o arquivo?
Não. Cada registro é verificado de forma independente, portanto, uma única linha malformada ou com soma de verificação incorreta é listada no relatório de validação enquanto todos os outros registros válidos ainda analisam e contribuem com seus bytes.
Meu arquivo HEX foi carregado em algum lugar?
A análise acontece inteiramente no seu navegador – o conteúdo do firmware e da EEPROM que você cola aqui nunca é enviado para um servidor.