Forum: Mikrocontroller und Digitale Elektronik STK 500 lauffähig machen


von Tekkineo T. (tekkineo)


Lesenswert?

Hallo community

ich bin ein absoluter neuling im Bereich mikrocontroller. Habe zu 
weihnachten das Stk500 bekommen und möchte nun damit arbeiten - nur wie 
kann ich da ne verbindung mit dem Laptop herstellen? AVR studio habe ich 
schon installiert. Angeschlossen habe ich das über einen logilink 
rs232-usb converter da ich keine rs232 am laptop habe.
wenn ich auf den AVR-Button klicke kommen folgende werte:
Detecting on 'Auto'...
STK500 with V2 firmware found on COM8:
Getting revisions.. HW: 0x02, SW Major: 0x02, SW Minor: 0x0a .. OK
Getting isp parameter.. SD=0xfe .. OK
allerdings kann ich das programm nicht überspielen - ich weiß nicht was 
ich an parametern alles ein/umstellen muss damit das alles funkt - und 
ich mag nix kaputt machen.
gegenwärtig habe ich den originalen AVR controller drauf, möchte künftig 
aber mit dem Atmega32 arbeiten. Wie lautet die File die ich für den 
Atmega32 includen muss?!
Vielen dank schon mal

von Jörn P. (jonnyp)


Lesenswert?

Must bloß im Gesangbuch schauen, in welchen Sockel der Mega32 reinkommt, 
im AVR studio den Proz einstellen, dann kannst du scon mal die signatur 
auslesen. File ist m32def.inc

von BillX (Gast)


Lesenswert?

Hast du die Kabel richtig gesteckt ?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hast Du das ISP-Kabel (6-polig oder 10-polig) an die passenden 
Pfostenleisten angesteckt? Ist die Target-Spannung im AVR-Studio auf 
größer 3V und kleiner/gleich 5V eingestellt?

von Tekkineo T. (tekkineo)


Lesenswert?

vielen dank für die tipps.
habe mir zu beginn schon das tutorial des boards durchgelesen. da gibts 
ja zum proggen mehrere varianten die high voltage und die isp variante.

@Jörn Paschedag: was meinst du mit signatur auslesen? kann ich damit den 
programmiercode vom chip ins stk holen? oder einfach nur auslesen um 
welche charge, revision etc. sich der uc handelt den ich grad auslese? 
Wo stell ich im AVR den Proz ein? Hab dort nur zwischen den 
verschiedenen Boards das STK500 rausgesucht.

bis jetzt ist ja noch der originalmitgelieferte uc (glaub Atmega8) im 
Sockel und nicht der Atmega32. Das Ispkabel (mein es ist 10 polig) habe 
ich schon richtig mit dem Board Verbunden denk ich - wenn ich heim komm 
kann ich ja mal ein bild machen.
Die Targetspannung... daran habe ich nichts geändert, weil ich da nix 
abschießen wollte wenn ich auf den programmierbutton klicke, dann zeigt 
der mit auch immer die Spannungen an mein ich (war glaub 5.1 V und das 
andere glaub 3.0V - da bin ich mir aber echt nicht sicher)

danke schon mal vielmals

von michael (Gast)


Lesenswert?

Hi,

1. Das isp-kabel ist 6-polig, und man muss es einmal bei "ISP10PIN" 
einstecken und einmal bei dem Stecker, wo auf dem Board die selbe farbe 
ist, wie an dem Sockel, wo dein Mikrocontroller drinsteckt.

2. Deine Spannung ist ok, bei mir zeigt er auch immer 5,1V an.

3. Der mitgelieferte Controller war bei mir ein ATMega8515, das ist KEIN 
ATMega 8.

4. Ich denke mal, du willst Assembler programmieren. Hast du auch beim 
Projekt erstellen angegeben, dass du einen ATMega8515 verwendest? Sonst 
kanns nicht klappen (kann man einfach herausfinden: Im 
Programmierfenster gibts ne Registerkarte, da steht was von Read 
Signature, einfach anklicken und wenn darunter kommt "read signature 
matches selected device", dann passts)

5. wieviele pins hat der mitgelieferte controller? 28 oder mehr? Wenn es 
28 sind, haste eienen ATMega8, sonst wahrscheinlich den ATMega8515.

6. Den Proz kannst du beim Projekt erstellen einstellen, kommt im letzen 
Fenster(immer weiter klicken, nicht ok oder so), in der rechten liste. 
Wenn da keine ist, dann klicke in der linken liste auf den "AVR 
Simulator" oder so ähnlich. Dann müssten in der rechten Liste weiter 
unten die Megas auftauchen.

7. Beim Programmieren musst du darauf achten, dass du das richtige 
hex-file auswählst, sonnst nimmt er immer das, was er als letztes hatte, 
oder wenn er noch gar keins hatte, gar keins.

Hoffe das ich dir helfen konnte, hab mein Board auch zu Weihnachten 
bekommen, hat aber am Tag danach schon geklappt. Das Teil ist super. Du 
solltest unbedingt mal die "STK-500-HW-Beschreibung" lesen, gibts auch 
auf deutsch, und in englisch auf der CD, ich meine es war unter 
"Application Notes".

Michael

von Johannes M. (johnny-m)


Lesenswert?

michael wrote:
> 1. Das isp-kabel ist 6-polig, und man muss es einmal bei "ISP10PIN"
> einstecken
Nö, den muss man schon bei "ISP6PIN" reinstecken...

von Michael 9. (michael93) Benutzerseite


Lesenswert?

bin inzwischen angemeldet

 > Nö, den muss man schon bei "ISP6PIN" reinstecken...

upps, hast Recht, mein ich ja, hab nur etwas zu schnell geguckt...

von Dude (Gast)


Lesenswert?

Hast Du die ISP Frequenz des STK500 richtig eingestellt?

von Jürgen R. (hobbyloeter)


Lesenswert?

> Angeschlossen habe ich das über einen logilink
> rs232-usb converter da ich keine rs232 am laptop habe.

Oh ja, das alte Problem!
Sag mal, wo hast Du den Adapter denn gekauft? Hat der einen 
FTDI-Chipsatz?
Ich hab mindestens 5 Stück hier rumliegen. Alle mit diesem sch*** 
Proflific-Gedöns, das zu nix zu gebrauchen ist.

von Brun .. (brun)


Lesenswert?

Dreh mal die ISP Frequenz so weit runter wie möglich.

Was für eine Fehlermeldung bekommst du denn, wenn du die Signatur 
auslesen willst? (Ist gleich im ersten Tab)

von Tekkineo T. (tekkineo)


Lesenswert?

Vielen dank für die tipps. bis jetzt bin ich noch nicht dazu gekommen 
alles zu testen. ABER: danke für den tipp mit dem deutschen handbuch – 
werde mir das mal ansehen und ausdrucken! Das was ich las war englisch 
und verstanden habe ich da nicht alles 100%ig.

Also das ISP kabel ist definitiv richtig. es steckte immer in ISP6PIN 
und war dann auf entspre-chende farbe vom Chip gelesteckt

Der uc der mitgeliefert ist war ein 40poliger – also denke ich ist es 
der ATmega8515.

Bezüglich rs232 auf usb converter. ich denke auch dass das daran liegen 
kann, aber ich habe ein multimeter, das ich an den pc anschließen kann. 
Lustig: über das mitgelieferte USB kabel geht das Messgerät nicht. Wenn 
ich es über das rs232 kabel und dann eben den rs232-usb adapter 
verwende, funktioniert dieses… woher erkenn ich welcher chip in dem teil 
verbaut ist und ob das die Ursache sein kann?

Dann zum Programmieren – ehrlich gesagt kann ich mich nicht mehr daran 
erinnern was ich da eingestellt habe. Ich werde einfach ein neues 
projekt aufmachen. Zum Thema Assembler. Ich habe c-kenntnisse und wollte 
das in einer ähnlichen syntax im AVR-Studio programmieren. Der complier 
sollte das doch dann vor dem flashen in assembler umwandeln oder irre 
ich mich da jetzt? Und für was ist das hex-file zuständig?

Wenn ich dazu komme werde ich die Signatur mal auslesen versuchen und 
gebe euch be-scheid, allerdings kann das noch ne weile dauern. Möchte 
dann auch erst mal die deutsche Anleitung mal durchlesen, damit ich da 
besser informiert bin.
Danke euch!

von Michael 9. (michael93) Benutzerseite


Lesenswert?

wenn du in C programmierst, musst du nicht die mXdef.inc datei 
einbinden, sondern die <avr/io.h> (bei allen µC's). Um mit C was zu 
machen musst du erst WinAVR installieren.
Wenn du deinen c-code dann eingetippt hast, musst du einfach F7 drücken, 
dann wird dein Programm compiliert und ein hex-file produziert.
Wenn unten was von error steht, stimmt dein code nicht.

Wenn dein Code stimmt, mach das Programmierfenster auf. Dort musst du 
das hex file aussuchen, dass du flashen willst. Es liegt in einem 
unterverzeichniss von deinem Projektordner und heißt so wie dein 
Haupt-C-file, nur mit .hex statt .c.
Dann nurnoch auf Programmieren klicken und dein µC wird geflashed.

Und es lohnt sich, auch mal ins AVR-Tutorial (Assembler) reinuschauen, 
auch wenn man mit c proggt, man lernt etwas über die begriffe und so. 
Das AVR-GCC Tutorial schadet aber auch nie.

> Der complier
sollte das doch dann vor dem flashen in assembler umwandeln oder irre
ich mich da jetzt?

Nein, du irrst dich nicht, der Compiler wandelt es in Assembler um und 
dann in einen vom µC ausführbaren Code, dem hex-file.

Michael

von Tekkineo T. (tekkineo)


Lesenswert?

hab grad in avr studio den wizzard gestartet...
dort muss ich nen debugger auswählen... glaub da liegt schon mal der 
erste hund begraben...
ich kann wählen zwischen: avr dragon, avr one, avr simulator, avr 
simulator 2, ice 200, ic3 50, ice 40, jtag ice, jtag ice mkII.
das ist aber kein stk... dragon ist doch auch ein prog board, oder???
was soll ich da auswählen? wenn der original atmega 8515 nicht auf der 
liste ist - welchen soll ich dann nehmen?

von STK500-Besitzer (Gast)


Lesenswert?

>wenn der original atmega 8515 nicht auf der
>liste ist - welchen soll ich dann nehmen?

Den Simulator! Die Abfrage des Controllers kommt später.

von Jörn P. (jonnyp)


Angehängte Dateien:

Lesenswert?

Sorry das meine Antwort jetzt erst kommt, lag 2 Tage flach,Grippe.
Inzwischen sind ja schon etliche Antworten eingetroffen, aber ich werde 
die Bilder für die Connection mit dem STK500 trotzdem reinhängen.
Wenn das STK500 nicht gelistet ist ,wähle als device das AVRISP, danach 
wird das stk erkannt. Sollte die Verbindung dann immer noch nicht 
klappen, könnte die ISP Frequency zu hoch sein. Du kannst sie dann z.B. 
auf 115 kHz setzen (write) und mit READ wieder abfragen. Dann kannst du 
auch die Signatur des Chips (sozusagen seinen Pesonalausweis) 
auslesen.(Signature matches selected device).
Inzwische wirst du ja wohl rausgefunden haben, ob es der ATmega8515 ist. 
Das steht doch drauf oder?  ;-)

von Tekkineo T. (tekkineo)


Lesenswert?

so, vor wochen habe ich nun die signatur auslesen können...
und löschen ging auch...
aber mehr auch nicht - als ich was flashen wollte kam so ne 
fehlermeldung, dass ich anschlüsse und takt etc. untersuchen soll, da 
habe ich aber nix rumgestellt...
beim atmega32 wars genauso

von Hubert G. (hubertg)


Lesenswert?

Was hast du für eine ISP-Frequenz eingestellt?

von Jörn P. (jonnyp)


Lesenswert?

Deine Infos sind ein wenig dürftig. Reden wir jetzt vom Mega32 oder vom 
8515?
Wenn der Mega32 neu ist, läuft er mit internem Takt 1MHz und JTAG 
eingeschaltet. Wenn der Proz im richtigen Sockel steckt, das 6-polige 
Kabel richtig gesteckt ist, der µC in der Software richtig ausgewählt 
ist und die ISP-Frequenz weniger als 1/4 Taktfrequenz ist, (bei neuen 
Mega32 also unter 250kHz), dann kannst du auch mit ihm "reden".

von Tekkineo T. (tekkineo)


Lesenswert?

ich denke ich habe die geringste frequenz eingestellt... wenn ich dazu 
komme werde ich es die tage probieren - keine ahnung wann, da ich viel 
um die ohren habe in letzter zeit... wenn ich die fehlermeldung noch 
habe werde ich se kopieren. danke

von Tekkineo T. (tekkineo)


Angehängte Dateien:

Lesenswert?

Gestern habe ich es geschafft mit dem 8515 zu reden und auch ein prog 
draufzuspielen... beim mega klappte es nicht
Die übliche Fehlermeldung... habe dann noch verschiedene atmegas32 
probliert auszuwählen (deswegen im bild der 323)... ging aber auch nicht 
- nicht mal die signatur konnte ich auslesen...

von spess53 (Gast)


Lesenswert?

Hi

1. Wenn du einen ATMega32 hast, musst du auch ATMega32 auswählen.

2. Deine ISP-Frequenz von 460,8 kHz ist für einen neuen ATMega zu hoch.
   Nimm ca. 150 kHz.

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

p.s.: Bildformate  JPEG ist nicht sinnvoll für einen Screenshot.

von Tekkineo T. (tekkineo)


Lesenswert?

ja, sehe ich auch grad, dass das bissl suboptimal dargestellt wird. 
sorry...
danke für den hinweis - werde es mal probieren. gestern habe ich nach 
langem suchen auch erst gefunden welche datei ich für das includen von 
dem mega32 angeben. gibt es irgendwo eine übersicht wo steht welche 
datein für welchen proz sind, und welche weiteren inc-header es im 
studio gibt, die man includen kann um das ganze zu vereinfachen (wie in 
c die stdio.h und so weiter)
danke schon mal
grüße

von spess53 (Gast)


Lesenswert?

Hi

Im einfachsten Fall siehst du in deinem AVR-Studio-Verzeichnis
->AVRASSEMBLER2->APPNOTES nach. Dort sind die ganzen Includedateien.

MfG Spess

von Tekkineo T. (tekkineo)


Lesenswert?

Ich glaub ich bin da echt zu blöd dazu.
Also der 8515 geht.
Mit dem mega32 kann ich nicht „reden“. Hab ihn normal eingesteckt, 
ispkabel richtig verbunden (schließlich kann ich über diese 
Konfiguration ja mit dem 8515 „reden“). Im Programmierfenster „STK500 in 
ISP mode with ATmega32“ habe ich im Reiter „Main“ den Mega32 ausgewählt 
und als Programming mode „Isp mode“ gewählt. Unter settings kann ich den 
Read und write fre-quens auf 115khz gestellt (auch bei 57khz, 4khz und 
1khz geht’s ned) was die nächste stufe unter 460khz ist. Auch im Reiter 
HW Settings habe ich ein bisschen mit der Frequenz gespielt (nicht mit 
den Spannungen) – leider ohne Erfolg…
Kann es sein dass der Proz kauptt ist, weil ich da mal so gar nichts 
machen kann?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tekkineo Tk schrieb:

> Mit dem mega32 kann ich nicht „reden“. Hab ihn normal eingesteckt,
> ispkabel richtig verbunden (schließlich kann ich über diese
> Konfiguration ja mit dem 8515 „reden“).

Urks!  Ein ATmega8515 und ein ATmega32 sind zwei sehr verschiedene
Teile!  Ich hoffe mal für dich, dass du den '32er nicht in die
Fassung des '8515er gesteckt hast...  Das dürfte es sonst gewesen
sein für das arme Teil.

von Tekkineo T. (tekkineo)


Lesenswert?

eigentlich schon - wo hätte ich den denn sonst in des stk500 stecken 
sollen - wenn ich das isp kabel stecke, dann ist doch laut anleitung 
egal ob ich den linken oder den rechten sockel verwende, oder? 
hauptsachee 40 poliger sockel...
zumindest würde das erklären warum das ding nicht funkt - wenn der hin 
ist... dann sollte wohl ein neuer her... ich glaube ich kauf das zeug 
auf vorrat... dann muss ich nicht immer neu bestellen wenn ich die 
dinger verbrate - sowas nennt man wohl lehrgeld bezahlen...

von spess53 (Gast)


Lesenswert?

Hi

>- wenn ich das isp kabel stecke, dann ist doch laut anleitung
>egal ob ich den linken oder den rechten sockel verwende, oder?
>hauptsachee 40 poliger sockel...

Das ist überhaupt nicht egal. Die Sockel haben eine unterschiedliche 
Belegung, z.B. VCC/GND.

>ich glaube ich kauf das zeug
>auf vorrat... dann muss ich nicht immer neu bestellen wenn ich die
>dinger verbrate - sowas nennt man wohl lehrgeld bezahlen...

Oder erst mal überlegen, was man macht.

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tekkineo Tk schrieb:

> hauptsachee 40 poliger sockel...

Mon dieu!

Lies dir doch bitte die Anleitung auch wirklich durch, bevor du
anfängst.  Selbst die gedruckte würde hier genügen, aktuell ist
immer die in der Online-Hilfe von AVR Studio.

Nein, es ist natürlich nicht egal, warum zum Geier hätten sie
sonst da zwei Stück drauf gebaut?  Der eine benutzt das sogenannte
"Industriestandard"-Pinout (sprich: kompatibel zum 8051), da ist
die Versorgung (wie bei 74xx TTL) in der linken oberen und rechten
unteren Ecke des Gehäuses.  Der ander hat ein Pinout, das notwendig
geworden ist, damit man für den Betrieb des ADC die notwendigen
Abblockungsmaßnahmen sinnvoll vornehmen kann.  Dort werden
Betriebsspannung und Masse an Pins in der Mitte des ICs zugeführt.

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.