SREC

SREC
Förlängning .s19, .s28, .s37, .s, .s1, .s2, .s3, eller .sx_.srec.mot
Utvecklaren Motorola
Formattyp filformat

SREC  är ett ASCII -textfilformat utvecklat av Motorola för lagring av binär data, ibland även kallat Motorola S-record eller S19 . Formatet har ett antal fördelar jämfört med binära format. ASCII-filer kan modifieras med en textredigerare. Dessutom innehåller varje post en kontrollsumma som gör att du kan identifiera fel som gjordes under dataöverföringen [1] .

Detta format utvecklades 1970 för Motorola 6800-processorn och används av många kompilatorer som slutresultatet av deras arbete, särskilt kompilatorer för inbyggda system.

En liknande kodning, med ett något modifierat ASCII-filformat, kallas Intel Hex och används för Intel-processorer .

Format

SREC-filen består av poster som är ASCII-tecken. Alla hexadecimala (Hex) tal skrivs som den mest signifikanta byten till vänster . Posterna har följande struktur:

  1. Start , ett tecken S .
  2. Record Type , en siffra, 0 till 9 , anger typen av datafält.
  3. Antal byte , två hexadecimala siffror som indikerar antalet byte i resten av posten (adress, datafält, kontrollsumma).
  4. Adress , fyra, sex eller åtta hexadecimala siffror som anger startadressen för datablocket för denna minnespost.
  5. Data , binär data kodad som hexadecimala tal med längden n byte.
  6. Checksumma , två hexadecimala tal, kompletterar FF summan av fältnumren: antal byte, adress och data. Behövs för att kontrollera dataintegriteten.

Det finns åtta typer av poster, som listas nedan:

Inspelning Sorts byte i adressen Ytterligare data
S0 Block rubrik 2 Det finns
S1 Datasekvens 2 Det finns
S2 Datasekvens 3 Det finns
S3 Datasekvens fyra Det finns
S5 Antal poster 2 Inte
S7 Blockände fyra Inte
S8 Blockände 3 Inte
S9 Blockände 2 Inte

Posten av typ S0 innehåller data från programutvecklaren och är inte relaterad till programkoden. Antalet poster lagras i ett 2-byte postadressfält av typen S5 . Adressfälten för poster av typen S7 , S8 , eller S9 kan innehålla startadresserna för programmet [2] .

Exempel

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      Inspelningstyp      Antal byte      Adress      Data      Kontrollera summan

Se även

Anteckningar

  1. srec - Linuxmanpage Arkiverad 21 juni 2007.
  2. MC68000 Family Programmers referensmanual Arkiverad 24 september 2015 på Wayback Machine Appendix C

Länkar

  • SRecord- program för att arbeta med SREC-filer