Guten Abend Zusammen, ich habe mir jetzt für die Uni ein Atmel Stk500 zugelegt. Dort haben wir derzeit das Stk500, Stk501 (für Atmega128) und einen Debugger Mk2 oder sowas in der Art im Einsatz. Letzteres benötigt man aber nicht unbedingt. Leider habe ich ein paar Fragen. Frage 1: Wenn ich diesen Code hier ausführe, passiert nichts: .include "mega128.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 Das ist natürlich nur ein Beispiel. Das liegt natürlich daran, dass das Stk501 noch nicht drangesteckt wurde. Aber warum funktioniert es nicht auf dem Stk500 trotz fehlendem Stk501. Ok, wir programmieren in der UNi mit stk500 und stk501, aber das hier ist doch Maschinensprache und Befehl ist doch Befehl oder? Fehler hat mir das Avr nicht angezeigt, da ich in AVR Atmega128 eingestellt habe. Da es aber auf dem Stk500 nicht drauf ist, funktioniert es ohne stk5401 nicht oder? Zweite Frage: Wenn ich statt der mega128.inc eine andere Datei inkluden möchte, funktionietrt der Befehl jmp nicht, sondern nur rjmp, woran liegt das denn? und als letztes möchte ich kich erkundigen, was ich jetzt mit dem stk500 eigentlich machen kann und welche dateien ich oben statt mega128.inc einbinden kann? Und was genau stele ich im AVR Studio ein vor allem beim überspielen auf den Controller, denn es gibt so viele Einstellungen und Häkchen, habe echt keinen Durchblick.
Hi >Das ist natürlich nur ein Beispiel. Das liegt natürlich daran, dass das >Stk501 noch nicht drangesteckt wurde. Aber warum funktioniert es nicht >auf dem Stk500 trotz fehlendem Stk501..... ???????????????????????????????? Schon mal gelesen, was du da geschrieben hast. Dafür würde ich mindestens eine Flasche Braunen benötigen. Da dein Beispiel keinerlei Funktion hat, warum sollte es dann nicht funktionieren. Leg mal das/die STK erstmal ganz weit weg, ehe du noch etwas kaputt machst. Dann lädst du dir mal die Datenblätter der AVR, liest die in Ruhe durch und wenn du in einigen Wochen ungefähr weist worum es geht kannst du auch verständliche Fragen stellen. MfG Spess
Hi Nunja, Befehl ist Befehl, das ist schon richtig, aber die Befehle müssen auch Befehle sein. sts PORTD, r16 ist falsch und sollte mit Out PORTD, r16 funktionieren ebenso lds r20, PIND lautet In r20, PIND Zumindest ist das bei mir so..... Gruß oldmax
Hallo, Michael Klein wrote: > Frage 1: Wenn ich diesen Code hier ausführe, passiert nichts: Wo aus führen lässt? Auf einem nicht vorhandenen Prozessor? > Das ist natürlich nur ein Beispiel. Das liegt natürlich daran, dass das > Stk501 noch nicht drangesteckt wurde. Aber warum funktioniert es nicht > auf dem Stk500 trotz fehlendem Stk501. Das STK500 ist eine Sammlung Fassungen für diverse AVR-Controller und ein Programmieradapter für diese. Das STK501 ist ein auf ein Adapterbosrd für das STK500 gebauter ATMega128. Ohne diesen hast Du ja keinen Mega128 zur Verfügung... > Zweite Frage: Wenn ich statt der mega128.inc eine andere Datei inkluden > möchte, funktionietrt der Befehl jmp nicht, sondern nur rjmp, woran > liegt das denn? Schonmal ins Datenblatt des von Dir eingebundenen AVR geschaut? Da gibt es eine Zusammenfassung der Assemblerbefehle, die dieser konkrete Typ kann. JMP macht nur auf AVR mit einsprechenden Speichergrößen wirklich Sinn, bei den kleineren reicht RJMP und den ganzen Bereich anzusprechen. Also können sie kein JMP. > > > und als letztes möchte ich kich erkundigen, was ich jetzt mit dem stk500 > eigentlich machen kann und welche dateien ich oben statt mega128.inc > einbinden kann? Naja, sinnvollerweise den, den Du auch auf das STK500 draufgesteckt hast... Mitgeliefert war ja wohl meist ein Mega8515 oder so, aber das steht ja auf diesem drauf. Und was genau stele ich im AVR Studio ein vor allem beim > überspielen auf den Controller, denn es gibt so viele Einstellungen und > Häkchen, habe echt keinen Durchblick. Mode ISP, ISP-Clock auf 125kHz (oder in der Gegend), Dein HEX-File aussuchen und los. Gruß aus Berlin Michael
HI @Michael U. (amiga) Ich tippe auf eine 'Build & Run' Situation. Und dein Namenvetter meinte er sieht den Controller und nicht die Simulation. MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.