Hallo,
ich habe mir einen STK500 gekauft und versuche einen ATmega48 zu
programmieren - leider erfolglos. Es gibt bereits unzählige Threads zu
dem Thema, trotzdem bin ich nicht schlau geworden.
Zu meinem Problem - ich möchte ein Mini-Programm auf den µC übertragen:
1
#include<avr/io.h>
2
3
intmain(void)
4
{
5
DDRB=0xff;
6
PORTB=(1<<PB1)|(1<<PB0);
7
8
while(1)
9
{
10
}
11
return0;
12
}
Ich benutze AVR-Studio. Dieser Queltext wird problemlos kompiliert und
im AVR-Studio simuliert, es wird nicht auf den ATmega48 übertragen - ich
messe keine Betriebsspannung an den beiden Pins am Port B.
Ich habe bereits mehrere Empfehlungen aus diesem Forum befolgt und
verschiedene Jumperstellungen versucht. Leider ohne Erfolg. Die
Fuse-Einstellungen habe ich nicht geändert. Wenn ich Signatur auslese
kommen keine Fehlermeldungen.
Ich kann nicht mal rausfinden, ob es Hard- oder Software Problem ist.
Kann mir jemand weiter helfen?
Bekommst Du eine Verbindung zum STK500?
Dazu ist noch kein Prozessor im Sockel nötig.
Bei keiner Verbindung wird vom AVR-Studio u.a. nach dem Com-Port an
dem der STK hängt gefragt.
Kannst Du "Vtarget" (Hard-Ware-Reiter) in dem Menue, das aufgeht,
wenn die Verbindung zum STK500 steht einstellen?
Alles mit JA dann kann AVR-Studio den STK500 ansprechen.
Auslesen der Signatur? Wenn ja, klappt die Kommunikation mit dem µP.
Nicht Programmieren?
Schau doch mal ob das richtige *.HEX-File, incl. aller
Verzeichnisse ausgewählt ist, wenn da nämlich nichts oder was falsches
drin steht, findet AVR Studio nicht das (richtige) HEX-File.
Die Verbindung zum STK500 ist da, die Spannung kann ich einstellen. Auch
die Signatur vom µC wird ausgelesen ohne Probleme. Wenn das so sit, dann
kann ich den falschen/defekten RS232-Verbindungskabel ausschließen,
oder?
Das richtige Hex-File wird auch ausgewählt, weil im Verzeichnis keine
andere Hex-Files generiert wurden. Wo kann ich eigentlich gucken, welche
Hex-File vom AVR-Studio genommen wird?
Ich vermute, dass meine Jumper-Einstellungen nicht korrekt sind. Ich
möchte den internen Oscillator verwenden, ich habe immer noch nicht
verstanden, wie XTAL1 und OSCSEL in dem Fall eingestellt sein müssen?
Wenn Du schon soweit wie beschrieben bist, ist das mehr als die halbe
Miete, die Verbindung zum Studio klappt!
Ich verwende zwar einen ATMEGA88, ist aber, bis auf den größeren
Speicher,
mit dem 48-er identisch, es wird ebenfalls der interne Oszillator
verwendet. (Am µP per Fuse selektiert)
Bei mir sind die Jumper wie folgt eingestellt:
Der Vtarget Jumper steckt.
Aref Jumper derzeit offen, weil nicht benötigt.
Xtal1 Jumper Offen
OSCSEL Jumper Offen, alle 3 Pin!
Auf der Karte mit dem Reiter "PROGRAM" findest Du im Fenster-Teil
"Flash" rechts neben dem Input Hex-File ein Fenster mit dem
Namen der Datei die Du laden möchtest bzw. die geladen wird.
Rechts neben dem Fenster ist ein Knopf um ggf. nach dieser Datei zu
suchen.
Tipp: AVR merkt sich dise Datei sehr gut, will heißen wenn Du ein
anderes Projekt in einem neuen Verzeichnis beginnst, muß Du diesen
Eintrag
von Hand ändern.
Oder gibt es da einen Trick das zu ändern?
Oh ja, ich habe es geschafft, mein Programmchen zu flashen - wenn ich
manuell die Hex-Datei übertrage.
Gibt es keinen anderen Weg? Ich benutze zum Debuggen den AVR Simulator.
Kann das Programm nach dem Debuggen nicht automatisch auf den µC
übertragen werden?
Gibt es irgendwo eine ausführliche Anleitung zum AVR-Studio in deutsch?
Hallo,
ich erinner mich noch daran, wie ich mal eine Woche lang ein Programm zu
brennen versucht hatte, bis ich dann gemerkt habe, daß ich beim Brennen
das falsche Hexfile erwischt hatte. Leider übernimmt(übernahm ?) das
Studio hier nicht das laufende Hexfile sondern merkte sich irgendein
olles.
Gruß,
Michael
Gast 57 schrieb:
> Tipp: AVR merkt sich dise Datei sehr gut, will heißen wenn Du ein> anderes Projekt in einem neuen Verzeichnis beginnst, muß Du diesen> Eintrag> von Hand ändern.>> Oder gibt es da einen Trick das zu ändern?
Micha54 schrieb:
> das falsche Hexfile erwischt hatte. Leider übernimmt(übernahm ?) das> Studio hier nicht das laufende Hexfile sondern merkte sich irgendein> olles.
Wie wäre es mit der Einstellung "Use Current Simulator..."?
Gruß,
Magnetus
Ah, im Debbug-Modus kann ich diese Einstellungen vornehmen, aber es
ändert sich nichts - der µC wird nur dann geflasht, wenn ich manuell auf
"Program" klicke.
Hi
>Das wollte ich auch schon versuchen, aber die sind bei mir ausgeblendet,>sprich: ich kann kein Hachen setzen.
Das kannst du auch nur setzen, wenn du den Simulator gerade benutzt.
MfG Spess
Hi
Du mit 'CON' oder 'AVR' deinen Programmierdialog. Dann machst deine
Einstellungen. Wenn du dann den Dialog verkleinerst, reicht ein
Mausklick auf das eingerahmte Symbol um den AVR zu flashen.
MfG Spess
Magnetus schrieb:
> Und wo liegt nun das Problem?
Ist das der normale Ablauf? Ich habe schon mal mit dem JTAGICE mkII
programmiert - wenn ich mich nicht irre, wurde der µC geflasht, sobald
man in Debugg-Modur übergegangen ist. Deswegen habe ich gedacht, dass es
mit "AVR Simulator" auch so ähnlich abläuft.
Natürlich es ist ja auch nicth schwer, das Fenster immer wieder
aufzurufen, ist aber eben etwas umständlicher.
Danke für Eure Hilfe!
HI
>Natürlich es ist ja auch nicth schwer, das Fenster immer wieder>aufzurufen, ist aber eben etwas umständlicher.
Brauchst du doch gar nicht. S.o..
MfG Spess