Intel HEX

Intel HEX is een bestandsformaat voor het programmeren van microcontrollers, EPROM en andere circuits. Het dateert uit de jaren '70, is een van de oudste vormen voor dit doel.

Is een tekstbestand waarvan regels bevatten hexadecimale coderen van gegevens, en offset of het geheugen adres.

Verschillende types van Intel Hex verschillen in endianness.

Elke lijn bestaat uit de volgende elementen:

  • Boot code, een symbool ''
  • Recordlengte, twee hexadecimale cijfers het aantal bytes in het dataveld. Ze zijn meestal 16 of 32 bytes.
  • Adres, vier hexadecimale cijfers in grote endian, met de start adres van de gegevens. Voor meer adressen aan 0xFFFF andere opname types worden gebruikt.
  • Soort record, twee hexadecimale cijfers, 00-05, bepalen de aard van de veldgegevens
  • Dataparen van hexadecimale cijfers die gegevens bevatten
  • Checksum twee hexadecimale cijfers in complement van de som van alle bovengenoemde gebieden twee, behoudens ''.

Er zijn zes soorten records:

  • 00, data, bevat een 16 bits adres en bijbehorende gegevens
  • 01 Einde van het bestand bevat geen data en moet aan het einde van het bestand.
  • 02 Extended segment adres, segment basis adres, een routebeschrijving naar toegang tot meer dan 16 bits. Deze waarde wordt verschoven 4 bits naar links en draagt ​​bij aan het adres dat door de gegevensrecords. De lengte veld moet de moeite waard 02 en de besturing 0000 zijn.
  • 03 Segment Start Adres specificeert de initiële waarden van de registers CS: IP, voor 80x86 processors. Het adresveld is 0000, lengte 04 en de data bevat twee bytes voor codesegment en twee voor het instructieverwijzing
  • 04 Extended Address Linear, 32-bits adressering maakt geheugen naar de bovenste 16 bits van het adres bevatten. Uw adresveld 0000 en de moeite waard 02 lengte.
  • 05 Start Linear Adres. Bevat 4 bytes die in het EIP worden geladen registreren 80.386 en hoger. Uw adresveld 0000 en de moeite waard 04 lengte.

Verschillende sub-formaten:

  • I8HEX of INTEL 8 van 8 bits
  • I16HEX of INTEL 16 van 16 bits. Gebruikte platen 02 en 03, en de endianness van de gegevens kan variëren.
  • I32HEX of INTEL 32, 32 bits. Records toevoegen 04 en 05.

De Motorola-processors maken gebruik van een vergelijkbaar formaat genaamd SREC.

Voorbeeld

Start Code Lengte Adres gegevens checksum Record soort

(0)
(0)
Vorige artikel Adolfo Arata
Volgende artikel Titaancarbide

Commentaren - 0

Geen reacties

Voeg een Commentaar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tekens over: 3000
captcha