SREC

SREC
Rozšíření .s19, .s28, .s37, .s, .s1, .s2, .s3, nebo .sx_.srec.mot
Vývojář Motorola
Typ formátu formát souboru

SREC  je formát textového souboru ASCII vyvinutý společností Motorola pro ukládání binárních dat, někdy také nazývaný Motorola S-record nebo S19 . Formát má oproti binárním formátům řadu výhod. Soubory ASCII lze upravit pomocí textového editoru. Každý záznam navíc obsahuje kontrolní součet, který umožňuje identifikovat chyby, ke kterým došlo při přenosu dat [1] .

Tento formát byl vyvinut v roce 1970 pro procesor Motorola 6800 a je používán mnoha kompilátory jako konečný výsledek jejich práce, zejména kompilátory pro vestavěné systémy.

Podobné kódování s mírně upraveným formátem souboru ASCII se nazývá Intel Hex a používá se pro procesory Intel .

Formát

Soubor SREC se skládá ze záznamů, které jsou znaky ASCII. Všechna hexadecimální (hexadecimální) čísla jsou zapsána jako nejvýznamnější bajt vlevo . Záznamy mají následující strukturu:

  1. Start , jeden znak S .
  2. Typ záznamu , jedna číslice, 0 až 9 , určuje typ datového pole.
  3. Počet bajtů , dvě hexadecimální číslice udávající počet bajtů ve zbývající části záznamu (adresa, datové pole, kontrolní součet).
  4. Adresa , čtyři, šest nebo osm hexadecimálních číslic určujících počáteční adresu datového bloku této položky paměti.
  5. Data , binární data zakódovaná jako hexadecimální čísla o délce n bytů.
  6. Kontrolní součet , dvě hexadecimální čísla, doplňuje k FF součet čísel polí: počet bajtů, adresa a data. Je potřeba zkontrolovat integritu dat.

Existuje osm typů záznamů, které jsou uvedeny níže:

Záznam Typ bajtů v adrese Další údaje
S0 Záhlaví bloku 2 Tady je
S1 Datová sekvence 2 Tady je
S2 Datová sekvence 3 Tady je
S3 Datová sekvence čtyři Tady je
S5 Počet záznamů 2 Ne
S7 Konec bloku čtyři Ne
S8 Konec bloku 3 Ne
S9 Konec bloku 2 Ne

Záznam typu S0 obsahuje data vývojáře programu a nesouvisí s kódem programu. Počet záznamů je uložen ve 2bajtovém poli adresy záznamu typu S5 . Adresová pole záznamů typu S7 , S8 nebo S9 mohou obsahovat počáteční adresy programu [2] .

Příklad

S 0 0F 0000 68656C6C6F20202020200000 3C S 1 1F 0000 7C0802A6900100049421FFF07C6C1B787C8C23783C60000038630000 26 S 1 1F 001C 4BFFFFE5398000007D83637880010014382100107C0803A64E800020 E9 S 1 11 0038 48656C6C6F20776F726C642E0A00 42 S 5 03 0003F9 S 9 03 0000FC

     Start      Typ záznamu      Počet bajtů      Adresa      Data      Kontrolní součet

Viz také

Poznámky

  1. srec – manuálová stránka Linuxu Archivováno 21. června 2007.
  2. MC68000 Family Programmer's Reference Manual Archivováno 24. září 2015 na Wayback Machine Appendix C

Odkazy