mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STK500 Programmierung geht nicht


Autor: Daniel Reinke (sliderbor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe soeben mein STK500 bekommen und versuche gerade mal was auf den 
vorhandenen uC (AT90S8515) zu programmieren.

Leider bekomme ich immer die Fehlermeldung "Programming FLASH .. 
FAILED!" im ISP Mode und "WARNING: FLASH byte address 0x0000 is 0xFF 
(should be 0x0C).. FAILED!" im High Voltage Mode.

ISP Kabel bzw. die Kabel für PP/HVSP mode habe ich nach Anleitung 
angeschlossen.

Stromversorgung ist ein Labornetzteil mit ca. 12,5V eingestellt.

COM-Kabel ist natürlich angeschlossen.

Nutze AVR Studio (neueste Version von Atmel runtergeladen).

Als ich das erste mal connecten wollte, wurde mir mitgeteilt, dass eine 
neue Firmware programmiert werden muss (was ich auch gemacht habe) und 
das lief erfolgreich ab.

Muss ich noch irgendwelche Jumper setzen oder irgendeinen Knopf drücken 
oder sonst was? Habe bisher leider noch keine Erfahrungen mit den AVRs, 
deshalb habe ich mir ja das STK500 gekauft.

Ich hoffe, ihr könnt mir helfen!

Vielen Dank schonmal!

Daniel

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist der Jumper für "V Target" gesteckt und welcher Wert wird angezeigt ?

Otto

Autor: Daniel Reinke (sliderbor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VTarget Jumper steckt!

VTarget: 5.1V
ARef: 5.0V
STK500 Osc.: 3,686 MHz
ISP Freq.: momentan 3.999 kHz, habe auch schon 57.6 kHz getestet

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweise muss nur der 6-polige ISP gesteckt sein - steckt der 
AT90S8515 im unteren Sockel (wenn LED links und RS232 rechts sind)

Otto

Autor: Daniel Reinke (sliderbor)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe mal ein Foto von dem Board gemacht. Habe eigentlich nichts 
verändert, seitdem ich das Board aus der Box geholt habe. Der uC steckte 
schon, habe nur das ISP-Kabel, serielles Kabel und Stromversorgung 
angeschlossen, sonst nichts! Sogar das Testprogramm mit den blinkenden 
LEDs war noch auch dem uC (ok, dazu habe ich natürlich die Ports mit den 
LEDs und Tastern verbunden und später wieder getrennt).

Muss ich denn irgendwas bei AVR Studio beachten? Habe nur ein Projekt 
erstellt mit dem Wizard, dann eben den AT90S8515 gewählt und nur eine 
while(1) Schleife programmiert. Dann eben auf Build gegangen 
(successful, 1 Warning) -> Connect -> Das erstellte HEX-File gewählt -> 
ISP Mode -> Program. Auch wenn ich vorher manuell ein Erase mache, 
passiert das gleiche (Erase Device before programming ist an).

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du schriebst doch:

> ISP Kabel bzw. die Kabel für PP/HVSP mode habe ich
> nach Anleitung angeschlossen

nur deshalb.....

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem 6-pol ISP alleine kannst Du nicht

> "im High Voltage Mode"

programmieren und das ist auch nicht nötig  !

Otto

Autor: Daniel Reinke (sliderbor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Otto wrote:
> mit dem 6-pol ISP alleine kannst Du nicht
>
>> "im High Voltage Mode"
>
> programmieren und das ist auch nicht nötig  !
>
> Otto

Ja, das weiß ich. Habs auch nur der Probe halber gemacht. Dazu habe ich 
noch zwei Kabel angeschlossen von den Ports zu PROG_CTRL und PROG_DATA 
nach Anleitung.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ISP-Frequenz ist zu niedrig! Mach die mal auf 115.2 kHz

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist die Rede von AT90S8515, aber auf den Foto ist es ein ATMEGA8515.
Richtige Auswahl getroffen im connect Menue?? Steht im "Programming Mode 
und Target setting" ISP? Dann versuch mal ein "read signature".

Autor: Daniel Reinke (sliderbor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörn Paschedag wrote:
> Es ist die Rede von AT90S8515, aber auf den Foto ist es ein ATMEGA8515.
> Richtige Auswahl getroffen im connect Menue?? Steht im "Programming Mode
> und Target setting" ISP? Dann versuch mal ein "read signature".

WTF! Du hast natürlich Recht! Kann sein, dass es daran lag, ich Depp! 
Habe mir schon bevor ich das Board hatte mal in die Beschreibung 
geschaut und da stand drin, dass ein AT90S8515 dabei sein sollte. 
Deshalb bin ich davon ausgegangen, hab nur auf die letzten Zahlen 
geachtet.

Das "read signature" hatte glaube ich funktioniert. Bin grad nicht 
zuhause, werde das vielleicht gleich noch testen, wenn ich dazu komme.

@Max
"ISP-Frequenz ist zu niedrig! Mach die mal auf 115.2 kHz"

Das werde ich auch mal probieren, wenn es immer noch nicht geht, danke!


Danke für die Hilfe, hoffentlich klappts jetzt! Werde berichten. =)

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel Reinke wrote:
> @Max
> "ISP-Frequenz ist zu niedrig! Mach die mal auf 115.2 kHz"
>
> Das werde ich auch mal probieren, wenn es immer noch nicht geht, danke!
Unsinn. Zu niedrige ISP-Frequenz gibt's praktisch nicht. Nur zu hohe. 
Die ISP-Frequenz muss kleiner sein als 1/4 des CPU-Taktes.

Autor: Daniel Reinke (sliderbor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie finde ich eigentlich raus, mit welcher Frequenz der ATmega8515 
arbeitet. Quarz ist nicht eingesteckt, also wird wohl der interne 
Oszillator benutzt, oder? Wie schnell rennt der denn, wird das durch die 
Fuse-Bits bestimmt? Sorry, hab mit den AVR echt noch nix zu tun gehabt, 
nur 8051er.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Quarz ist nicht eingesteckt, also wird wohl der interne
>Oszillator benutzt, oder?

Nö, der Controller weiß nur anhand der eingestellten Fuses, woher der 
Takt kommt. Wenn er auf externe Taktung eingestellt ist, dann tut er 
nichts, solange da kein Takt anliegt.

Autor: Daniel Reinke (sliderbor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es funktioniert! Es lag wirklich an dem falsch angegebenen Controller 
(ich dumme Nuss). Danke für eure Hilfe! =)

STK500-Besitzer wrote:
>>Quarz ist nicht eingesteckt, also wird wohl der interne
>>Oszillator benutzt, oder?
>
> Nö, der Controller weiß nur anhand der eingestellten Fuses, woher der
> Takt kommt. Wenn er auf externe Taktung eingestellt ist, dann tut er
> nichts, solange da kein Takt anliegt.

Kann ich denn per Fuses einstellen, wie schnell er mit dem internen 
Oszillator arbeitet bzw. kann ich das Teilerverhältnis einstellen? Ok, 
jetzt kann ich das auch selbst nachsehen im AVR Studio bzw. Datenblatt. 
=)

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
neuere AVR haben einen PLL integriert und können so mit verschiedenen 
internen Taktgeschwindigkeiten betrieben werden (steht aber alles im 
Datenblatt; und der mega8515 gehört soweit ich weiß nicht dazu...)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.