Forum: Mikrocontroller und Digitale Elektronik stk500 mit stk501 probleme


von heinrich (Gast)


Lesenswert?

guten abend zusammen,
Ich habe mir heute das starterkit 500 und das zusatzboard stk 501 
gekauft und wollte gleich loslegen mit einem Programm. Als include file 
habe ich eine atmega128 eingebunden. Nun der code wird in assembler 
compilirt. Null fehler. Nun das problem.

Meine erste frage: reicht es wenn ich das stk501 einfach auf das stk500 
stecke und den prozessor einlege atmega128? Die kabel sind nämlich wie 
am anfang beschrieben in der anleitung vom stk500. Muss ich die kabel 
irgendwie umstecken oder etwas in der art?

Zweite frage:ständig bekomme ich angezeigt dass die firmware auf dem 
board älter ist.wie upgrade ich diese

Und das dritte problem. Bei bestimmten funktionen wie zum beispiel für 
schleifen die einen tastendruck abwarten oder ähnliches erscheint immer 
eine meldung, die anscheinen etwas mit isp zutun hat.

Es ist eine art hinweis meldung.der code ist aber richtig.daher hängt 
diese frage ja auch eventuell mit der ersten zusammen. Vllt habt ihr 
eine idee wie die kabel umgesteckt werden müssen für das 
erweiterungsboard stk501 und eventuell kann mir jemand hier ein bild 
zeigen.

Habe mein programm nämlich draufgelade und es leuchtet  ständig nur eine 
led und jeder mal wenn ich in avr0studio was mache leuchten kurz die 
ersten drei leds also wenn ich mich im fenster befinde wo ich die 
hexfile drauflade.

von spess53 (Gast)


Lesenswert?

Hi

>Meine erste frage: reicht es wenn ich das stk501 einfach auf das stk500
>stecke und den prozessor einlege atmega128? Die kabel sind nämlich wie...

Du musst den Steckverbinder ISP6PIN vom STK500 mit SPROG vom STK500 
verbinden.

>Zweite frage:ständig bekomme ich angezeigt dass die firmware auf dem
>board älter ist.wie upgrade ich diese...

Im AVR-Studio-Verzeichnis->STK500 'upgrate.exe' ausführen. Anweisungen
beachten.

>Bei bestimmten funktionen wie zum beispiel für
>schleifen die einen tastendruck abwarten oder ähnliches erscheint immer
>eine meldung, die anscheinen etwas mit isp zutun hat.

Mit Sicherheit nicht.

>Es ist eine art hinweis meldung.

Welche Meldung?

>der code ist aber richtig

Das sagen alle.

>kann mir jemand hier ein bild zeigen.

Schon mal die Hilfe zum STK500/501 im AVR-Studio angesehen?

MfG Spess

von heinrich (Gast)


Lesenswert?

ok danke erstmal.schaue heute abend mal genauer hin und poste hier dann 
alles.bist du dir sicher, dass ich was stecker angeht nur den einen 
verbinden muss, denn du zu meiner ersten frage genannt hast?  Der code 
war übrigens vom prof und wenn ich den einen teil lösche, dann geht 
es.vllt liegt es wirklich an der falschen verbindung :-)

von spess53 (Gast)


Lesenswert?

Hi

Der code war übrigens vom prof und wenn ich den einen teil lösche, dann 
geht es.vllt liegt es wirklich an der falschen verbindung :-)

Was geht und was nicht. Deine Beschreibungen sind, gelinde gesagt, etwas 
konfus.

MfG Spess

P.S. Auch Profs sind keine Götter

von Heinrich (Gast)


Lesenswert?

So, habe mal aus spass diesen Code hier aus dem Forum genommen:


.include "ATMega128.inc"

  ldi r16, 0xff
  sts DDRB, r16

  ldi r16,~0x00
  sts PORTB,r16


  ldi r16,0x00
  sts DDRD, r16

  ldi r16, 0x01
  sts PORTD, r16


  ldi r17, 0x04  ;welcher_Knopf
  ldi r18, 0x00  ;i
  ldi r19, 0x04  ;zum vergleichen in while schleife



