Forum: Mikrocontroller und Digitale Elektronik Atmega - Gerücht um das 0.Byte im EEPROM/ERAM


von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Hi,

hab jetzt mein Hobbyprojekt mit Atmega644 fertig. Auf Grund diverser 
Parameter ist der 2k EPROM komplett voll (12 Strings zu 128 Bytes sowie 
128 Long-Variablen.

Meine erste Variable habe ich sicherheitshalber so definiert:

Dim Eramcodes(ceramcodes) As Eram Long At &H1

Dann geht sich das Ganze um 1 Byte nicht aus,
es gibt irgendwo das Gerücht, dass das Byte 0 vom AVR-Eprom nicht 
verwendet werden soll... stimmt das oder ist es eben nur ein Gerücht?

von g457 (Gast)


Lesenswert?

> stimmt das oder ist es eben nur ein Gerücht?

Kuckst Du Handbuch stellst Du fest ist nur Gerücht (zumindest wenn man 
ein anständiges Framework nutzt).

HTH

von spess53 (Gast)


Lesenswert?

Hi

Diesen Fehler hatten die ersten AVR. Ich kenne es beispielsweise vom 
ATMega103. Bei neueren AVRs ist mir das nicht wieder begegnet. Zur 
Sicherheit solltest du den Brown-Out-Detektor aktivieren.

MfG Spess

von Max (Gast)


Lesenswert?

Mein ATMega löscht beim Power-on-Reset mit ca 20% Wahrscheinlichkeit das 
EEProm byte 0. Wie der mega644 arbeitet sagt das datenblatt oder ein 
experiment.....

PS: Du könntest auch entweder deine sachen komprimieren (k.a. ob bei dir 
möglich), oder ein externes (I²C-) EEProm nehemn....

von Ulrich (Gast)


Lesenswert?

Das Problem mit dem Byte an Adresse 0 hat man, wenn kein 
Brownout-detektor aktiv ist. Die neueren µCs haben einen internen 
Brownout-detektor - da kann man das Problem also gut umgehen, wenn es 
denn überhaupt noch existiert.  Bei den alten brauchte man den extern 
und hat ihn deshalb gerne mal weggelassen und dafür auf das eine Byte 
verzichtet.

von Alex B. (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite


Lesenswert?

Das ist ja ein interessantes Thema. Bin gerade durch Zufall darauf 
gestoßen. Kann denn einer derer, denen dieses Phänomen oder Problem 
bekannt zu sein scheint, erklären, wie es zu Stande kommt?

Gruß,
Alex

von Dr. Umstand (Gast)


Lesenswert?

Sollte irgendwie passieren wenn bei einem Schreibzugriff aufs EEPROM die 
Spannung einbricht (bzw. beim Ausschalten), das Addressregister wird 0 
der Schreibzugriff wird aber noch vollzogen Eigentlich ein Bug).

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Dr. Umstand schrieb:
> Eigentlich ein Bug

Nö, das steht extra im Datenblatt! Das Problem tritt vor allem auf wenn 
die Spannung zu langsam steigt oder am Anfang schwankt.

von Charly B. (charly)


Lesenswert?

Läubi .. schrieb:
> Dr. Umstand schrieb:
>> Eigentlich ein Bug
>
> Nö, das steht extra im Datenblatt! Das Problem tritt vor allem auf wenn
> die Spannung zu langsam steigt oder am Anfang schwankt.

Kopfschuettel

laut deiner Aussage ist es kein Bug, aber du bezeichnest es
als Problem (versteh i zumindest nicht)

und klar steht es im Datenblatt, unter ERRATA
(kennst du die Bedeutung von Errata ?)

Atmel koennte ja mit dem Feature werben:

" manchmal wird bei unseren Prozessoren die Zelle 0 im
 EEProm mit einem Zufallswert beschrieben oder geloescht "

muss man unbedingt habe ! :P

vlG
Charly

von spess53 (Gast)


Lesenswert?

Hi

>laut deiner Aussage ist es kein Bug, aber du bezeichnest es
>als Problem (versteh i zumindest nicht)

Wieso ist es ein Bug, wenn Controllermodule nicht richtig funktionieren 
wenn sie außerhalb der Spezifikationen betrieben werden?

Unter Einhaltung der im Datenblatt genannten Bedingungen gibt es keine 
Probleme. Und schon gar keinen Bug.

MfG Spess

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
Noch kein Account? Hier anmelden.