Forum: Mikrocontroller und Digitale Elektronik Flashen des Atmega128


von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Liebes Forum!

Zum Problem :
Ich besitze ein Atmel MEGA128D MINI Development Board und möchte den 
Controller flashen. Leider klappt es nicht.

Meine Vorgehensweise :

1. Software
 - AVRStudio 4.18
 - WinAVR-20100110

2. Hardware
 - USB ISP Programmer
 - Atmel MEGA128D MINI Development Board

3. ISP Beschaltung
 - siehe Bild-Anhang

4. Einstellungen
 - Main -> Device : ATMega128
 - Main -> Programming mode : ISP mode
 - Main -> ISP Frequency : 115.2 kHz
 - Fusebits -> EXTENDED : 0xFF
 - Fusebits -> HIGH : 0x8C
 - Fusebits -> LOW : 0x3F
   ...SPIEN, JTAGEN :
      programmiert (Häckchen)
   ...SUTCKSEL:
      Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms

5. Ergebnis
 - Fusebits lassen sich ändern und auslesen
 - Controller lässt sich löschen
 - Flash Hex-File lässt sich auslesen, dauert allerdings mehrere min.



5. Ergebnis
 - Fusebits lassen sich ändern und auslesen
 - Controller lässt sich löschen
 - Flash Hex-File lässt sich auslesen, dauert allerdings ca. 5 min

Warum kann ich Fuses auslesen/ändern aber nicht flashen ?
Was mache ich falsch ?

Vielen Dank im Voraus !
Mike

von Mike (Gast)


Lesenswert?

Hat keine eine Idee ??

von Spess53 (Gast)


Lesenswert?

Hi

>Hat keine eine Idee ??

ISP-Frequenz erhöhen. Was ist denn eingestellt? Und wie hoch ist die 
Taktfrequenz des Controllers.

MfG Spess

von Mike (Gast)


Lesenswert?

Hallo Spess53 !
Danke für Deine Antwort.

1.ISP-Frequenz erhöhen. Was ist denn eingestellt?
Habe bereits alle möglichen Frequenzen eingestellt.
Derzeit ist :
ISP Frequency : 115.2 kHz
eingestellt.

Wie bereits erwähnt, lassen sich die Fuses manipulieren...
Daraus kann ich doch schliessen, daß der PC mit dem Controller 
kommuniziert.

Gruß

von Spess53 (Gast)


Lesenswert?

Hi

>Wie bereits erwähnt, lassen sich die Fuses manipulieren...
>Daraus kann ich doch schliessen, daß der PC mit dem Controller
>kommuniziert.

Ja.

>Warum kann ich Fuses auslesen/ändern aber nicht flashen ?
>Was mache ich falsch ?

Kommt beim Flashen eine Fehlermeldung?

MfG Spess

von Mike (Gast)


Lesenswert?

Kommt beim Flashen eine Fehlermeldung?

Folgende meldungen bekomme ich beim Flashen zurück :

...
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH.. FAILED!
Leaving programming mode.. FAILED!


Wenn ich den Reiter "Program" (AVRStudio) aktiviere bekomme ich:

Entering programming mode.. OK!
Reading fuses address 0 to 2.. 0xE4, 0x99, 0xFF .. OK!
Leaving programming mode.. OK!

Was soll das ?

Grüße

von Ernst (Gast)


Lesenswert?

aus dem ATmega103-Modus hast du ihn sicherlich schon in den 
ATmega128-Mode per fuse(s) umgeschaltet?

von Mike (Gast)


Lesenswert?

P.S:

Den EEPROM kann ich auch beschreiben, ohne Fehlermeldungen...

Meldung im AVR...

Getting isp parameter.. SD=0x01 .. OKOK
Reading EEPROM input file.. OK
Entering programming mode.. OK!
Programming EEPROM ..      OK!
Reading EEPROM ..      OK!
EEPROM contents is equal to file.. OK
Leaving programming mode.. OK!


Soweit ich alles richtig verstehe wurde das hex-File in EEPROM 
geschrieben oder ?


Beim Flashen wieder das :


Getting isp parameter.. SD=0x01 .. OKOK
Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..     [HIER BLEIBT ER ca. 1min stehen] .. FAILED!
Leaving programming mode.. FAILED!

Und die Standardfehlermeldung mit Troubleshoting und quick tips...

Aber eine Frage habe ich trotzdem :

