Hi, ich hab mir ein Demoboard für den FTDI FT232H gekauft (UM232H). Ich würde gern die C-Bus Pins als GPIOs nutzen und ein- und ausschalten. Anscheinend muss man die dazu erstmal im EEPROM umkonfigurieren. Na gut, wenn's unbedingt sein muss, dachte ich mir. Hab ich also mit dem ftdi_eeprom (aus der offiziellen libftdi!) ein bisschen rumgefrickelt. Erstmal ist die Beispiel-Konfigurationsdatei, die auch unter Linux geshippt wird, wohl nur für Windows sinnvoll. Toll. Dann hab ich mir gedacht, ok, machst du erstmal ein Backup vom EEPROM. ftdi_eeprom --read-eeprom test.conf Hat eine Datei mit 256B geschrieben, sah sinnvoll aus. Dann hab ich in meiner test.conf ein paar Zeilen aus dem Internet zusammengeklaubt, die die C-Bus Pins als GPIO konfigurieren sollen und den EEPROM neu geschrieben. Dann waren natürlich erstmal die LEDs auf dem Board nicht mehr funktional (irgendwie klar, weil die standen in meiner Konfigurationsdatei nicht richtig drin, woher auch). Chip wird aber noch erkannt. Jetzt möchte ich das natürlich erstmal reparieren. Erstmal wollte ich den alten EEPROM nochmal draufschreiben, um zu sehen dass das geht. Natürlich kann ftdi_eeprom das nicht (wtf). Dann hab ich mir den Backup-EEPROM mal angeschaut und festgestellt, dass das nicht der EEPROM-Inhalt vom Chip ist, sondern nur meine Konfigurationsdatei in binär. Also kein Backup. wtf?? Dann wollte ich halt selber den Wert von dem entsprechenden C-Bus Pin so setzen dass er die Power-LED ist. Steht ja im Datenblatt vom Modul, welcher das ist. Ich weiß aber a) nicht welcher Wert für "Power-LED" steht (steht nicht im Datenblatt) und b) kennt ftdi_eeprom wenn man so den Quellcode liest den entsprechenden Pin (ACBUS8) überhaupt nicht, das geht nur bis 5. wtf??? Dann dachte ich mir "okay, egal, ich boote mein Windows und nehme das offizielle FTDI klickbunt-Tool und schalte die LEDs wieder an, muss ich ja nur einmal machen". Treiber installiert, Tool installiert, gestartet, erkennt keine Devices. Seufz. Bin ich nun zu blöd dafür, oder ist die Situation wirklich so schrecklich? :/ Um mal konstruktiv zu sein: - Gibt es irgendwo eine Doku, welches Bit im EEPROM für was steht und welcher Wert was festlegt? - Gibt es irgendwo den Original-EEPROM zum Vergleichen? - Funktioniert das Windows-Tool bei irgendjemandem? - Kann ich die C-Bus Pins überhaupt als I/Os benutzen und trotzdem noch UART machen? Das sah nämlich auch nicht unbedingt so aus. Bin für jeden Rat dankbar. Viele Grüße, Sven
Ok, man muss den EEPROM mit ftdi_eeprom löschen: ftdi_eeprom --erase-eeprom test.conf Dann geht das Windows-Tool und damit kann man den Kram auch umkonfigurieren. Alles ziemlich meh, trotzdem. Mein eigentliches Problem ist aber noch unklar: Kann ich irgendwie irgendwelche GPIOs benutzen ohne dass der UART weg ist? Wenn ja, irgendeine Idee wie?
Hallo Sven, eine Beschreibung vom EEPROM für den FT232H gibt es von FTDI. Allerdings mußt Du dafür ein NDA unterzeichnen. Viele Grüße Andreas
Warum nicht einfach MProg bzw. dessen Nachfolger nutzen? Dort kann man das alles spielend per GUI einstellen. Zu einfach?
Andreas schrieb: > eine Beschreibung vom EEPROM für den FT232H gibt es von FTDI. > Allerdings mußt Du dafür ein NDA unterzeichnen. Damit verhindern sie bestimmt wirkungsvoll Fälschungen des Chips. Sehr sinnvolle Maßnahme. Alle haben Verständnis für die Unannehmlichkeiten so eines albernen NDA-Kindergartens für so einen hochgeheimen Pipifax wie eine Handvoll alberner Konfigurationsbytes zum Konfigurieren der Blinkenlights :-/
Andreas schrieb: > eine Beschreibung vom EEPROM für den FT232H gibt es von FTDI. > Allerdings mußt Du dafür ein NDA unterzeichnen. Danke für den Hinweis, Andreas. Das soll ja wohl ein Witz sein. Was für ein Kindergarten. MProg und dessen Nachfolger laufen halt nicht auf Linux, deshalb war das für mich erstmal nicht die Methode der Wahl. Und gingen ja dann auch unter Windows erstmal nicht, bis man den EEPROM gelöscht hat. Naja, nun tut es ja, und die Frage ist nur noch ob man es schafft einen GPIO zu toggeln ohne dass der UART verschwindet ... es sieht irgendwie nicht so aus, das ist echt etwas enttäuschend.
Sven B. schrieb: > Ich > würde gern die C-Bus Pins als GPIOs nutzen und ein- und ausschalten. > Anscheinend muss man die dazu erstmal im EEPROM umkonfigurieren. Unter Linux IMO nicht. Mann muss nur die korrekten Bits zum FTDI bringen, etwa mit Libusb oder Libftdi oder ähnlichem. Sven B. schrieb: > ob man es schafft einen GPIO zu > toggeln ohne dass der UART verschwindet Obacht: Ein FT232H hat AFAIK nur 1 Interface. Das kann entweder als /dev/ttyUSBx benutzt werden oder die Anwendung toggelt GPIOs, denn für letzteres muss IMO das ttyUSBx Device vom Kernel abgekoppelt werden. Man könnte - falls die Doku vollständig ist - ein Programm schreiben das GPIOs toggeln und via UART Daten übertragen kann ohne dabei über das tty Device zu gehen. Keine Ahnung ob LibFTDI das out-of-the-box kann, z.B. bei OpenOCD haben sie MPSSE direkt via LibUSB programmiert.
Hmm. Was sollen dann die zwei Ports? Es gibt ja den ACBUS und den ADBUS ... Das Datenblatt sagt auch: > It is possible to use this mode while the UART interface is being used, > thus providing up to 4 general purpose I/O pins which are available > during normal operation. Wenn ich in libftdi aber set_bitmode(..., BITMODE_CBUS) aufrufe, ist das UART-Device weg ... zumindest aus dem Kernel. Naja, ich werde mal noch ein bisschen herumprobieren. Danke für die Hinweise soweit.
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.