Forum: Mikrocontroller und Digitale Elektronik Abbruch beim EEPROM-Flashen eines ATMega8 mit AtmelStudio 6.2


von Karl L. (pluspol_64)


Lesenswert?

Hallo,

ich habe mir für meine (zukünftige) Modellbahn eine Schaltung von dieser 
Seite http://www.wedis-basteleck.de/41002.html gebastelt und möchte nun 
die beiden Hex-Dateien, die bereits compiliert sind, in den AtMega8 
laden.

Ich bin im Thema Mikrcontroller noch eher als Anfänger einzustufen...

Aber ich hab mir das AtmelStudio 6.2 installiert (Win7, 64 bit) und dann 
hab ich den ALL_AVR_ISP-Programmer von Diamex besorgt.

Der Programmer wird tadellos erkannt (als AVRISP mkII) und ich kann auch 
die Fuse Bits, sowie auch die Spannung und die "Device Signature" 
auslesen.

Ich hab die Fuse Bits zu meinen Bedingungen geändert (12 MHz externer 
Takt, Brown Out Detection).

Meine Fuse Bits haben nun den Wert "High": 0xC9 und "Low": 0xAF
Den Programmiertakt (ISP Clock) hab ich auf dem Standardwert belassen 
(125 kHz).

Ich habe dann auch das erste Hex-File in den Flash Speicher schreiben 
können (hurra!).
Aber beim Schreiben der .eep-Datei in das EEPROM bekomme ich immer 
folgende Fehlermeldung:

ispProgramMem: Error status received: Got 0x81, expected 0x00

Timestamp:  2014-04-08 17:31:03.681
Severity:  ERROR
ComponentId:  20100
StatusCode:  1
ModuleName:  TCF command: Modules:writeToMemory failed.


Und wenn ich das EEPROM danach verifiziere, kommt:

Verifying EEPROM...Failed! address=0x005d expected=0x0a actual=0xff

Timestamp:  2014-04-08 17:32:02.132
Severity:  ERROR
ComponentId:  20000
StatusCode:  0


Das Programm bricht immer an der selben Stelle ab (0x005d).
Außer, wenn ich den ISP Clock auf 2 MHz setze - auch noch unter 1/4 der 
ATMega8 Frequenz (12 MHz), dann kommt er ein Byte weiter (bis 0x005e).

Ich habe dann den Diamex Programmer auf die neueste Firmware updated 
(Version 1.80), aber leider hat das auch nichts geändert.
Selber Fehler an der selben Stelle.

Ich habs auch schon mit AtmelStudio 6.1 probiert...
Dann mit einem Windows XP-Rechner (32 bit)...
Ich hab den ATMega8 schon 2x getauscht...
... immer dasselbe Ergebnis.

Dann habe ich auch probiert, nur die ersten 4 Zeilen der .eep Datei zu 
flashen (und die letzten beiden Zeilen) - FUNKTIONIERT !!
Aber wenn ich die 5. Zeile schreiben will, kommt dieser besagte Fehler 
!!

Nun weiß ich leider nicht mehr weiter und hoffe daher auf findige 
Experten, die sich ein bisschen besser auskennen als ich.

Kann es sein, daß die Datei kaputt ist?
Der Autor ist leider nicht ausfindig zu machen.
Außerdem hab ich in anderen Foren gelesen, daß es einige User ja doch 
geschafft haben (irgendwie mit PonyProg und Pollin Evaluation-Board).
Aber bevor ich mir das auch noch kaufe und es dann viell. wieder nicht 
funktoniert, wollte ich mal hier nachfragen, ob es 
"Reperatur"-Vorschläge oder auch ev. "Alternativ"-Vorschläge gibt 
(anderes System oder anderen Programmierer verwenden).
Aber ich möchte jetzt nicht einfach aufs Geratewohl irgendwelche 
"unnützen" Dinge einkaufen, die mir dann den Fehler vielleicht gar nicht 
beheben können.

Gleich vorweg - AVRdude liegt mir, glaub ich, weniger, da ich mich mit 
Zeilenkommandos nicht so sehr auskenne. Aber notfalls könnte ich es 
erlernen.

Ich würde mich sehr freuen, wenn wir das Problem "gemeinsam" lösen 
könnten ;-)

Danke im Voraus

von Gerald B. (gerald_b)


Lesenswert?

Schon mal den ATMEGA getauscht? Vielleicht liegts ja an dem. Der kostet 
nun wahrlich nicht viel und kann sicherlich fürs nächste Projekt 
verwendet werden.

