Il formato dei file HEX nei microcontrollori

Il file HEX al microscopio: la struttura dei file in formato INHX8M.

Il formato dei file HEX

Il formato HEX di Intel (INHX8M) è quello generato dalla maggior parte dei compilatori ed è idoneo ad essere scaricato  direttamente  nella  memoria  del micro. Il formato prevede che il file sia composto da righe aventi la seguente formattazione:

:BBAAAATTHHHH……HHCC

Ciascuna linea inizia con i due punti (scritti in formato ASCII).
BB sono due byte che indicano il numero di bytes contenuti nella riga. Nel caso del PIC tali byte vanno da 0x00 a 0x10.
AAAA è un indirizzo esadecimale di quattro  byte e rappresenta l’indirizzo a partire dal quale verranno scritti i dati che seguono.
TT indica il tipo di record:

  • 00 - I dati contenuti nella riga sono bytes di dati
  • 01 - Ultima riga del file
  • 02 - Extended segment address record (non usato)
  • 03 - Start segment address record (non usato)
  • 04 - Extended linear address record (non usato)
  • 05 - Start linear address record (non usato)

HH sono due cifre esadecimali (8 bit) che rappresentano i bytes dei dati;
CC è il checksum: la somma di tutti i bytes più il byte di checksum, esclusi i riporti, deve dare come risultato un multiplo  di 256. Ad esempio, il codice seguente per un PIC16F877

ORG 0x17A
MOVLW 0xFF
MOVWF PORTB
BSF STATUS, RP0
MOVWF TRISA CLRF TRISB
BCF STATUS, RP0

viene tradotto nella linea di file HEX di figura 1.

Figura 1. Un esempio di file HEX

Figura 1. Un esempio di file HEX

Approfittane ora!

2 Commenti

  1. Maurizio Di Paolo Emilio Maurizio 16 Gennaio 2016
  2. Giovanni Di Maria Giovanni Di Maria 18 Gennaio 2016

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend