Gast
#3443812
Hallo zusammen, in einem AVR ATMega128 wird durch die Firmware auf das Eprom zugegriffen. Im Eprom sind ein paar Parameter hinterlegt die der Anpassung des Ablaufes dienen. Wenn ich das Eprom auslesen erhalte ich eine *.eep Datei die auch mit einem einfacher Editor dargestellt werden kann. hier ein Stück aus dem Epromsspeicher als Auszug ohne Daten :10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 :10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 :10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 :10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 :1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 :1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 :1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 Ich kenne den Aufbau und sehe auch im letzten Segment die Prüfsumme/Checksumme wie man es auch immer nehnen mag. Um die Einstellung komfortabler zugestalten arbeite ich an einem externen Programm welches die Datei einließt und auch schon verändern kann. Nach dem Speichern soll dann das Zurückschreiben in den AVR mit der Bootloadersoftware erfolgen. Da dieser Versuch mit einem Fehler quitiert wird liegt es wohl an der nicht aktualisierten Prüfsumme. Soviel zu den Randbedingungen: Auf der Suche nach Erklöärungen und wie man es zum Verständnis erstmal handisch berechnen kann bin ich auf dieses Beispiel zum Intel Hex Format gestoßen. http://de.wikipedia.org/wiki/Intel_HEX Von der Internetseite :020000021000EC :10010000214601360121470136007EFE09D2190140 Die Prüfsumme für den ersten Beispiel-Datensatz berechnet sich wie folgt: Das zusammen rechnen der einzelnen Hexfelder des Beispieles habe ich auch verstanden komme aber am Ende ins schleudern und nicht weiter. Ich stocke bei 3C0 -> C0 -> C0 + 1 = 40 ????????? beim Zusammenrechnen des ganzen erhalte ich dezimal 960 was 3C0 entspricht. Der untere Wert wird verwendet C0 auch klar. Aber wie wird jetzt aus C0 + 1 = 40 ??????? Kann mir das einer kurz für einen Dummy erklären... Danke Gruß Schorschi
