Daten im Flash über AVR109 ändern

Gast #1333581
Lesenswert?
• ▲
▼
Hallo,

ich komme hier irgendwie nicht weiter. Ich habe hier einen lauffähigen 
Bootloader(AVR109) auf einem ATmega168. Ich habe den Code etwas 
angepasst und es läßt sich nun auch gezielt eine Page löschen und der 
Inhalt einer Page in den Page Buffer laden.
Ich kann aber leider den Inhalt des Buffers nicht ändern und Ihn wieder 
in den Flash schreiben. D.h. ich kann ihn schon ändern, das Ergebnis das 
dann im Flash steht ist aber etwas anderes. Ich mach das momentan über 
die Konsole und den Befehlen die im AVR109 Manual stehen.
Im einzelnen mache ich folgendes:
A dd dd : Adresse wählen
g 00 80 F:Page einlesen mittels _FILL_TEMP_WORD(*address,data);
A dd dd : Adresse des zu ändernden Bereichs anwählen
c dd C dd: Inhalt ändern
A dd dd : Adresse wählen
m : Page zurückschreiben

Kann mir da jemand weiterhelfen. Alternativ müßte ich halt die Daten 
über die serielle Schnittstelle auslesen, ändern, page erase machen und 
dann wieder schreiben. Ich dachte nur das würde auch mit dem internen 
Cache gehen??!

danke
Gast #1333657
Lesenswert?
• ▲
▼
Hmm, kann es sein daß der Page Buffer gar nicht dafür vorgesehen ist die 
Daten zu ändern, sondern daß das zuerst im RAM gemacht werden sollte?
Nach dem Ändern schreibe ich die Daten in den Page Buffer und dann auf 
den Flash. Oder?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.