Forum: Mikrocontroller und Digitale Elektronik ATmega644-20PU mit STK500


von Mike S. (floxxx)


Lesenswert?

Hallo zusammen,

ich benutze das STK500 Board und programmiere gerade mit einem 
ATmega8515. Nun bin ich wegen Speichermangels auf einen ATmega644-20PU 
umgestiegen und bekomme ihn auf dem STK500 nicht zum laufen.
Mit dem ATmega8515 hat alles bestens funktioniert. Habe daraufhin den 
neuen Controller eingesteckt. Dieser wird vom AVR Studio auch erkannt 
und ich kann ihn auch flashen(komischerweise egal in welchem Sockel er 
steckt??). Das Programm hat jedoch keinerlei Wirkung mehr auf die von 
mir entwickelte Schaltung.

PS:
Device in AVR Studio hab ich auf ATmega644 umgestellt,
Programmiersprache ist C

Kann es evtl sein, dass ich ein anderes include-file als avr/io.h 
brauche oder muss ich irgendwelche Jumper am Board verändern.

Bin ratlos und hoffe, dass hier jemand bescheid weiß.
schon mal Danke für kommende Antworten.

von spess53 (Gast)


Lesenswert?

Hi

>Mit dem ATmega8515 hat alles bestens funktioniert.

Dir ist aber bewusst, das der 644 in einen anderen Sockel wie der 8515 
gehört.

>Dieser wird vom AVR Studio auch erkannt
>und ich kann ihn auch flashen(komischerweise egal in welchem Sockel er
>steckt??).

Möchte mal sehen, wie sich ein ATMega644 in einem 8pol. macht.

Der ATMega644 gehört in den roten Sockel SCKT3100A3. Und nicht vergessen 
den ISP-Header mit dem passenden Target-Header verbinden.

MfG Spess

von Mike S. (floxxx)


Lesenswert?

Danke für die schnelle Antwort.
Der Controller steckt im roten SCKT3100A3 Sockel und der ISP Header ist 
ebenfalls mit dem roten Stecker verbunden. Vom Anschluss her sollte 
alles passe. Die frage ist ob noch irgendwelche Jumper speziell für den 
ATmega644 geändert werden müssen oder ob im AVR Studio gegenüber dem 
ATmega8515 irgendwas anders funktioniert??

von Uhu U. (uhu)


Lesenswert?

Hast du nochmal mit der neuen Controllereinstellung compiliert?

von AVRli (Gast)


Lesenswert?

Hallo,

schau mal ob die Fuses richtig sind. Clock div 8 hat mich auch schon auf 
die Palme gebracht.

Gruß AVRli...

von spess53 (Gast)


Lesenswert?

HI

>Die frage ist ob noch irgendwelche Jumper speziell für den
>ATmega644 geändert werden müssen oder ob im AVR Studio gegenüber dem
>ATmega8515 irgendwas anders funktioniert??

Normalerweise nicht. Als Erstes solltest du die Signatur auslesen. Wenn 
das nicht klappt macht Flashen keinen Sinn. Bist du sicher, das du den 
richtigen ATMega644 eingestellt hast?

MfG Spess

von Mike S. (floxxx)


Lesenswert?

Der richtige Controller ist eingestellt und die Signatur wurde richtig 
ausgelesen (Device match OK!, oder so). Kompiliert habe ich natürlich 
auch nochmal. Die Idee mit den Fuses (speziell CKDIV8) habe ich mit und 
ohne Häkchen getestet und ich kann in beiden Varianten flashen. Leider 
kein Erfolg. Zum testen verwende ich übrigens ein miniProgramm, das 
lediglich 4 von 8 LEDs einschalten soll. Habe auch schon in Erwägung 
gezogen, dass der Controller hinüber ist. Mit dem gleichen Controller in 
Neu funktionierts aber auch nicht.

von Mike S. (floxxx)


Angehängte Dateien:

Lesenswert?

Hier noch der Screenshot von den Fuses.

Kommt das STK500 eigentlich von sich aus mit den 20MHz des ATmega644 
klar? Versteht der Controller bzw dessen Register die im Rahmen der 
avr\io.h verwendeten Begriffe wie DDRC, PORTA, etc...?

von spess53 (Gast)


Lesenswert?

Hi

Und hast du auch:

1. Bei 'Flash' das richtige File eingestellt?
2. 'Erase Device before flash prgramming' aktiviert?
3. 'Verify Device after programming' aktiviert?

Welche Meldungen kommen beim Flashen?.

MfG Spess

von Mike S. (floxxx)


Lesenswert?

OK - es funktioniert!

Das Problem war dass ich den Controller nur im Programmierfenster und 
nicht im Projekt selbst eingestellt habe - blöder Anfängerfehler.
Trotzdem Vielen Dank an alle die mir helfen wollten.

Jedoch habe ich noch ein kleines anderes Problem. Der Controller sollte 
20MHz haben, taktet aber nur mit 8MHz. Wo muss ich das einstellen?

von spess53 (Gast)


Lesenswert?

Hi

>Jedoch habe ich noch ein kleines anderes Problem. Der Controller sollte
>20MHz haben, taktet aber nur mit 8MHz. Wo muss ich das einstellen?

Auf dem STK?

Wenn ja, dann 20MHz-Quarz in den Sockel stecken und umjumpern. Dann 
Fuses entsprechend Programmieren.

MfG Spess

von Mike S. (floxxx)


Lesenswert?

nein nicht auf dem STK.

ich möchte den internen Takt des Controllers verwenden.

von spess53 (Gast)


Lesenswert?

Hi

Der hat intern keine 20 MHz.

MfG Spess

von Mike S. (floxxx)


Lesenswert?

OK. und wo hat er dann die 8MHz her? vom STK?

von spess53 (Gast)


Lesenswert?

Hi

>OK. und wo hat er dann die 8MHz her? vom STK?

Hast du dich eigentlich schon mal ansatzweise mit dem Datenblatt 
beschäftigt?

MfG Spess

von Mike S. (floxxx)


Lesenswert?

OK - Habs gesehen. Interner 8MHz Clock Generator. nochmals Danke.

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.