Logik problem ;-)



  • Ich möchte eine datei die im Motorola S-Record Type vorliegt.Auslesen und erstellen, was ansich nich das Problem ist. Das auslesen einer datei soll nich das Problem sein. Die speicher ich ohne Problem in eine bin. Aber wenn ich die bin wieder einlesen will kommen die Problem:

    eine Motorola S-Record Datei sieht ganz simpel mal so aus (jedenfalls in meinen Fall, es giebt aber noch andre Typen):

    S00600004844521B
    S34503FD00000000000000000000000C0203FF0007B0E321F0D3E59FB004E1A0D00BEB00000003FFE960E59FC000E12FFF1C03FD02DBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26

    Auf gesplittet sieht das dann so aus:

    Also hier mal nur Zeile 2

    //Type (gibt an das die Adress belegung 4 byte paare groß ist)
    S3

    //count (hex wert der die anzahl der Daten angiebt (muss min 4 byte adresse und 1 byte checksumme gerechnet werden)
    45

    //adresse (die speicher andresse in hex)
    03FD 0000

    Die 03FD is mir nur voll unlogisch. Da ist die erste zeile in der ersten Datei was soll denn 03FD heißen? Die ersten Zeile ist für für mich hex immer 0000. Ich weis nur wenn der wenn die 2 2 byte paare FFFF erreichen das das dann das 03FD hochgezählt würd.

    //Daten
    0000000000000000000C0203FF0007B0
    E321F0D3E59FB004E1A0D00BEB000000
    03FFE960E59FC000E12FFF1C03FD02DB
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

    //checksumme
    26

    Weil es ist ja so. Wenn ich die bin datei habe lesse ich das hier ein:

    0000000000000000000C0203FF0007B0
    E321F0D3E59FB004E1A0D00BEB000000
    03FFE960E59FC000E12FFF1C03FD02DB
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

    Da ich weiß das alle Daten ins Moto mit S3 geschreiben werden fängt die Zeile so an:

    S3

    Dann zähle ich die byte paare das sind : 64 byte paare + 4 byte paare adresse + 1 byte paar checksumme = 69 das rechne ich in hex um und das sind das 45 allso sieht die zeile jetzt so aus:

    S345

    Da wir ja am anfang sind, sind wir allso bei hex 00000. das wähe mir ja auch logisch wenn das jetzt kommen würder. Aber da ist noch die 03FD die ich nich verstehe. Wenn ich wüste wo die her kommt konnte ich das auch weiter aufrollen.


Anmelden zum Antworten