ATTiny84: Vorbelegung diverser EEPROM-Zellen??

OP #1446409
Lesenswert?

Hallo,

haben hier gerade ein EMV-Problemchen bei unserem Gerät mit ATTiny84 
entdeckt. Dabei ist mir was Seltsames aufgefallen:

1. Ich lade per SPI (kein Debug-Modus also) das HEX-File fürs FLASH und 
EEPROM mit AVR-Studio und ISP-Freq = 6.48 kHz in das (fabrikneue) Device
2. Danach lade ich die beiden Files wieder runter und "diff"e die 
Ursprungsdatei gegen die runtergeladene.

Beim FLASH sieht das Downloadfile exakt gleich aus wie die 
Ursprungsdatei.

Beim EEPROM jedoch ist jedes Mal und bei mehreren ATTinys immer die 
Zelle 63 oder 64 anders! Meistens steht dort 0x03 statt 0x00! Ich 
benötige diese Zelle zufälligerweise nicht, mir ist das aber 
aufgefallen.

Ich habe die Vermutung, dass der Controller bzw. Debugger hier irgendein 
Kalibrierwert oder Ähnliches abspeichert. Kann das sein und wenn ja, wie 
kann ich das abschalten?
Moderator Persönliche Seite #1446480
Lesenswert?

Alexander I. schrieb:

> Ich habe die Vermutung, dass der Controller bzw. Debugger hier irgendein
> Kalibrierwert oder Ähnliches abspeichert.

Nur, wenn deine Firmware sowas tun sollte.  Ein AVR lässt den
kompletten EEPROM von sich aus in Ruhe, mit Ausnahme eines chip
erase (ohne gesetzte EESAVE-Fuse), bei der er gelöscht wird.

Kalibrierwerte werden, wenn überhaupt, in separaten EEPROM-Zellen
untergebracht, die vom normalen Nutzer nicht modifiziert werden können
und die auch nicht beim chip erase angefasst werden.
OP #1446494
Lesenswert?

Alles klar, dann kann ich die Suche schonmal eingrenzen. Läuft der 
ATTiny nach/zwischen dem EEPROM/FLASH-Download sofort los, oder erst 
wenn ich den Debugger abziehe?

In der FW wird tatsächlich im EEPROM herumgeschrieben, allerdings nicht 
in dem Bereich. Vielleicht ist da noch irgendwo ein Bug.
Gast #1446554
Lesenswert?

Hi

>Kalibrierwerte werden, wenn überhaupt, in separaten EEPROM-Zellen
>untergebracht, die vom normalen Nutzer nicht modifiziert werden können
>und die auch nicht beim chip erase angefasst werden.

Nicht ganz. Das AVR-Studio bietet die Möglichkeit das Calibration-Byte 
für den internen Oszillator im EEPROM oder Flash abzulegen (automatisch 
beim Programmieren). Vieleicht hat Alexander diese Option versehentlich 
aktiviert.

MfG Spess
Moderator Persönliche Seite #1446666
Lesenswert?

spess53 schrieb:

> Nicht ganz. Das AVR-Studio bietet die Möglichkeit das Calibration-Byte
> für den internen Oszillator im EEPROM oder Flash abzulegen (automatisch
> beim Programmieren).

Ist aber unwahrscheinlich, dass davon permanent nur ein Bit kippt,
da die OSCCAL-Werte ja eher kreuz und quer gewürfelt sind.

Diese Funktion braucht man heute gar nicht mehr, da es nur noch
einen einzigen RC-Oszillator gibt und nicht mehr vier.  Dessen
Kalibrierwert wird ja ohnehin nach OSCCAL übernommen.  (Ja, ich
weiß, er könnte die entsprechende Funktion dennoch aktivieren. ;-)

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