Auf dem Controller steht : ATMEGA128A
Spielt dies eine Rolle welchen Controller ich einstelle 128 oder 128A ?
P.S. Beides funktioniert nicht...

Grüße

von Mike (Gast)


Lesenswert?

Hallo Ernst:

...aus dem ATmega103-Modus hast du ihn sicherlich schon in den
ATmega128-Mode per fuse(s) umgeschaltet?...

SOrry, Was ist ein Atmega103 Modus ?

Meine Fusebits sind wie folgt eingestellt :

 - Fusebits -> EXTENDED : 0xFF
 - Fusebits -> HIGH : 0x8C
 - Fusebits -> LOW : 0x3F


Grüße

von Ernst (Gast)


Lesenswert?

Schau mal ins Datenblatt, Seite 5. Meiner Erinnerung ist er ab Werk ein 
ATmega103 zwecks Kompatibilität.

von Mike (Gast)


Lesenswert?

Schau mal ins Datenblatt...

Das Fuse M1033 kann ich aktivieren oder nicht, trotzdem keine 
Änderung...

Gruß

von Mike (Gast)


Lesenswert?

P.S. Wenn das Fusebit M103C programmieren werden alle ausgänge auf high 
geschaltet... Jedenfalls leuchten alle LED auf dem Board auf ...

von Spess53 (Gast)


Lesenswert?

Hi

Die M103-Fuse hat nichts mit der Programmierbarkeit zu tun. Die stellt 
nur die Hardwarekompatibilität zum ATMega103 her.

MfG Spess

von Mike (Gast)


Lesenswert?

Was benötige ich für den JTAG ICE Programmier-Modus ?

Vielleicht liegt es am ISP-Programmier-Mode ?

von Spess53 (Gast)


Lesenswert?

Hi

>Was benötige ich für den JTAG ICE Programmier-Modus ?

Z.B. ein JTAG ICE MKII. Du solltest die Fuse aber trotzdem abschalten, 
weil sonst einige Pins vom PortF nicht nutzbar sind.

Was hast du für eine Stromversorgung?

MfG Spess

von Zwie B. (zwieblum)


Lesenswert?

's kann sein, dass deine Zuleitungen vom Programmiergerät zum Atmega zu 
lang sind. Wenn du mit avrdude brennst, häng' an die kommandozeile "-B 
10" an.

von Mike (Gast)


Lesenswert?

Hi Zwie Blum,

die Zuleitungen sind i.O. mit dem ISP Adapter habe ich bereits den 
ATMEGA32,16 etc. geflasht.

@Spess53
Wie gesagt, egal wie ich die Fusebits einstelle - es geht nicht...
Spannungsversorgung - LM1117

Bin kurz davor das Ding wegzufeuern.
Aber es läßt mir einfach keine Ruhe.

Hatte keiner von Euch einen Atmega128A mit AVRStudio geflasht ?
Bin schon alle Einstellungsmöglichkeiten durchgegangen...

Liebe Grüße

von Spess53 (Gast)


Lesenswert?

Hi

>@Spess53
>Wie gesagt, egal wie ich die Fusebits einstelle - es geht nicht...
>Spannungsversorgung - LM1117

Und wie wird der versorgt?

MfG Spess

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

@Spess53
Und wie wird der versorgt?

Wahlweise mal habe ich direkt über USB-Port des PC aber auch über 
externe Netzteile : 7,4 V , 9 V etc. alles ausprobiert...

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Anbei nochmal meine einstellungen...

von Mike (Gast)


Lesenswert?

Hat wirklich keiner einen Atmega128 über ISP mit AVRStudio geflasht?

Hoffe es findet sich jemand mit dieser Erfahrung...

Gruß

Mike

von Chrisl (Gast)


Lesenswert?

Wie hast du deinen Reset beschalten am Atmega?
Ich kenne das Board nicht...
Ist der Atmega 128 darauf Integriert oder hast du ihn in einen eigenen 
Sockel gesteckt???
Gruß Chris

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Chris.
Das ist ein fertiges Board mit dem Controller drauf. Siehe Bildanhang...

Was mich wundert ist die Tatsache, daß man den EEProm beschreiben kann, 
Fuses manipulieren kann, jedoch den Controller nicht flashen kann???

Siehe nochmal einstelleungen :
http://www.mikrocontroller.net/attachment/100361/einstellungen.png

