Hallo liebes Forum, ich habe vor kurzem mein Steinaltes FPGA Board Nexys von Digilent herausgekramt und unter Win 10 mit viel Flucherei, Verwünschungen und Tobsuchtsanfällen ans laufen gebracht. Das meiste war in der SW begründet und der nicht nachvollziehbaren Entscheidung des Cuts den Xilinx mit Vivado und den "alten" FPGAs gemacht hat. Habe das ISE 14.7 am laufen, kann damit simulieren und mit iMPACT auch programmieren (zumindest ein anderes board). Das Nexys Board Programmiere ich über die Adept Suite. Alles soweit so gut. Gestern abend habe ich dann wohl einen Verdrahtungsfehler gemacht der das Board auf den ersten Blick "gekillt" hat. Es geht dabei noch nichteinmal die Power LED an. Nach einigem messen habe ich dann festgestellt das einfach nur der MOSFET das Board nicht einschaltet. Wenn ich diesen Brücke, läuft das Board tadellos wieder an. Da ich das Board per USB an meinem Läppi betreibe habe ich mal geschaut was der an USB Geräten erkennt. Nach dem Fauxpas von mir sagt der nur noch "unbekanntes" Gerät. Es sieht für mich so aus als wenn entweder der Mikrocontroller hinüber ist, oder, was ich eher vermute bzw hoffe, das der Inhalt des EEProms futsch ist, und das Board einfach nicht anläuft weil der uC sich "verhakt". Wäre der Mikrocontroller wirklich geschrottet würde ja nicht unbedingt ein unbekanntes USB Device im Gerätemanager auftauchen. Meine Frage ist : Gibt es irgendwo Quellen wo/wie ich die FW des Mikrocontrollers nochmal neu programmieren kann ? Was brauche ich dazu ? Ich würde nach Möglichkeit dieses Board gerne noch retten, da es einerseits recht schnuckelig ist, aber auch alle wichtigen Anschlüsse hat die ich für meine derzeitige Bastelei brauche. Es geht sich um dieses Board : https://reference.digilentinc.com/nexys/nexys Zum Firmwareupdate selbst habe ich nicht wirklich viel brauchbares gefunden. Bis auf eine Quelle, aber da waren viele Links schon tot.
Rene B. schrieb: > Wäre der Mikrocontroller wirklich geschrottet würde ja nicht unbedingt > ein unbekanntes USB Device im Gerätemanager auftauchen. Doch, am USB werden Geräte erkannt, weil zwischen D+ bzw. D- und Vbus ein Widerstand hängt. Dieser wird auch erkannt, wenn der Controller nachher auf keinerlei Anfragen reagiert. Wenn du mit Adept arbeitest ist ein FTDI Chip verbaut. Den baut Digilent heute noch ein (z. B. JTAG-HS3), von Trenz gibt es kompatible Module dazu mit etwas mehr Information. Wenn der EEPROM Inhalt fehlen würde, werden diese Chips immer noch erkannt am USB. Vielleicht mal an einem PC mit Linux anhängen und in mit lsusb und dmesg nachsehen was nach dem Einstecken passiert.
Ich schmeiss mal eben Stichwoerter rein, google nach: - Opennexys (offene Firmware fuer FX2) - gnu-radio Sourcen/Tools (FX2 reprogrammieren) Liste sonst mal VID:PID des 'toten' FX2, dann kann man dir mehr sagen.
@Martin erstmal danke für die Hinweise. War wohl doch zu blöde Google richtig zu benutzen. Ich bekam immer nur Werbung bzw. Links für die neuen Nexys FPGA Boards. Werde ich mir mal anschauen. @Christoph Das mit D+ und D- war auch mein erster Gedanke ... Laut Schaltplan gehen die aber direkt in den uC ohne irgendwelche Widerstände. Das hat mich vermuten lassen das der uC noch in irgendeiner Form lebt. Es ist kein FTDI in dem Board verbaut, sondern ein Cypress. Ich hatte anfangs die Vermutung das vllt nur das EEProm einen weg hat bzw. der Inhalt verloren gegangen ist. Ich glaube diese Vermutung war doch richtig. Unter Windows wird doch etwas mehr angezeigt. VID und PID sind "gültig". In einer VirtualBox wird mir im USB Menü "Cypress FX2 FPGA .." angezeigt. Der Gerätemanager liefert auch doch etwas mehr Infos (hatte ich beim ersten mal übersehen) Bei den Treiberereignissen steht z.B. : "Das Gerät USB\VID_04B4&PID_8613\7&9671850&1&4 wurde aufgrund einer teilweisen oder mehrdeutigen Übereinstimmung nicht migriert." Bei Details steht unter "kompatibler ID" z.B. : USB\Class_FF&SubClass_FF&Prot_FF USB\Class_FF&SubClass_FF USB\Class_FF Das lässt mich vermuten das in einem Teil der Descriptoren etwas steht das aus dem EEProm ausgelesen wurde, und wenn das irgendwie geplättet ist kann der Treiber auch nicht richtig geladen werden. Daher denke ich das ich "nur" das EEProm neu schreiben muss und es sollte vllt wieder laufen. Das Board selbst läuft auch noch. Wenn ich die Spannungsversorgung wechsel läuft das Board auch direkt an und ich kann es mit dem Xilinx USB Cable auch die Chips auslesen und programmieren. Falls jemand zufällig weiß was in dem EEProm stehen muss oder dieses vllt schonmal ausgelesen hat wäre es nett wenn jmd mir den Inhalt zukommen lassen könnte, in der Hoffnung das ich das Board auch wieder über USB betreiben und porgrammieren kann.
Rene B schrieb: > Ich glaube diese Vermutung war doch richtig. Wuerde ich auch drauf tippen. Bei garstigen Spannungs-Shifts kommt's ab und mal vor, dass ein Flash-Chip die Graetsche macht und geloescht wird, und der Rest der Logik es ueberraschend gut vertraegt (Clamp-Dioden an I/Os). Betr. Firmware: Leider hab ich diese Boards und die ganzen Hacks dazu erst Anfang Jahr eingemottet, aber im Netz sollten allenfalls noch Firmware-Files mit Namen 'donbusb.iic' dazu herumliegen, allenfalls bei Digilent noch selber auf einem FTP-Server, oder ueber archive.org (wayback machine). Das solltest du mit einem Linux-Tool a la fxload programmiert bekommen. Die Windows-Seite davon kenne ich leider weniger.
@martin erstmal danke für die hinweise. Eine Hex oder IIC Datei würde mir da schon reichen. Notfalls kann ich mitm STM Board per I2C das Dingen befüllen. Laut Schaltplan ist ein 24AA128, also ein 16kByte EEprom, verbaut. Sollte also ja kein Problem sein da was rein und rauszupopeln. Wahrscheinlich einfacher als wenn der Cypress neuprogrammiert werden müsste. Das dürfte sich deutlich schwieriger gestalten. Aber wenn der Descriptor schon teilweise richtig übertragen wird, wird es denke ich aller Wahrscheinlichkeit nach tatsächlich "nur" das EEProm sein. Schade das es nicht mehr Infos direkt über die Digilent Seite gibt, zumal Schaltplan, User Manual und Beispieldesigns alle noch erreichbar sind. Aber vllt bringen mich deine Infos ja weiter. Wichtig ist das es das Board noch tut und ich es "normal" benutzen kann. Zumal ich echt was "böses" gemacht habe. Ich hatte das FPGA Board aus versehen über die GPIOs vom STM-Board "rückversorgt". Hatte echt schon Angst gehabt das ich beide Boards geschrottet hatte. Manchmal hasse ich die fliegende Test-Verdrahtung um nicht ein Board löten zu müssen ... Aber um mal eben ein paar Tests zu machen ....
Rene B schrieb: > Ich hatte das FPGA Board aus > versehen über die GPIOs vom STM-Board "rückversorgt" Ah, Klassiker :-) Die Spartaner koennen das aber recht gut ab. Rene B schrieb: > Wahrscheinlich einfacher als wenn der Cypress neuprogrammiert werden > müsste Der FX2 wird ja so programmiert. Wenn du das EEPROM schrottest (0xff..), geht er in die Default-VID-PID-Config, die du gerade siehst. Ueber die entsprechenden Vendor-Commands kannst du ihn immer ad-hoc mit Firmware laden und ein angeschlossenes EEPROM programmieren. Wenn eine ungueltige Konfig mit kaputten Descriptoren geladen ist, musst du allenfalls beim Starten das EEPROM in den Reset ziehen, damit er in die default config geht. So richtig 'bricken' kann man den also nicht, wie andere Cypress-Controller mit on-chip Flash.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.