Movatterモバイル変換


[0]ホーム

URL:


Saltar para o conteúdo
Wikipédia
Busca

S19

Origem: Wikipédia, a enciclopédia livre.
Esta página cita fontes, mas não cobrem todo o conteúdo
Esta páginacita fontes, mas quenão cobrem todo o conteúdo. Ajude ainserir referências (Encontre fontes:ABW  • CAPES  • Google (notícias • livros • acadêmico)).(Abril de 2012)

S19[1], ouSREC[2], é oformato lógico dearquivos executáveis daMotorola.

Um arquivo no formatoS19 possui informações de como gerar um arquivo executável completo, contendo todos osbytes que serão armazenados namemória para qual ele foi gerado. Por exemplo, um arquivo S19 gerado para ummicrocontrolador de 128KB dememória flash contém somente as informações das regiões de memória utilizadas pelo código objeto gerado, sendo possível montar um arquivo executável de 128KB a partir dessas informações.

Constituição

[editar |editar código-fonte]
  • Todas as linhas começam com a letraS (primeirocaractere).
  • O segundo caractere indica:
    • 0 = cabeçalho (nome do arquivo emASCII);
    • 1 = dados; e,
    • 9 = final do bloco de dados.
  • O terceiro e o quarto caracteres representam, em hexadecimal, a quantidade de bytes que vem após o quarto caractere.
  • Em todas as linhas, o último byte (dois últimos caracteres) representam asoma de verificação daquela linha.
  • Na linha de dados do programa (S1), após os quatro primeiros caracteres (dois bytes) vêm:
    • o endereço (dois bytes) - referente aos dados do programa, os quais vêm em seguida;
    • os dados do programa; e,
    • a soma de verificação (último byte) da linha.

Ou seja, a quantidade de bytes informada pelo terceiro e quarto caractere é "Endereço + Dados do Programa + Checksum".

Sendo assim, a representação de uma linha do arquivo S19 fica da seguinte forma:

St nn aaaa ddddddd ... cc

Em que:

  • S = início da linha;
  • t = tipo da linha;
  • nn = número de bytes do endereço à soma de verificação;
  • aaaa = endereço dos dados;
  • dd = dados da linha; e,
  • cc = soma de verificação do número de bytes (nn) + endereço (aaaa) + dados (dd) da linha.

Soma de verificação

[editar |editar código-fonte]

A soma de verificação armazenada é o valor 0xFF menos o valor somado dos bytes - considerando somente byte para o armazenamento do somatória.

Exemplos:

  • S1 04 FF BD FF 40 = 0xFF - (0x04 + 0xFF + 0xBD + 0xFF) = 0xFF - 0xBF (somente byte menos significativo) = 0x40.
  • S9 03 00 00 FC = 0xFF - (0x03 + 0x00 + 0x00) = 0xFF - 0x03 = 0xFC.

Memórias maiores que 64KB

[editar |editar código-fonte]

Como, com um endereço de somente dois bytes (quatro dígitos em hexa - aaaa) pode-se especificar endereçamentos de 0x0000 a 0xFFFF, ou seja, de 0 a 65535 (64K), foram criadas outras codificações para linhas que utilizam mais bytes para endereçamento:

  • S2 = linha de dados que contém três bytes de endereço (aaaaaa);
  • S3 = linha de dados que contém quatro bytes de endereço (aaaaaaaa);
  • S7 = fim do bloco de dados de quatro bytes de endereço; e,
  • S8 = fim do bloco de dados de três bytes de endereço.

Referências

  1. S19 vem dos caracteres iniciais de cada registro: S1, S2, S3, ... S9. Que resulta em S1-S9, e que foi abreviado como somente S19.
  2. SREC é uma abreviação para S-RECord

Ligações externas

[editar |editar código-fonte]
Obtida de "https://pt.wikipedia.org/w/index.php?title=S19&oldid=67544851"
Categorias:
Categorias ocultas:

[8]ページ先頭

©2009-2025 Movatter.jp