www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATTiny84: Vorbelegung diverser EEPROM-Zellen??


Autor: Alexander I. (daedalus)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brownout aktiviert?

Autor: Alexander I. (daedalus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Fuse ist auf BODLEVEL = 2,7V. Ist also aktiviert.

Autor: Chris L. (kingkernel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und die BODEN-Fuse, wie ist die eingestellt?

Autor: Alexander I. (daedalus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine solche Fuse gibt's beim ATTiny84 nicht. Nur BODLEVEL0-2 im 
HIGH-Byte die die Triggerschwelle bzw. die Deaktivierung steuern. 
BODLEVEL = 111 = Brown-Out deaktiviert, bei BODLEVEL = 101 = Brown-Out 
aktiviert mit 2,7V.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alexander I. (daedalus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.