forschleife:

  lds r20, PIND

  inc r18
  and r17,r20    ;logische verundung steht in r17
  cp r19,r17     ;wenn gleich gehts weiter

  brne forschleife


  mov r21,r18
  sts PORTB,r21




  jmp forschleife




Dieses Programm funktioniert überhaupt nicht?!





Nun folgendes Programm verursacht einen Fehler:
1
.include "ATMega128.inc"
2
3
4
; Stackpointer sei schon initialisiert
5
main:
6
call init_port ;Init Wert R17
7
while: ;forever
8
call taste
9
call lauflicht
10
rjmp while
11
12
13
init_port: ; returns R17
14
push R16
15
ldi R16,0xff ;port B=output
16
sts DDRB,R16
17
ldi R16,0x40 ;pin D6 pullup
18
sts PORTD,R16
19
ldi R17,~1 ;init LED 1 on
20
sts PORTB,R17
21
pull R16
22
ret ;in R17 Startwert
23
24
wait: lds r16,PIND ; warte auf
25
andi r16,0x40 ; „losgelassen“
26
breq wait
27
jmp loop ;-> Hauptschleife
28
29
30
Taste:
31
push r16
32
loop:
33
lds r16,PIND ;Portbits holen
34
andi r16,0x40 ;Tastenbit maskieren
35
brne loop ;1 = offen
36
pop r16
37
ret
38
39
40
Lauflicht:
41
push r16
42
push r17
43
lds r17,PORTB ;letzter Wert
44
mov r16,r17
45
rol r16 ;save MSB -> C
46
rol r17 ;re-enter MSB
47
sts PORTB,r17
48
pop r17
49
pop r16
50
ret

Zum einen bekomme ich in der Zeile, wo "pull" steht eine Fehlermeldung 
und zum anderen wird das Programm nicht einmal auf den stk500 und stk501 
draufgeflasht, sondern es kommt die Meldung:

"STK500 with STK501 moule in ISP mode with ATMega128"

A problem occured when executing the command.  Make sure that you are 
using the correct programming methode. Current mode is ISP. See the 
command output for moire info.  etc. ....


Wenn ich aber nun die Zeile mit Lauflicht oder Taste, also eines von 
beiden lösche, kommt es nicht mehr, aber das Progframm funktioniert dann 
trotzdem nicht?!

von Heinrich (Gast)


Lesenswert?

ach, du meinst den ISP6PIN vom SPROG3 abtziehen unsd auf das stk501 zu 
sprog verbinden?

von Heinrich (Gast)


Lesenswert?

übrigens was upgrade betrifft bin ich in da sstk500 verzeichnis und 
upgrade angeklickt aber da steht es geht nicht, failed!!!

von spess53 (Gast)


Lesenswert?

Hi

>ach, du meinst den ISP6PIN vom SPROG3 abtziehen unsd auf das stk501 zu
>sprog verbinden?

Ja!!!!!!!!!!!!!!!!!!!!!!!!!

Die Hochschullehrerkonferez hat vor einiger Zeit festgestellt, das 1/3 
aller Abiturienten nicht hochschullreif sind. War wahrscheinlich massiv 
untertrieben.

M;fG Spess

von Heinrich (Gast)


Lesenswert?

na, da hast du dich aber verschrieben, du hast oben nämlich stk500 
geschrieben, aber der ist am stk501. Nunja, jetzt kommt die 
fehlermeldung nicht mehr, aber ein lauflicht sehe ich dennoch nicht, 
außer dass beim erase immer die led1 leuchtet. Update habe ich auch 
schon gemacht.,

von Heinrich (Gast)


Lesenswert?

