Gast
#2276071
Hallo,
ich verstehe nicht ganz was es mit der Prüfsumme auf sich hat. Ich
programmiere mit dem c167µC und möchte kontrolliere, ob ein Programm
korrekt im Speicher liegt. Dafür gibt es folgende Funktion, die
Byteweise den Speicherbereich durchläuft und alles aufsummiert. Am Ende
wird der Wert mit dem, der am Ende des Speicherbereichs steht vergleich.
Dort soll die richtige Prüfsumme gespeichert sein. MAcht das der
Compiler beim compilieren?
bit checksum()
{
int chksum;
long i;
chksum=0;
//////// Calculate checksum ///////////////
for(i=BEGIN_APP_ROM; i<END_APP_ROM; i+=2)
chksum = chksum + *((uword far*)(i)) + 1;
if(chksum == *(uword far*)(END_APP_ROM))
///// Checksum was successful ////
return 1;
else
return 0; // Checksum Failed
}
Hoffe mir kann jemand weiter helfen. Finde darüber im Internet nichts
Gruß
Idefix