S-Record

S-Record (cunoscut și sub numele de KERS sau S19 ) este un fișier binar în format de reprezentare în ASCII dezvoltat în anii 1970 de către compania Motorola . A fost apoi folosit pentru programarea microprocesorului Motorola 6800 . Formatul textual oferă multe avantaje față de formatul binar: poate fi tipărit, inspectat sau editat cu un editor de text obișnuit. Aceste fișiere sunt utilizate pentru a transfera programe către programatori pentru EPROM în comunicații seriale ( RS-232 ).

Este încă utilizat în calculul de bord , precum și echivalentul său dezvoltat în același timp de compania Intel , formatul HEX (Intel) .

Format

Un fișier format S-Record este format din linii relativ scurte de caractere ASCII („înregistrare”) care încep cu caracterul „S” (de unde și numele), conținând perechi de caractere hexazecimale și se termină cu o linie nouă . Toate numerele hexazecimale sunt în endian mare .

Structura fiecărei înregistrări este după cum urmează:

  1. S , personajul care începe înregistrarea
  2. - , un număr de la 0 la 9 care definește tipul de înregistrare.
  3. NN , numărul de octeți de date conținute în înregistrare (inclusiv adresa și suma de control ). Este o pereche de cifre hexazecimale.
  4. AAAA , AAAAAA sau AAAAAAAA , o adresă de 2, 3 sau 4 octeți reprezentată de 4, 6 sau 8 cifre hexazecimale ( endian mare ). Aceasta este adresa de memorie a primului octet de date.
  5. - - - - ... , o succesiune de perechi de cifre hexazecimale reprezentând octeți de date.
  6. NN , o sumă de control (în engleză, checksum ) două cifre hexazecimale care reprezintă complementul la FF (hexazecimal) al celui mai puțin semnificativ octet al sumei octeților care reprezintă numărul de octeți de date, adresa și datele.

Există 8 tipuri de înregistrări:

Înregistrare Descriere Adresă octeți Secvența de date
S0 Antet bloc 2 da
S1 Secvența de date 2 da
S2 Secvența de date 3 da
S3 Secvența de date 4 da
S5 Numărul de înregistrări 2 Nu
S7 Sfârșitul blocului 4 Nu
S8 Sfârșitul blocului 3 Nu
S9 Sfârșitul blocului 2 Nu

Înregistrarea S0 conține mai degrabă date specifice producătorului decât date binare. Numărul de înregistrări conținute în S5 se află în câmpul de adresă pe doi octeți. Câmpul de adresă S7 , S8 sau S9 poate conține adresa de pornire a programului.

Exemplu

S00F000068656C6C6F202020202000003C S11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026 S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9 S111003848656C6C6F20776F726C642E0A0042 S5030003F9 S9030000FC

Vezi și tu

Referințe

  1. (en) srec - Motorola S - înregistrarea înregistrării și formatul fișierului (pagina manuală Linux)
  2. (în) Manual de referință pentru programatorul familiei MC68000 Anexa C

linkuri externe