Gruß Gerald

von Karl L. (pluspol_64)


Lesenswert?

Ja, den ATMega8 hab ich schon 2x getauscht. Also bei 3 verschiedenen 
Controllern sollte man den Fehler am Controller ausschließen können.
Aber danke für den Tipp.

von Karl L. (pluspol_64)


Lesenswert?

Nach Tausch des ersten Controllers hab ich beim 2. das selbe Problem 
gehabt.
Dann hab ich mich ein wenig mit den Fuses "gespielt" - und 
gebrauchsunfähig gemacht - und nun hab ich den 3. controller in der 
Schaltung.

Die Schaltung hab ich mir übrigens nebenbei auf einem 
Experimentier-Steckboard aufgebaut (zumindest den Controllerteil - also 
die Spannungsversorgung, den externen Takt und den Controller. Den 
Servoausgangsteil nicht).

Und immer wieder das selbe Problem ...

von Karl L. (pluspol_64)


Lesenswert?

Es scheint so, als wäre mein Problem einzigartig.
Da mir anscheinend niemand helfen kann, werde ich mir mal ein STK500 
zulegen, da ich sowieso vorhabe, mich ein bisschen mehr mit dem Thema zu 
beschäftigen.
Ich werde dann versuchen, den Controller mittels STK500 zu 
programmieren.

Aber ich hab da so meine Bedenken:
Es schaut so aus, als ob das Board nur mit einer eher alten Version vom 
AVR Studio ausgeliefert wird.
Arbeitet das STK500 auch wirklich gut mit dem AVR Studio 6.x zusammen?
Oder ist es besser, die originale Version zu verwenden unter dem Motto: 
Hauptsache es funktioniert ?

von Rutzi (Gast)


Lesenswert?

Bei den PIC Prozessoren gibt es ein Config Bit, mit welchem das Auslesen 
des EEPROMS verhindert wird.
Sollte das beim AVR auch vorhanden sein, so würde ich mir das mal 
anschauen.

Der Programmer kann dann den EEPROM nicht lesen und bricht ab.

von Karl L. (pluspol_64)


Lesenswert?

OK, danke - ich werd mir das mal genauer anschauen.

Aber eine Frage noch dazu:
Wenn der Programmer den EEPROM nicht lesen kann - warum bricht er dann 
nicht gleich ab, sondern nur an einer bestimmten Adresse?
Bzw. warum kann ich die ersten 4 Zeilen fehlerfrei schreiben?
Da bekomme ich ja ein "ok" vom AVR STudio zurück.

von Hubert G. (hubertg)


Lesenswert?

Hast du schon mal getestet ob der Mega8 tatsächlich mit 12MHz läuft?
Hast du die richtigen Kondensatoren am Quarz?

Die Schaltung ist etwas bedenklich. Ohne das AVCC und AGND versorgt 
sind, gehören mit VCC und GND verbunden, funktioniert der PortC nicht. 
Das sollte aber auf das Programmieren keinen Einfluss haben.

von Hubert G. (hubertg)


Lesenswert?

Gerade getestet, *.hex und *.eep lassen sich problemlos laden. Die 
tatsächliche Funktion kann ich natürlich nicht testen.
Ich habe allerdings einen AVR ISPmkII und AVR-Studio 4.19. Daran wird es 
aber nicht liegen.

von Karl L. (pluspol_64)


Lesenswert?

OK, danke für den Tipp mit dem PortC.
Das kann ich ja dann noch testen, wenn das Programm drin ist.

Und auch ist es gut zu wissen, daß das .eep File nicht kaputt ist.
Ich werde mal probieren, das AVR Studio 4 zu installieren.
Ich habe nur gehört, daß man da mit dem USB-Treiber aufpassen muß.

Mit welchem Betriebssystem hast du das getestet?
Ich hab Win7 64bit.
Aber ich könnte es auch an einem Laptop mit WinXP 32bit probieren.

Ich melde mich wieder, wenn ich das alles mal ausprobiert habe.
(Wahrscheinlich erst übers Wochenende).

Vielen Dank erst mal.

von Karl L. (pluspol_64)


Lesenswert?

Ach ja, eine frage noch:
Mit welchem Takt hast du denn programmiert?
Bzw. hast du die Schaltung auf einem Board nachgebaut, oder hast du nur 
den ATMega8 einfach "ohne" Peripherie geflasht?

von Hubert G. (hubertg)


Lesenswert?

Ich habe Win7 32bit, Programmiertakt 125kHz.
Programmiert in einem Eval-Board von Pollin, allerdings mit einem 
AVR-ISPmkII.