von Chrisl (Gast)


Lesenswert?

ist schon komisch.... also ist der programmer auf den Board...
ich habe den mk2 und musste erst ein update drauf machen....

ich kann dir leider im mom net weiterhelfen, ich schaue morgen mal bei 
meinen atmega 64 nach. Die Beschaltung und alles dürfte ja nicht viel 
anders sein...

- hast du eig. schon andere atmegas mit dem Board programmiert?
- manche programmer brauchen auch 5V Versorgungsspannung...

von Chrisl (Gast)


Lesenswert?

was passiert eig. wenn du auf erase gehst? funktioniert das?

von Michael H. (michael_h45)


Lesenswert?

Mike schrieb:
> Hat wirklich keiner einen Atmega128 über ISP mit AVRStudio geflasht?
Tausende, wenn nicht Millionen...
> Hoffe es findet sich jemand mit dieser Erfahrung...
???
Der Fehler liegt weder beim AtMega128, noch beim AVR-Studio, sondern bei 
dir und bei sonst nichts.


Mach mal n Photo von deinem Aufbau. Ich würde fehlende Masse oder 
Masseschleife o.ä. vermuten.
Hast du ein Oszi?

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

@Chrisl:
- Das Board sieht so aus... siehe Bild
- Der ISP-Programmer ist ein separates Gerät, welches aber schon bei 
anderen COntrollern zum Einsatz kam und auf jeden Fall funktionierte.

ISP-Programmer-Nachgebaut von hier... (USB Atmel ISP Programmer)
http://www.ulrichradig.de/


Wenn ich die erase-Funktion ausführe wird der Controller auch gelöcht.
Siehe http://www.mikrocontroller.net/attachment/100361/einstellungen.png
Tab_3 -> Erasing device.. OK!

Ich bin am verzweifeln ! Sch..ß DING!

von Chrisl (Gast)


Lesenswert?

Miss mal wie Michael sagte die Versorgunsspannung und überprüfe die 
Masse...
- hast dus schon mal mit Jtag versucht?
- hast du keinen Kabelbruch vom programmer zum Board?

von Michael H. (michael_h45)


Lesenswert?

Mike schrieb:
> ISP-Programmer-Nachgebaut von hier... (USB Atmel ISP Programmer)
Ich korrigiere... ab sofort hab ich den Programmer in Verdacht.
In dessen Schaltplan sind so einige Fehler: USB-Spannung nicht entstört, 
Ausgänge gegen Masse kurzgeschlossen, "merkwürdiger" USB-Signalpfad, ...

Ich nehme an, du hast nichts anderes zur Hand?

von Mike (Gast)


Lesenswert?

Kabelbruch schliesse ich aus, da ich problemlos den Atmega32 (auf einem 
anderem Board) flashen kann.

Mit Jtag habe ich noch nicht versucht.
Der Hersteller des Board hat allerdings auch mit JTAG ICE programmiert.
Brauche ich einen teuren Jtag programmer oder kann ich das selbst 
nachbauen ?

von Frank K. (fchk)


Lesenswert?

Nimm erstmal einen anderen ISP-Programmer, am besten das Original von 
Atmel (AT AVRISP MKII).

fchk

von Mike (Gast)


Lesenswert?

Ich habe keinen Anderen Programmer.

Ich glaube ich lasse es sein mit dem Board.
Es sei denn es findet sich jemand der es für mich ausprobiert???
Porto bezahle ich selbstverständlich (hin und zurück).

Was mir persönlich fehlt ist eine delailierte Anleitung für den 
Atmega128
mit Fusebits etc...

Grüße
Mike

von Michael H. (michael_h45)


Lesenswert?

Mike schrieb:
> Was mir persönlich fehlt ist eine delailierte Anleitung für den
das nennt sich datenblatt.
> Atmega128
> mit Fusebits etc...
der unterscheidet sich doch in nichts von einem atmega32 oder 8, was 
das flashen per isp betrifft...

von Spess53 (Gast)


Lesenswert?

Hi

>der unterscheidet sich doch in nichts von einem atmega32 oder 8, was
>das flashen per isp betrifft...

Dann versuche es mal über MOSI/MISO. Aber bei dem Board ist das schon 
richtig.

MfG Spess

von Mike (Gast)


Lesenswert?

