www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Automatischer Update von STK500. Funktionsweise?


Autor: key (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe mich ein wenig mit der Hard/Software des STK500 Boards
beschäftigt. Den Schaltplan habe von den AVR-Freaks, und eine
disassemblierte, überarbeitete Firmware von dem AT90S1200 habe ich auch
gefunden (im dem Archiv fixSTK500.zip). Die Funktionsweise von dem 1200
und dem 8535 ist mir soweit auch klar. Was ich nicht verstehe ist, wie
ein automatisches Update im AVRStudio erfolgt.
Wenn ich die Firmware im 1200 richtig verstehe, macht der solange
nichts, bis der Pin PB0 auf GND gezogen wird.
Jetzt finde ich allerdings nirgends eine Verbindung, so dass der 8535
diese Aktion im normalen Betrieb selbst auslösen könnte.
Zum Vergleich: Im Schaltplan des AVRisp von Atmel gibt es so eine
Verbindung.
Da ich selbst keinen STK500-Board habe, kann ich derzeit die Sache
leider nicht näher untersuchen - möglicherweise ist der Schaltplan ja
nicht mehr aktuell, oder ich habe irgendetwas übersehen?

Grüße,
key

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt einen extra Taster auf dem STK, der mit "Programm" beschriftet
ist. Laut Anleitung sollte dieser schon während dem Einschalten gedrückt
werden, wenn man ein Firmware-Upgrade machen will.


Bye
Thomas

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SW200 und SW201 (die Schalter) sind auf dem Stk mit dem 165 verbunden
und mit dem 1200. Dadurch kann das Programmieren ausgelöst werden.
Ausserdem lauscth der 1200 dauerhaft an der seriellen Schnittstelle und
kann sich wahrscheinlich bei Bedarf einschalten

Autor: key (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas
was Du beschreibst ist - soweit ich es den Anleitungen entnehmen kann -
das manuelle Upgrade für den Fall, dass beim automatischen Upgrade was
schief läuft.

@Tobi
AFAIK hat der 165 lediglich Eingänge (bis auf Q, Q\) und kann daher
die Portpins des 1200 selbst nicht aktiv auf GND ziehen. Durch den 165
bekommt der 8535 lediglich mit, dass jemand die Taster gedrückt hat.
Das mit dem dauerhaften Lauschen auf der seriellen Schnittstelle hab
ich mir auch schon gedacht, aber das konnte ich aus der mir
vorliegenden Firmware des 1200 nicht erkennen (aus
"stk500_at90s1200_mega8535.asm" im Archiv "fixSTK500.zip"):
...
RESET:
  clr write_page  ; clear the 'page needs writing' flag
  clr  temp1
  out  GIMSK,temp1  ; disable external interrupt
  ser  temp1    ; Initialize
  out  PORTD,temp1
  out  PORTB,temp1
  set_reset    ; set RESET=1
  ddrb_release

  sbis PINB, 0  ; program button held down?
  clr_reset

  sbic PINB, 0  ; program button held down?
  rjmp RESET

  rcall  u_init    ; Initialize UART
  sei      ; Enable interrupts
....

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@KEy: Bist du sicher das er auch automatische Updates durchführen kann?

Bei mir im Handbuch steht auch nur, das man aufgefordert wird, beim
Update diesen während des einschalten des Boards zu drücken,

So liefs dann auch, wie mich AVR Studio zum Upgrade aufgefordert hat.

Bye
Thomas

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich mußte auch drücken!

Autor: key (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, inzwischen kann ich die Sache nachvollziehen (Danke für die
Hinweise).
AVRStudio prüft beim Verbinden, ob ein AVRisp oder ein STK500
angeschlossen ist. Beim AVRisp kann die Firmware dann ggf. automatisch
aufgespielt werden; auch nachträglich durch den Upgrade-Button in der
"Board"-Seite.
Wenn ein STK500 angeschlossen ist und eine ältere Firmware erkannt
wird, wird man hingegen aufgefordert den STK500 neu einzuschalten und
dabei den Prog-Knopf zu drücken - wie von Euch beschrieben. Der
Upgrade-Button ist auf der "Board"-Seite deaktiviert.


Überprüft habe ich das Ganze mit dem USBisp von Matthias Weiß. Durch
Modifikation der Firmware konnte ich dem AVRStudio ein AVRisp oder ein
STK500 mit veralteter Firmware vorgaukeln.
Hier macht ein Updaten zwar kein Sinn, da die Hardware inkompatibel
ist, aber mich hat eben die Funktionsweise eines Original-STK500
interessiert.

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.