von Karl L. (pluspol_64)


Lesenswert?

Ich habe jetzt auf einem WindowsXP 32bit Rechner das AVR Studio 4 
installiert und hab das ganze dort nochmal probiert.
Der Diamex All AVR Programmer wird tadellos erkannt (als AVRISP mkII).
Aber das Programmieren des EEPROMs geht genauso schief.

Ich nehme an, daß es an dem Programmer liegt.

Das AVR Studio 4 (und auch 6) zeigt auch immer eine Firmware vom 
Programmer an, die es gar nicht gibt, nämlich Version 1.20
Ich hab die neueste FW geflasht (Vers. 1.80), die auch im Flash-Programm 
richtig angezeigt wird, aber halt im AVR Studio nicht.
Vielleicht ist das schon ein Hinweis...

Aber nichtsdestotrotz - ich möchte mir einen anderen Programmer zulegen.
Und da ich mich sowieso ein bißchen mehr mit diesem Thema beschäftigen 
möchte, würde ich hier gerne mal fragen, was da so für Einsteiger 
optimal ist?
Ich beschäftige mich sehr mit dem Gedanken an ein STK500.
Aber das Evaluation Board von Pollin sieht ja auch nicht schlecht aus.

Was ist denn da der Unterschied? Bzw. zahlt sich der - doch um einiges 
höhere - Preis für das STK500 aus?

@Hubert: Warum braucht man beim Pollin-Board zusätzlich noch den AVR-ISP 
mkII? Kann man mit dem AVR Studio nicht direkt auf dem Pollin Board 
flashen, so wie beim STK500?

Wäre nett, wenn mir da jemand bei dieser Entscheidung helfen könnte.
Vielen Dank einstweilen.

von Hubert G. (hubertg)


Lesenswert?

Karl L. schrieb:
> @Hubert: Warum braucht man beim Pollin-Board zusätzlich noch den AVR-ISP
> mkII? Kann man mit dem AVR Studio nicht direkt auf dem Pollin Board
> flashen, so wie beim STK500?

Für das Pollin-Board braucht man PonyProg und das geht nur mit einer 
echten seriellen Schnittstelle. Vom AVR-Studio aus geht es nicht.
Wenn du dir einen AVR-ISPmkII kaufst, dann den Originalen, mit den 
Klonen gibt es immer Probleme bei neuen AVR-Studio Versionen.
Wenn du mit den Gedanken beim Pollin-Board bist, dann nimm lieber das 
Board von hier:  https://www.ehajo.de/ateval-atmel-evaluationsboard.html
Ist zwar auch nur ein Klon, aber sehr günstig.

von Karl L. (pluspol_64)


Lesenswert?

Das ehajo Board sieht ja wirklich sehr brauchbar aus. Kannte ich vorher 
gar nicht. Vielen Dank für den Tipp. Ich glaub, das wird's sogar werden. 
Hoffentlich nicht wieder ein "Klon-Fehler" dabei.
Ich sehe da schon einen großen "Vorteil" vom ehajo Board gegenüber 
Pollin: Die USB Schnittstelle. Somit sollte das Board auch als 
AVRISP_mkII im AVR-Studio erkannt werden.

Aber trotzdem noch eine Frage (rein aus Interesse):
Du sagst, daß das Pollin Board eine serielle Schnittstelle benötigt.
Soweit ich das verstanden habe, wird das STK500 ja auch über eine 
serielle Schnittstelle mit dem PC verbunden.
Kann das AVR Studio das Pollin-Board nicht auch als STK500 erkennen?

Aber je mehr ich vergleiche, desto mehr imponiert mir das ejaho-Board.
Und wenn bis (Oster-)Montag keiner irgendwelche Bedenken anmeldet 
(negative Erfahrungswerte bezügl. "Klon-Fehler" beim ejaho), dann werde 
ich das Board am Dienstag bestellen.
Der Preis und die AVR-Studio-Kompatibilität haben mich überzeugt.

Danke nochmal.

von Diamex (Gast)


Lesenswert?

Karl L. schrieb:
> Ich habe jetzt auf einem WindowsXP 32bit Rechner das AVR Studio 4
> installiert und hab das ganze dort nochmal probiert.
> Der Diamex All AVR Programmer wird tadellos erkannt (als AVRISP mkII).