@Spess53
Soweit ich das Datenblatt des Controllers verstanden habe, wird der 
Atmega128 nicht über MISO/MOSI geflasht sondern über RX/TX..
So ist es auch auf dem Board gelöst...

von holger (Gast)


Lesenswert?

>JP2 wählt die Geschwindigkeit zum Programmieren der Zielhardware aus.
>Offen (Standard): maximale Geschwindigkeit / Geschlossen: geringe 
>Geschwindigkeit.

Tja, so wie es aussieht kann man wohl per Studio
die ISP Frequenz gar nicht ändern. Also JP2 mal
auf geringe Geschwindigkeit stellen.

von Michael H. (michael_h45)


Lesenswert?

Spess53 schrieb:
> Dann versuche es mal über MOSI/MISO. Aber bei dem Board ist das schon
> richtig.
deswegen hab ich auch isp und nicht spi geschrieben.

von Mike (Gast)


Lesenswert?

...Tja, so wie es aussieht kann man wohl per Studio
die ISP Frequenz gar nicht ändern. Also JP2 mal
auf geringe Geschwindigkeit stellen.

Auch das führte leider zu keinem positiven Ergebnis...
Versuch war es wert !

Danke für die Idee

von Ernst (Gast)


Lesenswert?

...Tja, so wie es aussieht kann man wohl per Studio
die ISP Frequenz gar nicht ändern.
Post: 05.02.2011 21:24
im linken Fenster bei ISP Frequency auf Settings gehen und eine deutlich 
geringere Frequenz einstellen. Steht ja derzeit bei dir auf 460,8 KHz.

von Mike (Gast)


Lesenswert?

OK. Wie würdet ihr denn vorgehen ?
Vielleicht könnten wir mal die Einstellungen zusammen durchgehen ?
Ich habe schon alles mögliche ausprobiert. Mit dem Atmega32 gab es 
überhaupt keine Probleme...

Danke im Voraus !

von Michael H. (michael_h45)


Lesenswert?

Michael H. schrieb:
> Mach mal n Photo von deinem Aufbau. Ich würde fehlende Masse oder
> Masseschleife o.ä. vermuten.
> Hast du ein Oszi?

von Frank K. (fchk)


Lesenswert?

Auf dem geposteten Bild sehe ich einen 4'er Jumperblock, der anscheinend 
mit RXD1 RXD0 TXD1 TXD0 beschriftet ist. Zieh mal alle Jumper, die da 
sind. Es könnte sein, dass das in Konflikt mit dem ISP gerät.

Wenn das immer noch nicht hilft, melde Dich per PM bei mir.

fchk

von Michael H. (michael_h45)


Lesenswert?

Mike schrieb:
> Spannungsversorgung - LM1117
Der AtMega muss mit 5V versorgt werden, wenn du ihn über diesen 
ISP-Programmer flashen willst.

von Mike (Gast)


Lesenswert?

@Frank K.

Alle Jumper raus - keine Änderung

@Michael H

Der COntroller wird wahlweise über Netzteil (6-12V) bzw über USB mit 5V 
versorgt.

Alles schon ausprobiert...

von Michael H. (michael_h45)


Lesenswert?

Beitrag "Re: Flashen des Atmega128"
Der Jumper bei J1 aus obigem Post muss bei 5V stehen.


Michael H. schrieb:
> Michael H. schrieb:
>> Mach mal n Photo von deinem Aufbau. Ich würde fehlende Masse oder
>> Masseschleife o.ä. vermuten.
>> Hast du ein Oszi?

von Mike (Gast)


Lesenswert?

Der Jumper befindet sich selbstverständlich an der richtigen Stelle (5V)
Oszilloskop habe ich (so ein altes Ding - aber es funktioniert) !

von Frank K. (fchk)


Lesenswert?

Mike schrieb:
> @Frank K.
>
> Alle Jumper raus - keine Änderung
>

Dann melde Dich bei mir per PM oder schau auf www dot ist da dot com, da 
stehen meine Kontaktdaten. Ich habe hier im Labor genügend Messmittel 
zur Hand, um das Board zu testen.

fchk

von Mike (Gast)


Lesenswert?

Hallo Frank K.

Habe mich nun für die andere Programmiervariante ( JTAG ICE ) 
entschieden.
Den Programmer habe ich aus China bestellt. Ich melde mich wenn ich den 
bekommen habe (3-4 Wochen )

Gruß

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.