Update Schnittstellenkarten

Aus wiki.telexforum.de
Zur Navigation springen Zur Suche springen

Anleitung für das Update von i-Telex-Karten durch die Ethernet-Netzwerkkarte.

Vorbemerkungen

Es kann fast nichts schiefgehen! Ein ganz klein bisschen Geschick ist nötig...

Nur die Ethernet-Netzwerkkarte kann andere Karten (mit „einfachen“ Prozessoren) umprogrammieren. Die Ethernet-Netzwerkkarte selbst muss weiterhin über die serielle Schnittstelle aktualisiert werden.

Die Firmware wird bei dem Update aus dem Internet geladen. Wer eine „Spezialversion“ mit der hier beschriebenen Methode aktualisieren will, benötigt einen http-Server auf dem die „Spezialversion“ abgelegt ist.

Alle stabilen Standard-Versionen und auch Betatest-Versionen sind auf einem öffentlichen Server gespeichert.

Programmierkabel

Programmierkabel

Am Aufwendigsten ist die Anfertigung eines Programmierkabels.

Dieses Programmierkabel muss an beiden Enden eine 10-polige Pfostenbuchse haben, aber nicht 1:1 verbunden, sondern entsprechend folgendem Schema: 1-1, 2-4, 3-7, 4-2, 5-5, 6-6, 7-3, 8-8, 9-9, 10-10

Diese Folge sieht wirr aus, hat aber den Hintergrund dass ein Stecker auf der Ethernet-Karte verwendet, der eigentlich eine andere Funktion hat.

Das Kabel kann einfach hergestellt werden mit normalem 10-poligen Flachbandkabel (ca. 50 cm lang) und 10-poligen Quetsch-Pfostenbuchsen, indem an einem Ende die Adern 2 und 4 und am anderen Ende die Adern 3 und 7 getauscht werden. Das sieht dann so aus:

Das Kabel ist elektrisch symmetrisch, d.h. es ist egal welches Ende an welche Seite gesteckt wird.

Programmiervorgang

  1. Ein Ende des Programmierkabels in die „Debug“-Pfostenleiste der Ethernet-Karte stecken
  2. Das andere Ende in die Programmierbuchse der zu programmierenden Karte (Zielplatine) stecken. Diese kann am Bus verbunden sein oder auch über das Programmierkabel mit Strom versorgt werden. Das Anschließen darf unter Spannung erfolgen.
  3. Die Ethernet-Karte muss in Betrieb sein und mit dem Internet verbunden sein.
  4. In einem Browser folgende Seite aufrufen: 192.168.111.222/isp.cgi . 192.168.111.222 dabei durch die lokale IP-Adresse der Ethernet-Karte ersetzen.
  5. Ggf. das Konfigurations-Kennwort eingeben.
  6. Im Feld „Path to server for binaries“ die Adresse eingeben, unter der die Binärdateien abgelegt sind. Für die stabilen Versionen ist das momentan www.telexupdate.de/stab_binaries. Bei einem erfolgreichen Programmiervorgang wird diese Adresse gespeichert. Beta-Versionen werden unter www.telexupdate.de/beta_binaries zu finden sein
  7. Das Feld „What to program“ frei lassen (für spezielle Anwendungen siehe unten)
  8. Jetzt die Schaltfläche „Start programming“ klicken. Beim Programmiervorgang wird:
    1. Eine Kennung der vorhandenen Software der angeschlossenen Zielplatine ausgelesen.
    2. Vom „Update-Server“ eine gleichnamige Datei mit der Endung .txt heruntergeladen und die korrekte Hardware-ID des Chips auf der Zielplatine überprüft sowie eine Grundeinstellung vorgenommen (sog. Fuses).
    3. Vom „Update-Server“ eine gleichnamige Datei mit der Endung .bin heruntergeladen und auf die Zielplatine programmiert
  9. Solange eine der LED an der Ethernet-Karte leuchtet oder blinkt, läuft der Programmiervorgang noch.
  10. Wenn in einer frühen Phase etwas nicht korrekt funktioniert, erscheint eine Fehlermeldung, z.B.
    1. „ISP program enable failed. Check connection to target board.”: Kabel nicht richtig angeschlossen.
    2. „No identification on connected target found. Select program manually.”: Der Chip auf der Zielplatine ist neu oder enthält keine gültige Kennung.
    3. „Download xxx.txt socket open failed code -1“: Wahrscheinlich wurde ein falscher Pfad zum „Update-Server” angegeben.
    4. „Download xxx.txt Fileserver error code 404“: Wahrscheinlich wurde ein falscher Pfad zum „Update-Server” oder eine zu der Kennung passende Datei ist nicht auf dem Server gespeichert.
  11. Bei einer Meldung mit dem Schlusssatz “Click here after all LED on i-Telex board went off again.” wurde der Programmiervorgang gestartet, d.h. es wurde eine Kennung auf dem Chip der Zielplatine erkannt und die relevanten Dateien sind auch auf dem Server verfügbar. Nach erlöschen aller LED auf der Ethernet-Karte (zwischen 30 Sekunden und 2 Minuten) sollte „here“ angeklickt werden, dann erscheint wieder das Programmiermenü ergänzt um das Resultat des letzten Programmiervorgangs:
    1. “Success: XXX bytes written to flash, no failures.”: Programmierung erfolgreich beendet.
    2. "Failed: XXX nominal size, YYY bytes written to flash, ZZZ failed.": Leider ist etwas schief gegangen. Nochmal versuchen.
    3. "Signature mismatch: byte X is Y should be Z”: Der angeschlossene Chip hat nicht den richtigen Typ. Falls diese Meldung mit „Warning“ eingeleitet ist, ist dies aber nicht kritisch (z.B. Mega168P statt Mega168)
  12. Bei Platinen mit zwei Schnittstellen müssen beide Module nacheinander aktualisiert werden! Für einen weiteren Programmiervorgang eine andere Zielplatine bzw. die andere „Platinenhälfte“ anstecken (darf unter Spannung geschehen) und wieder „Start programming“ (Schritt 8) klicken.

Neue Chips programmieren oder defekte Programmierung reparieren

Bei der Meldung “No identification on connected target found. Select program manually“ muss die zu programmierende Software manuell ausgewählt warden. Dazu ist in dem Eingabefeld „What to program“ die korrekte Kennung der zu programmierenden Software angegeben werden. Angaben dazu gibt es auf Nachfrage. Diese Möglichkeit kann auch verwendet werden um fabrikneue Chips zu programmieren.