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


von key (Gast)


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

von Thomas (Gast)


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

von Tobi H. (tobi-) Benutzerseite


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

von key (Gast)


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
....

von Thomas (Gast)


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

von TravelRec. (Gast)


Lesenswert?

Ja, ich mußte auch drücken!

von key (Gast)


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.

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
Noch kein Account? Hier anmelden.