Forum: Mikrocontroller und Digitale Elektronik crc über das gesamte flash


von bundy (Gast)


Lesenswert?

Hoi hoi...

ma ganz blöd gefragt. CRC-16 und seine Funktionsweise ist mir bekannt.
Wie läuft so eine CRC-Prüfung im Flash ab???
Wenn man es sich bildlich vorstellt müsste man die Inhalte jeder Adresse 
hintereinander schreiben + 15 Nullen (vom CRC-16 Polynom). Anschließend 
nach links shiften bis am High-Bit eine 1 anliegt. Und jetzt zich ma 
xoren (mit Polynom oder 0en) bis zum tatsächlichen Endergebnis der 
CRC-Checksumme.

Soooo... Wenn ich das jetzt in Assembler umsetzen will wird das ja nen 
wahnsinns Aufwand.

Oder kann ich sagen ich nehm Zelle 1 mach ne CRC...Zelle 2 ne CRC... 
etc... und verrechne die CRCs miteinander?? Aber das wird wohl keine 
genormte CRC sein wa?? ;)

von (prx) A. K. (prx)


Lesenswert?

Byte für Byte. Die meisten fertigen CRC-Funktionen wollen entweder ein 
einzelnen Byte oder einen Speicherblock. Kannst es auch Bit für Bit 
machen, aber das braucht nur länger und ändert nichts am Ergebnis.

Bei CRC-16 ist die CRC 16 Bits lang, nicht die dadurch kontrollieren 
Daten.

von Stefan E. (sternst)


Lesenswert?

bundy schrieb:
> CRC-16 und seine Funktionsweise ist mir bekannt.

Anscheinend doch nicht so ganz.

Du nimmst ein Datenbyte und schiebst es zusammen mit dem Startwert in 
den CRC-Algorithmus. Das Ergebnis ist der neue Startwert für das nächste 
Datenbyte, u.s.w. Das Ergebnis, das dann beim letzten Datenbyte 
rauspurzelt, ist das Endergebnis, also die CRC über den ganzen 
Datenbereich.

von bundy (Gast)


Lesenswert?

jo... is doch nich so wild. is vielleicht wenn es hoch kommt ne halbe 
seite assembler code. es lebe das pap ^^

werd morgen weiter machen... bei gelegenheit post ich den assemblercode 
dann hoch...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.