TWI Bootloader mega16

Gast #207147
Lesenswert?

Hallo,
ich habe mir einen Bootloader gebaut mit dem ich einen mega16 übers TWI
neu programmieren kann. Als Compiler kam der avr-gcc zum Einsatz.
Ich übertrage immer 128 Byte (eine Page) und schreibe diese dann ins
Flash. Das funktioniert so weit auch ganz gut, allerdings hab ich das
Problem, das nach dem Schreiben einiger Pages die erste Page (also die
ersten 128 Byte im Flash) langsam verschwinden. Nach 10 Pages sind,
wenn ich das Flash auslese, nur noch ein paar Bytes != 0, wenn ich das
komplette Flash beschreibe sind die ersten 128 Bytes alle auf 0x00.
Es sieht fast so aus, als würde ich mit jeder Page die ich schreibe,
die erste auch überschreiben, aber das kann eigentlich auch nicht sein,
da der Effekt nicht auftritt, wenn ich nur die ersten 4 oder so
beschreibe.

Ich hab das jetzt so umgangen, in dem ich ganz am Ende nochmal die
erste Page schreibe, das funktioniert aber auch nur, wenn ich davor
nochmal ein paar Sekunden warte.
Ganz wohl is mir aber bei der Sache nicht, zumal das Flash ja nich
beliebig oft wiederbeschreibbar ist...

Erkennt jemand meinen Fehler oder hat einen Tipp?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren