www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Checksumme S19-Datei


Autor: Harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

zur Verifiktion, dass das Flashen auch richtig funktioniert hat, möchte 
ich intern<->extern eine Prüfsumme vergleichen.

Extern, d.h. auf dem PC, wandele ich die Daten eines S19-Files in binäre 
Daten, um die Prüfsumme zu errechnen.

Das klappt auch :-), allerdings bekomme ich die Prüfsumme der einzelnen 
S19-Zeilem der S19-Datei nicht hin (...und wofür gibt es die nun mal?)

Es gibt diverse Quellen im Netz zum S19-Format, z,B.:

...
          checksum  A char[2] field.  These characters when paired and
                    interpreted as a hexadecimal value display the
                    least significant byte of the ones complement of
                    the sum of the byte values represented by the
                    pairs of characters making up the count, the
                    address, and the data fields.
...


Code sagt mehr als tausend Worte, hier für ein S1-Record (die Roh-Daten 
sind wie gesagt korrekt):
unsigned char S19_CalcChkSum(unsigned char nBytes, unsigned int Adress, unsigned char *pData) {
  unsigned char c, chksum, i;
  // Anzahl Bytes
  chksum=nBytes;
  // Adresse
  c=(Adress>>8) & 0xFF;
  chksum+=c;
  c=(Adress>>0) & 0xFF;
  chksum+=c;
  // Daten
  for (i=0; i<nBytes; i++) {
    c=pData[i];
    chksum+=c;
  }
  return ~chksum;
}

Hat jemand einen Tipp, wie's richig geht?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.