ach und die schulbildung hat nichts damit zutun, wenn einem das Thema 
nicht liegt oder man gerade erst einsteigt.der eine ist im programmieren 
gut, der andere im BEreich Sport ;)


60% Prozent aller Befragten haben zugegeben zu wenig Sport zu treiben ;)

von Heinrich (Gast)


Lesenswert?

So, nun eine Frage. Trotz Erasen bekomme ich keinen neuen Code auf den 
stk. jedes mal wenn ich einen neuen code erstelle bzw. erstmal erase, 
belitb das programm drauf???

von spess53 (Gast)


Lesenswert?

HI

Dann solltest du beim Sport bleiben. Hier sind schon um einiges jüngere 
Schüler eingestiegen, die sich wesentlich intelligenter wie du 
angestellt haben.

Ich bin raus.

MfG Spess

P.S.

>So, habe mal aus spass diesen Code hier aus dem Forum genommen:
>..................

Dann kennst du ja meine Antwort

von heinrich (Gast)


Lesenswert?

na das nenne ich tolle unterstützung hier, danke auch.und mag ja sein 
dass jüngere intelligenter sind.aber du hast mir den anschluss vom 
stk500 genannt statt 501. Und es wäre einfacher wenn du helfen würdest 
statt mir zu beweisen wie blöd ich mich doch anstelle . Und klar bleibe 
ich bei dem sport.aber nur weil mir das thema nicht liegt heißt es nicht 
dass ich es nicht lernen möchte.und nur weil ich nicht gleich alles 
verstehe heißt es nicht das ich dumm bin. Aber vllt gibt es hier auch 
jemanden der meine frage beantwortenm kann / jetzt wissen wir warum du 
kein prof bist.weil du dir keine zeit oder geduld nimmst.und was wissen 
betrifft weiß man nur soviel, so viel man beigebracht bekommt. Und wenn 
du alles weist würdest du längst einstein übertreffen. Ich habe z.b. 
Konzentrationsschwäche.dafür kann ich nichts.und du vllt ein besserer 
verständnis.es gibt immer welche die besser sind und ich verstehe aus 
deiner sicht einfache dinge nicht.aber es gibt weitaus mehr die nicht 
mal wissen was ein controller ist, weil die vllt in andere bereiche 
arbeiten etc.

von STK500-Besitzer (Gast)


Lesenswert?

Noch mal von Anfang an:


>Meine erste frage: reicht es wenn ich das stk501 einfach auf das stk500
>stecke und den prozessor einlege atmega128? Die kabel sind nämlich wie
>am anfang beschrieben in der anleitung vom stk500. Muss ich die kabel
>irgendwie umstecken oder etwas in der art?

Ja. Das reicht.
Seite 7 (Abschnitt 2.1):
http://www.atmel.com/dyn/resources/prod_documents/DOC2491.PDF

>Zweite frage:ständig bekomme ich angezeigt dass die firmware auf dem
>board älter ist.wie upgrade ich diese
http://www.atmel.com/dyn/resources/prod_documents/doc1925.pdf
Seite 37 (Abschnitt 3.11.2)

>Und das dritte problem. Bei bestimmten funktionen wie zum beispiel für
>schleifen die einen tastendruck abwarten oder ähnliches erscheint immer
>eine meldung, die anscheinen etwas mit isp zutun hat.
Das ist wirr. Das Programm, das in den AVR geladen wird, hat nichts mit 
ISP zu tun. ISP ist die Programmiermethode. Beim Programmieren (auch 
"Brennen") genannt), werden nur Bits übertragen, deren Bedeutung dem 
Programmer nicht interessiert.

>Es ist eine art hinweis meldung.der code ist aber richtig.daher hängt
>diese frage ja auch eventuell mit der ersten zusammen. Vllt habt ihr
>eine idee wie die kabel umgesteckt werden müssen für das
>erweiterungsboard stk501 und eventuell kann mir jemand hier ein bild
>zeigen.

http://www.atmel.com/dyn/resources/prod_documents/DOC2491.PDF