Ich habe den Diamex All Avr auch, denke nicht das es daran liegt da bei 
mir noch nie Probleme auftraten. Nicht im AVR Studio  4, 5 oder 6 oder 
Avrdude.
Schick doch einfach mal ein paar Bilder von deinem Aufbau, der Vorder- 
sowie Rückseite.

Karl L. schrieb:
> Aber nichtsdestotrotz - ich möchte mir einen anderen Programmer zulegen.

Das wird wohl nichts an dem eigentlichem Problem lösen.

von D. V. (mazze69)


Lesenswert?

Ich programmiere seit ca. 10 Jahren die kleinen Atmels (auch m1284) mit 
einem selbstgeätztem usbasp(mit m8). Was in Gottes Namen ist so 
kompliziert daran?
2x habe ich mit einer GUI für den avrdude die fuses vergurkt, aber dank 
dem Fusebit-Doctor selbige wieder zurückholen können.
Da wird auf den Fusebit-Doctor referenziert:
http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en
Ständig kommen neue Freds bezüglich verfuseten AVRs. Ist das ein 
Spiegelbild der neuen µC-Möchtegerne, die zu faul sind, den 
Fusebit-Doctor nachzubauen?
Selbst der Foren-Poet "Paul Baumann" verweist darauf
Beitrag "Re: neuer ATMega168P lässt sich nicht Programmieren"

Egal, wer klickt, bevor nachzudenken, kann sich hier melden.

von Hubert G. (hubertg)


Lesenswert?

Karl L. schrieb:
> Soweit ich das verstanden habe, wird das STK500 ja auch über eine
> serielle Schnittstelle mit dem PC verbunden.
> Kann das AVR Studio das Pollin-Board nicht auch als STK500 erkennen?

Die Kommunikation des STK500 mit dem AVR-Studio läuft über RX/TX. Die 
Kommunikation des Programmer auf dem Pollin-Board läuft aber über die 
Handshake-Leitungen. Daher funktioniert beim STK500 ein USB-Seriell 
Adapter, beim Pollin-Board aber nicht, hier braucht man eine echte 
serielle Schnittstelle.
Den Diamex Programmer kenne ich nicht, man liest nur sehr häufig hier im 
Forum das es Probleme gibt. Das ist wie bei PonyProg. Als dieses 
Programm noch aktuell war, hat man regelmäßig von Probleme damit 
gelesen. Ich persönlich hatte nie Probleme damit. Umgestiegen auf einen 
AVR-ISPmkII bin ich nur aus Bequemlichkeit, da ich damit direkt aus dem 
AVR-Studio heraus programmieren konnte und bei größeren Files geht es 
auch deutlich schneller.

von Karl L. (pluspol_64)


Lesenswert?

DANKE Hubert !!
Ich hab mir jetzt das ejaho-Board zugelegt.
Aufgebaut - mit AVR-Studio 6.2 ausprobiert - und es hat funktioniert!!
War anscheinend doch der Diamex-Programmer die Ursache allen Übels 
(vielleicht eine "Montagsproduktion" erwischt).

Ich hab mit dem ejaho-Board 3 AtMega8 - auf meiner Versuchsschaltung 
(Steckboard), meiner original Schaltung (Print) und auch direkt am 
ejaho-Board - ohne Probleme programmieren können.

@D. V. (mazze69):
Für nur einen verfusten AtMega8 (ca. 1,80 EUR) zahlt es sich bei mir 
momentan nicht aus, den Fusebit-Doctor nachzubauen.
Aber wer weiß, wenn ich mich jetzt öfter dieser Thematik widmen möchte - 
vielleicht sammelt sich dann auch eine Anzahl verfuster Controller, wo 
es sich dann doch rechnet, den Fusebit-Doctor nachzubauen.
Ich werde mir diese Option auf alle Fälle merken.

Also - vielen Dank nochmal an alle hier für die vielen Tipps.

von Jerryfug (Gast)


Lesenswert?

1 Aug 2016 only to watch Beat Bugs, the highly-anticipated children's 
series that and won an Australian Film Institute Award for Best 
Children's Drama. 15 Jan 2017 NIGEL FARAGE is set to spill the beans on 
his marriages, the EU referendum and Donald Trump on the new series of 
Piers Morgan's Life
http://supercoolshop2.co
Showcase yourself on IMDb & Amazon. Go to IMDbPro. |; Help В· Sign in 
with Facebook Other Sign in options В· The Comment Section (TV Series 
2015– ) Poster 3 Mar 2016 Gronk Is Getting His Own Show On Nickelodeon 
Called “Crashletes” giggle at childish jokes and people getting 
slimed will be must-see TV.

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.