SREC

SREC
Udvidelse .s19, .s28, .s37, .s, .s1, .s2, .s3, eller .sx_.srec.mot
Udvikler Motorola
Formattype filformat

SREC  er et ASCII -tekstfilformat udviklet af Motorola til lagring af binære data, også nogle gange kaldet Motorola S-record eller S19 . Formatet har en række fordele i forhold til binære formater. ASCII-filer kan ændres med en teksteditor. Derudover indeholder hver indtastning en kontrolsum, der giver dig mulighed for at identificere fejl, der blev begået under datatransmission [1] .

Dette format blev udviklet i 1970 til Motorola 6800-processoren og bruges af mange compilere som slutresultatet af deres arbejde, især compilere til indlejrede systemer.

En lignende kodning, med et let modificeret ASCII-filformat, kaldes Intel Hex og bruges til Intel-processorer .

Formater

SREC-filen består af poster, der er ASCII-tegn. Alle hexadecimale (Hex) tal skrives som den mest signifikante byte til venstre . Posterne har følgende struktur:

  1. Start , et tegn S.
  2. Record Type , et ciffer, 0 til 9 , angiver typen af ​​datafelt.
  3. Antal bytes , to hexadecimale cifre, der angiver antallet af bytes i resten af ​​indtastningen (adresse, datafelt, kontrolsum).
  4. Adresse , fire, seks eller otte hexadecimale cifre, der angiver startadressen for datablokken for denne hukommelsespost.
  5. Data , binære data kodet som hexadecimale tal med længden n bytes.
  6. Checksum , to hexadecimale tal, supplerer FF summen af ​​feltnumrene: antal bytes, adresse og data. Nødvendig for at kontrollere integriteten af ​​dataene.

Der er otte typer poster, som er anført nedenfor:

Indspilning Type bytes i adresse Yderligere data
S0 Bloker overskrift 2 Der er
S1 Datasekvens 2 Der er
S2 Datasekvens 3 Der er
S3 Datasekvens fire Der er
S5 Antal poster 2 Ikke
S7 Blok ende fire Ikke
S8 Blok ende 3 Ikke
S9 Blok ende 2 Ikke

Posten af ​​type S0 indeholder data fra programudvikleren og er ikke relateret til programkoden. Antallet af poster gemmes i et 2-byte postadressefelt af typen S5 . Adressefelterne for poster af typen S7 , S8 eller S9 kan indeholde startadresserne for programmet [2] .

Eksempel

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      Record Type      Antal bytes      Adresse      Data      Tjek sum

Se også

Noter

  1. srec - Linux man page Arkiveret 21. juni 2007.
  2. MC68000 Family Programmer's Reference Manual Arkiveret 24. september 2015 på Wayback Machine Appendiks C

Links

  • SRecord- programmer til at arbejde med SREC-filer