von heinrich (Gast)


Lesenswert?

also wenn ich das stk500 mit dem stk501 über das kabel verbinde wie oben 
beschrieben, erscheint die oben genannte fehlermeldung nicht mehr.jetzt 
habe ich aber probleme beim flashen.kann irgendwie die programme nicht 
mehr erazen.

von STK500-Besitzer (Gast)


Lesenswert?

>also wenn ich das stk500 mit dem stk501 über das kabel verbinde wie oben
>beschrieben, erscheint die oben genannte fehlermeldung nicht mehr.jetzt
>habe ich aber probleme beim flashen.kann irgendwie die programme nicht
>mehr erazen.

Sieht so aus, als hättest du den falschen Programmiermodus ausgewählt.
Mach mal einen Screenshot von deinem Programmierfenster.

Und gewöhn dir bitte Großschreibung und sinnvolle Absätze an. Man ja 
Augenkrebs von deinem Getippe.

von Heinrich (Gast)


Angehängte Dateien:

Lesenswert?

Anbei das Bild.

Ich habe AtMega128 eingestellt und habe als Beispiel das Programm dem 
Tutorial hier genommen. Nur leider leuchten nicht die LEDs, die leuchten 
sollten.


Muss ich eventuell, wenn ich das STK501 benutze, den Chip vom STK500 
entnehmen, der da auf der weiß-marktien Stelle ist? Oder macht das 
nichts?

Verstehe nicht, warum die Programme was anderes anzeigen, als sie 
sollten. Vielleicht habe ich irgendwas falsch angeschlossen. Habe aber 
alle Kabel wie beschrieben.

von Michael U. (amiga)


Lesenswert?

Hallo,

Heinrich wrote:
> Muss ich eventuell, wenn ich das STK501 benutze, den Chip vom STK500
> entnehmen, der da auf der weiß-marktien Stelle ist? Oder macht das
> nichts?

Wie ein Blick in die Schaltpläne des STK500 verrät, sind alle Anschlüsse 
der IC-Fassungen und Erweiterungsstecker mehr oder weniger direkt 
parallel geschaltet.

Logischweise darf sich nur EIN AVR auf STK500/501 befinden, wenn die 
sich nicht unberechenbar gegenseitig stören sollen...

PS: sauch wenn ich nur tapezieren will, muß ich mich doch etwas mit den 
Grundlagen solcher Arbeit befassen.
Vermutlich kann man Tapete auch quer an die Wand nageln, man sollte sich 
dann aber nicht wundern, wenn andere das befremdlich finden. ;)

Ein Programm schreiben ist eine Seite, für die Grundlagen der Werkzeuge 
wie Testboard, ISP-Programmierung oder die Grundlagen der Elektronik 
sollte man aber wohl doch etwas Zeit einplanen.

Gruß aus Berlin
Michael

von STK500-Besitzer (Gast)


Lesenswert?

Das Bild ist ja recht schön, aber wenig sinnvoll.
Zeig mal bitte eins vvom Programmierdialog.

Und dann solltest du dir die von mir verlinkten Handbücher mal angucken.

von Heinrich (Gast)


Lesenswert?

habe mir die Bücher angeschaut. Aber die Programme scheinen sich einfach 
nicht gescheit flashen zu lassen bzw. trotz erasen beiben die Programme 
auf dem Controller. Hab das Gefühl die Register sind anders´verteilt, 
was die Rechte angeht.

von Heinrich (Gast)


Angehängte Dateien:

Lesenswert?

so, hab jetzt den prozessor rausgemacht vom stk500 aus dem roten 
bereich, obwohl, wenn das kabel von SPROG3 abgetrennt ist, das 
eigentlich dennoch funktionieren sollte. Nun habe ich ein Bild vom 
Programm gemacht, dass auf dieser tutorialseite von avr ist, also das 
programm, was in meinem vorherigen beitrag zusehen ist! Aber die Dioden 
leuchten nicht.

