Hallo,
Ich hab mir ein STK500 zugelegt, aber ich komme igrendwie nicht weiter.
habe ein neues projekt erstellt, avr simulator und atmega 8515 (der is
drin) ausgewählt. Nun hab ich in das fenster in der mitte probeweiße den
Code
.include "m8def.inc" ; Definitionsdatei für den Prozessortyp
einbinden
ldi r16, 0xFF ; lade Arbeitsregister r16 mit der
Konstanten 0xFF
out DDRB, r16 ; Inhalt von r16 ins IO-Register DDRB
ausgeben
ldi r16, 0b11111100 ; 0b11111100 in r16 laden
out PORTB, r16 ; r16 ins IO-Register PORTB ausgeben
ende: rjmp ende ; Sprung zur Marke "ende" -> Endlosschleife
aus dem AVR-Tutorial eingefügt.
Dann hab ich per f7 assembliert und "Start debugging" ausgewählt.
aber wie kann ich das programm nun in den controller übertragen? Wie seh
ich überhaupt, ob mein STK richtig erkannt wurde? (hab da von
schnittstellenproblemen mit vista gelesen)
Ich hoffe ihr könnt mir helfen
Tim
Hallo!
Für den Atmega8515 nicht - .include "m8def.inc" ; Definitionsdatei für
den Prozessortyp einbinden!!!!
Sondern - .include "m8515def.inc"
mfG
Albert
>aber wie übertrage ich die datei nun in den µC?
Such in den Toolbars die Schaltflächen mit dem Bild eines 8-poligen ICs.
Eine ist mit "Con" beschriftet, eine andere mit "AVR". Das sind die
richtigen.
Wenn da schon so viele Fragen sind, dann stell das Programmieren mal ein
klein wenig weiter nach hinten und fang an erst mal mit dem STK zu
"reden".
Mach das AVR Studio auf und schalt das STK ein. Drück das "CON" Icon
(über "tools" kommst du auch dorthin)und wähle im Dialog das STK500 und
deinen Com Port aus und drück auf "Connect".
Klappt die Verbindung geht ein neues Dialogfeld auf. Hier wählst du die
"Karteikarte" "Main" und stellst hier deinen µC-Typ ein und ISP Mode.
Dann klickst du auf "Read Signature". Danach erhälst du entweder die
Meldung "Signature matches selected Device" oder "A problem...".
Hat bis hier alles geklappt kannst du deinen Code flashen.
Die meisten Fehler entstehen, weil ein falsches Device oder eine zu hohe
ISP Frequenz gewählt wurde.
Hallo Ratloser Geist,
ich möchte gern ein paar Worte zu Deinem Code loswerden.
ldi r16, 0xFF ; lade Arbeitsregister r16 mit der Konstanten 0xFF
out DDRB, r16 ; Inhalt von r16 ins IO-Register DDRB ausgeben
ldi r16, 0b11111100 ; 0b11111100 in r16 laden
out PORTB, r16 ; r16 ins IO-Register PORTB ausgeben
ende: rjmp ende ; Sprung zur Marke "ende" -> Endlosschleife
Du schreibst zu jeder Zeile, was in der Zeile passiert, das ist zwar
richtig, aber auch nicht wirklich hilfreichm das steht schon im Code auf
der linken Seite.
Besser wäre, zu schreiben, WARUM Du es so machst, oder z.B. wofür stehen
0xff und was passiert damit, bzw. 0b11...
Ich will Dich hier nicht niedermachen, ich denke, dass das Schreiben von
guten Kommentaren der schwierigste Part der Software-Entwicklung ist
(den kann man auch nicht testen). Nur mal so als Hinweis.
Schönes Wochenende noch
Hallo,
zunächst zu Besserwisserle: Schon klar, dass du mich nicht niedermachen
willst. Ich hab den Code auch nur mal kopiert, um zu testen ob es
klappt. Naja, danke dennoch für den Tipp!
Danke auch Jörn, das hat schon mal geholfen
Jetzt hat sich das Programmfenster geöffnet, aber ich finde nirgends
"Read signature"
Es ginge Flash -> Input Hexfile -> Read
Da kommt aber, genau wie wenn ich auf 'Fuses' gehe die Fehlermeldung
Entering programming mode.. FAILED!
Leaving programming mode.. OK!
Was könnte man tun? Hab gelesen, dass es was mit der programm frequency
zu tun haben könnte? Ist die ISP freq von 28.36 kHz zu groß?
Im AVR Studio Icon "AVR" drücken (STK500 eingeschaltet). Im aufgehenden
Menue findest du oben "Karteikarten". Die linke ist "Main" und auf
dieser findest du die Knöpfe "Erase Device", "Read Signature" und
"Settings".
Außerdem mußt du hier deinen Prozessor einstellen, in deinem Fall also
den ATmega8515.
Die ISP-Frequenz darf nur 1/4 der µC Taktfrequenz sein. Und geh mal
davon aus, das ein neuer ATmega auf internem Takt von 1 MHz läuft und
JTAG aktiviert ist.
Und lass vorerst mal die Finger von den Fuses, es sei denn, du weißt
GENAU was du tust. 90% aller Anfänger sperren den µC auf die eine oder
andere Art.
Und noch einen: Immer erst mal die Fuses lesen, bevor man schreibt.( Ein
screen shot von den Einstellungen ist auch nicht schlecht). ;-)
Hallo,
endlich komm ich mal wieder dazu!
Die ISP Freq. hat zur Zeit 1.206kHz. Das müsste dann ja in ordnung
gehen, wenn mein µC mit 1MhZ läuft. Verstellen kann ich sie sowieso
nicht - wenn ich auf write klicke und die karteikarte verstelle, dann
ändert sich mein eingestellter wert wieder zurück auf 1.206 kHz
allerdings hab ich noch keine lösung für mein obiges problem! Wie sehe
ich, ob JTAG installiert ist?