FLASH verliert Inhalt. WARUM?

Gast #336778
Lesenswert?

Hallo,

mich ärgert ein kniffeliges Problem :-( ich habe eine größere Anzahl
von kleinen Steuerplatinen in betrieb die mit einem mega8L bestückt
sind. Etwa 1% verliert unmotiviert während des Betriebes teilweise oder
vollständig FLASH-Inhalte. Woran kann das liegen? Halt jemand schon mal
solche Erfahrungen gemacht?

THX Alex
Gast #336780
Lesenswert?

hm,

spannungsversorgung erfolgt über den usb-bus ...
die umgebung ist eher als STINO zu betrachen...
hatte schon an ESD effekte geacht

was würde der aktivirte brown-out detektor bei dem problem bringen?


THX Alex
Gast #336783
Lesenswert?

"Da diese Forderung in der Praxis unrealistisch ist"

Warum ?

Wenn Peripherie und MC aus einer Quelle versorgt werden, ist das doch
der Fall.


Aber wenn man nen Programmieradapter hat, der schon vom PC Saft kriegt,
kann es die merwürdigsten Effekte geben.
Daher hat der Programmieradapter nen 74LS244 dazwischen geschaltet, der
mit VCC des MC versorgt wird.


Peter
Gast #336784
Lesenswert?

oh mann mal langsam jungs...

ihr denkt also dass meine probleme daher kommen dass portpinns spannung
haben bevor vcc am controller anliegt... hm... das ist denkbar da die
spannungsversorgung aus zwei quellen möglich ist... usb und extern

hm.... ich les mir das kapitel brown-out detector im datenblatt noch
mal durch

THX alex
Gast #336785
Lesenswert?

Peter:

Der Kollege meinte, daß während des Betriebes der Datenverlust
auftritt, am Progger dürfte es also nicht liegen. Daß die Chips vor der
Betriebsspannung auf irgendwelche Pins Saft bekommen, ist eher
wahrscheinlich oder eben ESD.

@Alex: Der Brown-Out Detektor sorgt für definiertes ein- und
ausschalten des Cores und verhindert, daß die CPU undefinierte Codes
ausführt, falls die Spannung ungenügend ist. Zusätzlich solltest Du die
Lock-Bits setzen, die das Ausführen der SPM-Instruktion im
Applikationsbereich verhindern. Das gibt zusätzliche Sicherheit.
Gast #336787
Lesenswert?

also es passiert definitiv beim betrieb... es geht auch nicht um ein
einzelstück... die programme laufen ne weile und ohne bisher
erkennbares muster steigen die aus... der bootloader bleibt in den
meisten fällen erhalten... ich dachte schon das der bootloader
"spontan anspringt" und anfängt seiten zu löschen... aber das konnte
bisher nicht festgestellt werden... definitiv gab es auch fälle bei
denen die programme sozusagen halb liefen, also nur bestimmte
programmteile betroffen waren... ich denk ich versuchs mal über
brown-out detection in den griff zu bekommen... im datenblatt des mega8
wird ausdrücklich darauf eingegangen dass der flash während des
betriebes "kaputt" gehen kann (Preventing Flash Corruption ) atmel
empfiehlt im wesentlichen 3 maßnahmen.. eine davon ist brown-out ;-)

THX jungs
#336788
Lesenswert?

kann es nicht doch sein dass der bootloader angesprungen wird ?
Zb irgendwo nen Stack überlauf und du schreibst irgendwo werte hin die
er dann als Rücksprung adresse nimmt und zufällig im bootloader
landet.

Flash doch mal eine Version ohne bootloader und guck obs da auch
passiert ;)

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