Szybkie linki:
 
Galeria serwisu:

Widzisz łapkę - kliknij w obrazek, aby zobaczyć więcej.

Strona z grafiką.

Intel HEX – format danych programowania mikrokontrolerów
Intel HEX – tekstowy format pliku zawierający dane binarne, stosowany przy programowaniu mikrokontrolerów - systemów wbudowanych, pamięci EEPROM, FLASH. Jest najstarszym tego typu formatem, stosowanym od lat 70. XX wieku.
Opis formatu - dane w postaci hexadecymalnej zapisane są w liniach w postaci tekstowej.Każda z linii zawiera 6 pól:
1. Znacznik rozpoczynający, jeden znak ASCII - dwukropek ":",
2. Liczba bajtów, dwie cyfry hexadecymalne, określające długość rekordu danych,
3. Adres, cztery cyfry hexadecymalne, 16 bitowy adres, umożliwiający zaadresowanie do 64K pamięci w jednym segmencie (zapisany w formacie Big Endian)
4. Typ rekordu, dwie cyfry hexadecymalne w przedziale od 00 do 05,
5. Dane, sekwencja danych, gdzie bajt zapisany jest w hexadecymalnej postaci tekstowej,
6. Suma kontrolna, dwie cyfry hexadecymalne, suma kontrolna rekordu - cały rekord poza ":".
Przykład obliczenia sumy kontrolnej dla wartości rekordu: 0300300002337A1E 03 + 00 + 30 + 00 + 02 + 33 + 7A = E2, po uzupełnieniu do dwóch (U2) otrzymujemy - 1E (w systemie szesnastkowym: 100 - E2 = 1E). Innymi słowy najmniej znaczący bajt sumy wszystkich bajtów w jednym rekordzie musi wynosić 0.
03 + 00 + 30 + 00 + 02 + 33 + 7A + 1E = 100, najmniej znaczący bajt jest równy 0.

Typ rekordu - Istnieje sześć różnych typów rekordów:
00 - rekord zawierający dane oraz 16 bitowy adres,
01 - koniec pliku, ostatni rekord,
02 - rekord adresu segmentu rozszerzonego (20 bitów adresu), używany do adresowania do 1MB (pole adresowe jest równe 0000, w danych umieszczony jest 2 bajtowy adres zapisany w kolejności big endian, który pomnożony przez 2^4 dodawany jest do adresów rekordów typu 00 następujących po nim)
03 - rekord ustawiający 20 bitowy adres, spod którego rozpocznie się wykonywanie kodu. Zawiera on parę rejestrów CS (pierwsze 2 bajty danych) i IP (2 pozostałe bajty). Może zostać użyty tylko w trybie rzeczywistym. Jeżeli adres nie zostanie podany, wykonanie kodu rozpocznie się od domyślnego adresu.
04 - rekord adresu segmentu rozszerzonego (32 bity adresu), używany do adresowania do 4GB (podobnie do 02 lecz 2 bajtowy adres z pola danych mnożony jest przez 2^16)
05 - rekord ustawiający 32 bitowy adres liniowy, spod którego rozpocznie się wykonywanie kodu (Rejestr EIP). Może zostać użyty tylko w trybie chronionym. Jeżeli adres nie zostanie podany, wykonanie kodu rozpocznie się od domyślnego adresu.

Przykład pliku Intel hex:


Warto poszukać metod, podpowiedzi i sposobów dla prostej obsługi mikrokontrolerów.




Licznik serwisu: 12612 , Aktualnie: 1 , Admin kontakt: admin@progel.pl