2017-12-11 11 views
0

Ich entwickle ein Projekt über ein Arduino Due Board (ATSAM3X), ich benutze Atmel Studio7 und ASF. Ich würde gerne wissen, wie ein Flash-Speicher-Block/Region zu lesen, CRC32 oder eine einfache Prüfsumme Speicher berechnen, ist das Datenblatt sehr verwirrend, EEFC-Modul beschreiben, wie im Flash schreiben oder wie "Unique Identifier" lesen, aber nicht wie eine Adresse Flash-Bereich lesen.Flash-Speicherdaten lesen, ATSAM3

Wenn jemand einen Beispielcode oder eine Dokumentation hat, die ich lesen kann, wäre ich dankbar.

Beste Grüße an alle. Marco

+0

Sie meinen, der Flash-Speicher, den Sie ausführen, hat einen festen Adressraum? Sie zeigen nur darauf und lesen es ja? –

+0

Ich weiß nicht, ob ich die Frage richtig, meine Entschuldigung, aber ATSAM3X hat Flash-Speicherbereich von 0x80000h bis zum Ende des Flash-Codes. Ich möchte nur die Daten dieses Adressbereichs in der Ausführungszeit "lesen", um eine Prüfsumme zu berechnen. – mabroglia

+0

dann mach das einfach, lies es. unsigned char * x; x = (vorzeichenloses Zeichen *) 0x80000; und benutze es einfach (dann mischen flüchtige Stoffe wenn/wie benötigt) –

Antwort

0

können Sie verwenden
char *ptr = <start address of the required memory block>;
und dann von ptr zu lesen beginnen.

Sie erwähnen zufällig, dass Sie die Prüfsumme berechnen werden. Das Berechnen von Prüfsummen laufender Programme hat den Nachteil, dass sich die Programme Datenabschnitt (Abschnitt, der unter anderem Variablenzuweisungen enthält) während der Programmausführung ändert. Berechne nur die Prüfsumme des Textabschnitts, der während des gesamten Programms konstant bleibt. Lesen Sie über Code Abschnitte für weitere Details.