Formato de arquivo hexadecimal

Formato de arquivo hexadecimal

O Intel hex (ihex) geralmente conhecido como arquivo hexadecimal, é um formato usado para armazenar código de linguagem de máquina em formato hexadecimal. É um formato amplamente utilizado para armazenar programas a serem transferidos para microcontroladores, ROM e EEPROM. Os compiladores convertem os programas escritos em assembly, C etc. em arquivos hexadecimais correspondentes, que são despejados nos controladores usando gravadores/programadores. Este artigo explora os detalhes do formato de arquivo hexadecimal.
O microcontrolador entende a linguagem de máquina que consiste em zeros e uns. É difícil e praticamente impossível para os humanos escreverem códigos em zeros e uns. Portanto, usamos algumas linguagens de alto nível como C, C++, Java, etc. E posteriormente um compilador é usado para converter esses códigos em linguagem de máquina que são armazenados em um formato de arquivo hexadecimal. A arquivo hexadecimal é um arquivo de texto com extensão .hex.
Imagem de um arquivo hexadecimal mostrado como texto

Figura 1: Imagem de um arquivo hexadecimal mostrado como texto

A imagem acima mostra um típico arquivo hexadecimal quando aberto com o bloco de notas ou qualquer outro editor de texto. Cada linha segue uma estrutura específica explicada abaixo.
:CCAAAATTXXXXX……XXSS
Exemplo:

:100000000C942A000C9434000C9434000C943400AA

1. Cada linha em um arquivo hexadecimal sempre começa com dois pontos (:)
2. Os dois primeiros dígitos CC (contagem de caracteres) representa o número total de bytes de dados nessa linha. Aqui neste exemplo, 10 (hexadecimal) são os dois primeiros dígitos, o que significa que há 16 bytes (em decimal) de dados na linha.
3. Os próximos quatro dígitos representam o endereço inicial da memória onde os dados armazenados na linha precisam ser despejados. 4. Após o endereço, os próximos dois dígitos representam se esta é a última linha do código ou não. TT=0, significa que o código não está completo e há mais linhas após esta linha e TT=1 significa que esta é a última linha do código.
5. XXXX…..XX são os bytes de dados que devem ser despejados na memória. O número de bytes de dados em uma linha específica é igual ao número indicado pelos dígitos de contagem de caracteres (CC).
6. SS é o byte da soma de verificação dessa linha.
O arquivo hexadecimal é um arquivo de texto para que seja possível alterar facilmente o conteúdo de um arquivo hexadecimal. A linha corrompida pode ser identificada usando o byte de soma de verificação (SS).

Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachte, dass Kommentare vor der Veröffentlichung freigegeben werden müssen.