Hallo,
ich muß mich in ein bestehendes Bussystem einklinken (leider unter NDA,
daher darf ich keine Details geben).
Die Übertragung von Daten (Firmware und Programm)geschieht per XMODEM
Protokoll mit CRC 16.
Ich versuche zur Zeit verzweifelt die Prüfsumme nachzurechen, ohne
Erfolg.
Kann mir einer weiterhelfen ?
Ich will mit den Empfangenen Daten dann denn Code des AVR updaten (Zur
Zeit ein Mega8515.
Es kommen immer 128 Byte (In 3 Packeten Protokollbedingt).
Es sollte doch nun möglich sein den AVR mit den Empfangenen Daten neu
zu Flashen (auch den Boot Loader selbst ?).
Aber bevor die Prüfsumme nicht stimmt will ich das besser noch nicht
machen :-)
So, ein Packet sieht z.B. wie folgt aus (C Noatation) (3 Byte
XMODEM-Header + 128 Data + 2 Byte CRC 16):
char c[3+128+2] =
{0x01, 0x01, 0xfe, 0x5c, 0x72, 0x5c, 0x6e, 0x0a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x69, 0x6b};
Zur Zeit versuche ich das auf dem PC mit angehängtem Code
nachzurechnen. Dann will ich das auf den AVR mit gcc Hilfe übernehmen.
Kann mir einer sagen was ich falsch mache ?
Danke
Juergen