ATTiny84: Vorbelegung diverser EEPROM-Zellen??

OP #1446409
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
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
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
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
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. ;-)
Moderator Persönliche Seite
Alexander I. schrieb:
> 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?

Normalerweise sofort danach.  Du kannst aber /RESET permanent auf
low halten, der ISP-Algorithmus sollte damit klar kommen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.