Hallo, ich möchte in der Applikation auf den Applikationsflash des ATXMega64 lesend zugreifen. Ich möchte den Flashbereich auslesen und eine CDC daraus berechnen. Ich verwende die NVM Lib von Atmel. nvm_flash_read_buffer (Addresse, &FlashBuffer, länge); //crc Ich lese Byteweise aus dem Flash. Wenn ich debugge dann kann ich sehen dass der Flash richtig ausgelesen wird. Lasse ich meine Funktion laufen bildet sich bei jedem Durchlauf eine andere CRC. Die CRC Routine stimmt diese habe ich auf einem anderen System geprüft. Interrupts sind deaktiviert. Kann es sein dass auch das Lesen nur aus dem Bootbereich funktioniert? Welche Möglichkeiten habe ich den Flasspeicher (Applikationsbereich) zu lesen? Danke. Gruß, Georg.
> Wenn ich debugge dann kann ich sehen > dass der Flash richtig ausgelesen wird. > Lasse ich meine Funktion laufen > bildet sich bei jedem Durchlauf eine andere CRC. Das kann nicht sein. Eine der beiden Aussagen muss falsch sein.
Hallo, ich habe nicht jedes Byte überprüft aber das Lesen der ersten 20Byte sieht richtig aus. Ev. passiert weiter hinten ein Fehler beim Lesen. Sollte das Lesen grundsätzlich funktionieren wenn die Applikation läuft und gleichzeitig den Applikationsflash liest? Inzwischen habe ich auf die funktion nvm_flash_read_byte gewechselt. Das Problem bleibt das gleiche. Gruß, Georg.
Georg X. schrieb: > ich möchte in der Applikation auf den Applikationsflash des ATXMega64 > lesend zugreifen. > > Ich möchte den Flashbereich auslesen und eine CDC daraus berechnen. > Ich verwende die NVM Lib von Atmel. > > nvm_flash_read_buffer (Addresse, &FlashBuffer, länge); //crc Was macht diese Funktion denn besonderes, und welche Befehlssequenz wird benötigt, um ein Byte aus dem Flasg zu lesen? Genügt bei XMega kein LPM?
Hallo, die Readfunktion verwendet folgendes Makro: #define pgm_read_byte_far(address_long) __ELPM((uint32_t)(address_long)) Für mich sieht es so aus als ob das Lesen aus dem Flash und gleichzeitiges Ausführen der Applikaiton im Flash nicht funktioniert. Ist nur interessant ob das grundsätzlich nicht geht oder ob ich eine andere Vorgehensweise einschlagen muss. Gruß, Georg.
Hallo Leute, inzwischen funtioniert es. Die NVM Routinen funktionieren zum Lesen des Flashes aus der Applikation. Gruß, Georg.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.