joerg_999
Stamm User
- Registriert
- 11. Mai 2010
- Beiträge
- 1.040
- Reaktionspunkte
- 758
- Punkte
- 273
Reparatur Pogo E02 mittels Raspi als Jtag v3.1
Update 28.04.18 - aktuelles uboot 2017.07-tld-1 und uboot-envs 2016.05-tld-1
- Jetzt mit Konfiguration für alle RPIs auch der RPI3
*******************************************************************
Habe mir zur Reparatur einiger defekter Pogos einen Buspirate (Jtag) besorgt.
funktioniert natürlich prima, kostet aber so viel wie ein neuer Pogo.
Es geht jedoch auch anders:
Vermutlich hat fast jeder von euch einen RASPI rumliegen oder kennt jemand der einen hat.
Der Raspberry Pi bietet sich durch seine GPIOs ja förmlich an auch als Jtag vergewaltigt zu werden.
Es gibt zwar ein paar Ansätze im Netz aber alle sind entweder nicht komplett oder veraltet.
Nach einiger Zeit des Recherchierens und einigen Tests, habe ich nun eine fertige Lösung zusammengestellt,
mit der man mittels eines Raspberry Pi und darauf compiliertem openOCD + 6 Kabeln einen defekten Pogo E02 wiederbeleben kann.
(wenn zb mtd0 falsch geflasht/zerstört wurde)
Da openOCD auf dem Raspi läuft, kann das Ganze auch ohne zusätzlichen PC betrieben werden,
sofern man Tastatur,Maus und Monitor am Raspi angesteckt hat.
Ich habe den Raspi aber in mein Netzwerk eingebunden und die Terminals im (Windows)PC über putty aufgemacht.
Im Prinzip brauchen wir 3 Terminals:
Terminal1: (ssh Terminal) hier wird openOCD aufgerufen und man sieht die Reaktionen der Eingaben aus Terminal2
Terminal2: (openOCD Schnittstelle über Telnet Port 4444) hier werden die Steuerbefehle eingegeben
(zb uboot ins ram laden und starten)
Terminal3: über USB/TTL Adapter mit Pogo verbunden, von hier stoppen wir den Bootvorgang und flashen das neue uboot bzw die uboot envs ins nand
Was wird alles benötigt (Hardware):
Raspberry Pi B, B+, PI2 oder den neuen PI3
- Raspi auf standard clock Speed lassen - (B,B+700Mhz, RPI2 900Mhz und RPI3 1200Mhz)
6 Stück Verbindungskabeln vom Raspi (GPIO) zum Pogo Länge max 30cm
1 USB/TTL Adapter für die serielle Konsole auf dem Pogo.
Internetverbindung für den RaspberryPi, (funktioniert beim RPI3 auch über W-Lan, da eingebaut)
Installation auf dem Raspi:
Als erstes nehmen wir den Raspi installieren das aktuelle Raspbian
danach noch ein paar Abhängigkeiten und openOCD welches wir uns mit den passenden Einstellungen selber compilieren:
Danach kommt ein massiver Compilebefehl (Bitte komplett mit copy & paste in der Befehlszeile einfügen)
Etwas Geduld aufbringen, denn das Compilieren dauert ein Wenig
Installiert wird das Ganze mit:
Wenn das erledigt ist legt ihr im Verzeichnis:
/usr/share/openocd/scripts/board/ die Datei pogo.cfg an:
und befüllt sie mit folgendem Inhalt:
und erstellen einen Symlink dafür:
Im nächsten Schritt laden wir uns das aktuelle uboot und die uboot envs herunter entpacken sie und erstellen ebenfalls einen Symlink:
(uboot 2017.07-tld-1 und uboot-envs 2016.05-tld-1)
Zum Schluss erstellen/ändern wir noch eine Datei auf der Basis von raspberrypi-native.cfg, passen die Einstellung für die richtigen Reset Pins, die Adapter Geschwindigkeit und der Übergangsverzögerung je nach Raspi Modell an) in der Datei: /usr/share/openocd/scripts/interface/raspberrypi123-native.cfg
mit folgenden Inhalt: ## Bitte hier die Einstellungen an den benutzten RASPI (B,RPI2 oder RPI3) entsprechend anpassen ##
Starten von openOCD:
Gestartet wird die ganze Show im Terminal1 mit:
Im nächsten Spoiler seht ihr die Kommandos/Rückmeldungen und wie man seine 3 Terminals benutzt.
Die wichtigen Eingaben sind grün angepinselt den Rest könnt ihr wenn keine Fehler kommen als Info ansehen.
Für die Reparatur reicht es und ist (bis auf die Treiber Einbindung beim Compilieren) gleich wie beim Buspirate.
(zur Info T1=Terminal1 T2=Terminal2 usw):
Anmerkung:
bodhis neues uboot.2016.05-tld-1.environment.img beinhaltet universal uboot-envs für alle gängigen plugs!
Wenn ihr neue uboot-envs benötigt könnt ihr die vom Terminal 2 oder besser über einen
gebooteten Linux USB Stick über Termial 3
flashen bzw. auch über ein eventuell bestehendes rescue-system im nand.
Die Verdrahtung und das Pin Layout der beiden Kandidaten:
bitte die ganzen Teile natürlich spannungslos zusammen bauen und verdrahten!!)
Foto vom Aufbau:
Meine Quellen:
PS: Für Anregungen, Verbesserungen und auch Kritik habe ich immer ein offenes Ohr
** lange lebe der Pogo ;-) **
Update 28.04.18 - aktuelles uboot 2017.07-tld-1 und uboot-envs 2016.05-tld-1
- Jetzt mit Konfiguration für alle RPIs auch der RPI3
*******************************************************************
Habe mir zur Reparatur einiger defekter Pogos einen Buspirate (Jtag) besorgt.
Du musst dich
Anmelden
oder
Registrieren
um diesen link zusehen!
funktioniert natürlich prima, kostet aber so viel wie ein neuer Pogo.
Es geht jedoch auch anders:
Vermutlich hat fast jeder von euch einen RASPI rumliegen oder kennt jemand der einen hat.
Der Raspberry Pi bietet sich durch seine GPIOs ja förmlich an auch als Jtag vergewaltigt zu werden.
Es gibt zwar ein paar Ansätze im Netz aber alle sind entweder nicht komplett oder veraltet.
Nach einiger Zeit des Recherchierens und einigen Tests, habe ich nun eine fertige Lösung zusammengestellt,
mit der man mittels eines Raspberry Pi und darauf compiliertem openOCD + 6 Kabeln einen defekten Pogo E02 wiederbeleben kann.
(wenn zb mtd0 falsch geflasht/zerstört wurde)
Da openOCD auf dem Raspi läuft, kann das Ganze auch ohne zusätzlichen PC betrieben werden,
sofern man Tastatur,Maus und Monitor am Raspi angesteckt hat.
Ich habe den Raspi aber in mein Netzwerk eingebunden und die Terminals im (Windows)PC über putty aufgemacht.
Im Prinzip brauchen wir 3 Terminals:
Terminal1: (ssh Terminal) hier wird openOCD aufgerufen und man sieht die Reaktionen der Eingaben aus Terminal2
Terminal2: (openOCD Schnittstelle über Telnet Port 4444) hier werden die Steuerbefehle eingegeben
(zb uboot ins ram laden und starten)
Terminal3: über USB/TTL Adapter mit Pogo verbunden, von hier stoppen wir den Bootvorgang und flashen das neue uboot bzw die uboot envs ins nand
Was wird alles benötigt (Hardware):
Raspberry Pi B, B+, PI2 oder den neuen PI3
- Raspi auf standard clock Speed lassen - (B,B+700Mhz, RPI2 900Mhz und RPI3 1200Mhz)
6 Stück Verbindungskabeln vom Raspi (GPIO) zum Pogo Länge max 30cm
1 USB/TTL Adapter für die serielle Konsole auf dem Pogo.
Internetverbindung für den RaspberryPi, (funktioniert beim RPI3 auch über W-Lan, da eingebaut)
Installation auf dem Raspi:
Als erstes nehmen wir den Raspi installieren das aktuelle Raspbian
danach noch ein paar Abhängigkeiten und openOCD welches wir uns mit den passenden Einstellungen selber compilieren:
Code:
Du musst dich
Anmelden
oder
Registrieren um den Inhalt der Codes zu sehen!
Etwas Geduld aufbringen, denn das Compilieren dauert ein Wenig
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
Code:
Du musst dich
Anmelden
oder
Registrieren um den Inhalt der Codes zu sehen!
/usr/share/openocd/scripts/board/ die Datei pogo.cfg an:
Code:
Du musst dich
Anmelden
oder
Registrieren um den Inhalt der Codes zu sehen!
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
Code:
Du musst dich
Anmelden
oder
Registrieren um den Inhalt der Codes zu sehen!
(uboot 2017.07-tld-1 und uboot-envs 2016.05-tld-1)
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
Code:
Du musst dich
Anmelden
oder
Registrieren um den Inhalt der Codes zu sehen!
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
Gestartet wird die ganze Show im Terminal1 mit:
Code:
Du musst dich
Anmelden
oder
Registrieren um den Inhalt der Codes zu sehen!
Die wichtigen Eingaben sind grün angepinselt den Rest könnt ihr wenn keine Fehler kommen als Info ansehen.
Für die Reparatur reicht es und ist (bis auf die Treiber Einbindung beim Compilieren) gleich wie beim Buspirate.
(zur Info T1=Terminal1 T2=Terminal2 usw):
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
bodhis neues uboot.2016.05-tld-1.environment.img beinhaltet universal uboot-envs für alle gängigen plugs!
Wenn ihr neue uboot-envs benötigt könnt ihr die vom Terminal 2 oder besser über einen
gebooteten Linux USB Stick über Termial 3
flashen bzw. auch über ein eventuell bestehendes rescue-system im nand.
Die Verdrahtung und das Pin Layout der beiden Kandidaten:
bitte die ganzen Teile natürlich spannungslos zusammen bauen und verdrahten!!)
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
Du musst dich
Anmelden
oder
Registrieren
um diesen Inhalt sichtbar zu machen!
PS: Für Anregungen, Verbesserungen und auch Kritik habe ich immer ein offenes Ohr
** lange lebe der Pogo ;-) **
Zuletzt bearbeitet: