Intel HEX

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14. joulukuuta 2017 tarkistetusta versiosta . tarkastukset vaativat 23 muokkausta .

Intel HEX  on tiedostomuoto, joka on suunniteltu esittämään mielivaltaisia ​​binääritietoja tekstimuodossa. Historiallisista syistä se on de facto standardi erilaisten muistilla varustettujen mikropiirien ( mikro -ohjaimet , ROM , EEPROM jne.) vilkkumiseen. Näin ollen useimmat laiteohjelmistokuvien valmistelutyökalut ( kääntäjät , editorit, katseluohjelmat jne.) voivat toimia tämän muodon kanssa.

Tiedostolla on yleensä tunniste .hex. Nimiä I8HEX, I16HEX ja I32HEX käytetään joskus tunnistamaan tiedostossa käytetty tietuejoukko. I8HEX käyttää vain merkintöjä, joiden tyyppi on 00/01 (16-bittinen osoitus), I16HEX lisää merkinnät 02/03 (20-bittinen osoitus) ja I32HEX lisää merkinnät 04/05 (32-bittinen osoitus).

Muodin etuna (toisin kuin yksinkertaisessa binäärimuodossa) on kyky määrittää vain tietyt osoitealueet ( tavutarkkuudella ). Monissa mikrokontrolleriarkkitehtuureissa on useita ohjelmointialueita, joiden välillä on laajoja osoiterakoja.

Tallennusmuoto

Selitys yksi

Tiedosto koostuu ASCII - tekstiriveistä. Jokainen rivi edustaa yhtä merkintää. Jokainen merkintä alkaa kaksoispisteellä ( : ), jota seuraa joukko heksadesimaalilukuja , jotka ovat tavun kerrannaisia :

Selitys kaksi

Intel HEX -tiedosto voi sisältää minkä tahansa määrän merkintöjä. Jokainen merkintä on ASCII -merkkijono, joka koostuu useista heksadesimaalilukupareista. Merkkijonon tulee alkaa kaksoispisteellä ja päättyä CR- ja LF-merkkien pariin. Tietue koostuu viidestä kentästä seuraavassa muodossa:

: LL AAAA TT DD… CC

Jokainen kirjainryhmä (LL, AAAA, TT jne.) on erillinen kenttä. Jokainen kirjain on erillinen heksadesimaaliluku (4 bittiä). Jokainen kenttä koostuu vähintään kahdesta heksadesimaalinumerosta (yhdestä tavusta). Alla on erittely ennätyskentistä:

Segmentin osoitemerkintä

Intel HEX -muotoinen tiedosto voi sisältää Intel 8086 -suorittimien merkintöjä, jotka määrittävät segmentin osoitteen (toisin sanoen kappaleen numero, yksi kappale on 16 tavua). Jos käytetään H167-direktiiviä, tämä tietuetyyppi korvaa laajennetun lineaarisen osoitetietueen. Kappaleen numeroa käytetään osoitteen siirtymänä kaikille tätä tietuetta seuraaville tietueille. Offset on osoitteen siirtyminen neljä bittiä vasemmalle. Esimerkiksi siirtymä 0x1234 antaisi todellisen osoitteen 0x12340. Tallennusesimerkki:

: 02 0000 02 1000 EY

missä:

Laajennettu osoitemerkintä

Kun H167-direktiiviä käytetään, Intel HEX -muotoinen tiedosto saattaa sisältää laajennettuja lineaarisia osoitemerkintöjä. Tämä merkintätyyppi määrittää absoluuttisen osoitteen kahden merkittävimmän tavun arvot (bitit 16-31). Näitä kahta tärkeintä osoitteen tavua käytetään osoitepoikkeamana kaikille tätä tietuetta seuraaville tietueille. Tallennusesimerkki:

: 02 0000 04 00FF FB

missä:

Tiedoston lopun tallennus

Intel HEX -muotoisissa tiedostoissa on oltava End of File (EOF) -merkintä.

Tallennusesimerkki:

: 00 0000 01FF_ _

missä:

Esimerkkejä

Esimerkki 1

: 10 0100 00 214601360121470136007EFE09D21901 40 : 10 0110 00 2146017EB7C20001FF5F160021480119 88 : 10 0120 00 194E79234623965778239EDA3F01B2CA A7 : 10 0130 00 3F0156702B5E712B722B732146013421 C7 : 00 0000 01 FF

     Aloita nauhottaminen      Tietotavumäärä tässä merkinnässä (rivi)      Osoite, josta tämän tietueen tietoja aletaan sijoittaa      Tietueen tyyppi      Data      Kirjaa tarkistussumma

Esimerkki 2

Esimerkki yhdestä tietueesta:

: 10 2462 00 464C5549442050524F46494C4500464C 33

missä

Esimerkki 3

:020000021000EC :10C20000E0A5E6F6FDFFE0AEE00FE6FCFDFFE6FD93 :10C21000FFFFF6F50EFE4B66F2FA0CFEF2F40EFE90 :10C22000F04EF05FF06CF07DCA0050C2F086F097DF :10C23000F04AF054BCF5204830592D02E018BB03F9 :020000020000FC :04000000FA00000200 :00000001FF

     Tietue segmentin osoitteella (tietuetyyppi 02). 2 tavua dataa sisältävät suurimman osan osoitteesta.      Tietueet datalla (tietuetyyppi 00).      Tietue, joka merkitsee tiedoston lopun (tietuetyyppi 01). Tämän merkinnän jälkeiset rivit ohitetaan.

Katso myös

Linkit