von spess53 (Gast)


Lesenswert?

Hi

1E 97 04 -> ATMEGA1281. Dilettantismus pur.

MfG Spess

von Michael U. (amiga)


Lesenswert?

Hallo,

warum sollte er auch die Warnung lesen und darüber nachdenken...

> Hab das Gefühl die Register sind anders´verteilt,
was die Rechte angeht.

Seit wann haben Register Rechte? Die haben zu machen, was man ihnen 
sagt...

Gruß aus Berlin
Michael

von heinrich (Gast)


Lesenswert?

also ehrlich gesagt habe ich bisher keine große hilfe bekommen.ich 
vermute das stk 501 ist defekt.habe kein programm richtig compiliert 
bekommen

von spess53 (Gast)


Lesenswert?

Hi

>also ehrlich gesagt habe ich bisher keine große hilfe bekommen...

Sollen jetzt alle zu dir kommen, und dich beim Händchen nehmen?

>ich vermute das stk 501 ist defekt.habe kein programm richtig compiliert
>bekommen

Der Compiler des STK501 hat durchaus seine Macken. Die Grösste ist, das 
er keinen hat.

Du hast in der ganzen Zeit noch nicht einmal mitbekommen, das du gar 
keinen ATMega128, sondern einen ATMega1281 hast.

Ist es irgendwie zuviel verlangt, das du dich erst mal selbst mit den 
Grundlagen beschäftigst? Oder mal andersherum: Was erwartest du hier 
eigentlich?

MfG Spess

von Heinrich (Gast)


Lesenswert?

Hi, ok, hast Recht, habe nicht genau hingeschautg, dass es ein 
Atmega1281 ist Habe mich zu sehr von der ATMega128.inc verleiten lassen. 
Sag mal wie ist es mit den include Dateien genau. Kann ich z.B. auf den 
ATMega1281 auch PRogramme aus diesem Tutorial ausführen, die eigentlich 
für den ATnmega8 gedacht waren? Normalerweise enthält ja die include 
Datei die Befehle, die spezifisch sind für meinen PRozessor. Und jeder 
>chip nutzt ja andere Register, andere BEfehle eventuell etc.

von Heinrich (Gast)


Lesenswert?

ich Frage n ur deshalb, weil mit dem Atmea1281 funktiuonieren die 
TRutorialprogramme nicht, aber mit dem 8515 funktionieren die 
irgendwie?! obwohl die inklude Datei für Atmega8 gedacht ist?!

von Marius W. (mw1987)


Lesenswert?

Meine Güte. Wieso fängst du nicht mit einem ATMega8 auf dem STK500 an 
und lässt das STK501 erstmal weg?

Dann kannst du alle Tutorial-Programme testen.

Und wenn du jetzt mit einem "aber" kommst, dann hilft dir sicherlich 
keiner mehr.

MfG
Marius

von Heinrich (Gast)


Lesenswert?

Weil ich dachte, dass diese einfachewn BEfehle aus dem I/O Tutorial auch 
auf den 8515 wenigstens funktionieren, ist ja an sich nicht viel Code. 
VErstehe das nur nicht.

von Marius W. (mw1987)


Lesenswert?

So langsam hab ich keine Lust mehr. Erst fängst du mit einem ATMega1281 
an, jetzt ATMega8515.

Lern erstmal die Grundlagen. Nimm den ATMega8515 und versuch ne LED ans 
Blinken zu bekommen, und versuch zu verstehen, wie der Assembler 
funktioniert, dann lernst du auch viel darüber, wie der µC intern 
arbeitet.

MfG
Marius

von heinrich (Gast)


Lesenswert?

Mach ich auch so. Mir fällt es eben nur schwer die Datenblätter richtig 
zu verstehen. Vielleicht hätte ich mit etwas leichteren anfangen sollen. 
Ich werde jetzt erstmal das Tutoricl abarbeiten.

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.