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
oh, alles klar, danke ein fehler weniger! :) aber wie übertrage ich die datei nun in den µC?
>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?
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.