Hallo Leute, ich habe mir einen GPS Empfänger gebaut, der im Moment über USB mit einem LabVIEW Programm konfiguriert und ausgelesen wird. Als Kommunikationschip verwende ich den FTDI 245RL, den ich in LabVIEW über die D2xx DLL anspreche. Klappt soweit wunderbar. Jetzt habe ich mir für die mobile Datenaufzeichnungen ein Netbook mit Intel Atom CPU und Ubuntu 8.04 bestellt. Von der Programmierung von Treibern & Applikationen unter Linux habe ich leider keinen Plan, würde mich aber in das Thema einfinden, um auch mal was neues zu machen. Vorab habe ich erstmal ein paar Fragen um die Machbarkeit und den Aufwand abzuschätzen: 1.) Ist es möglich, die D2xx Treiber auf dem System zu installieren? Ich meine gehört zu haben, daß Treiber/Kernel Module immer auch vom OS-Derivat und von der CPU abhängig sind. 2.) Wie aufwändig schätzt Ihr die Entwicklung einer kleinen DLL (unter Linux shared library), die auf der einen Seite auf den FTDI Treiber zugreift und dem Anwender Funktionen wie "OpenGps(..), ConfigGps(..)" bereitstellt? Im Prinzip muss die Library nur Bytes über den FTDI Treiber hoch- und runterschaufeln. 3.) Ich würde die Library gerne mit einer kleinen 3-Tasten GUI/Anwendung bedienen. Welche IDE/Sprache bietet sich dafür an? 4.) Optimal wäre eine möglichst weit unten angesetzte Portabilität. D.h. die Library sollte als DLL f. Windows uind als Shared Library f.Linux kompilierbar sein. Ähnliches gilt für die Anwendung, auch sie sollte unter Windows & Linux laufen. Bin gespannt auf eure Antworten! Viele Grüße, Peter
Hallo Peter, die D2xxx-lib unter Ubuntu funktioniert. Ich habe sie mit der zugehörigen Wrapper-Unit unter Lazarus für den MiniLA benutzt. Der einzige Unterschied zur Windowsversion war soweit ich mich erinnere der andere Lib-Name, der einfach geändert werden kann. Wenn das mit Lazarus geht, sollte es mit C keine Probleme geben. Gruß, Guido
Hallo Guido, funktioniert die Library auch mit INTEL Atom CPUs, oder bin ich da auf dem falschen Dampfer, was die Systemabhängigkeit von Linux shared libraries angeht? Gruß, Peter
Ein Atom ist ein normaler x86er, ein ganz normaler PC-Prozessor.
Ausserdem wird ein FT245 (sofern man nicht im EEPROM herumgewuetet hat) standardmaessig vom Kernel erkannt und ein ttyUSB* device angelegt. stty +raw -f /device und du kannst den FT245 mehr oder weniger ueber die shell ansprechen.
Ok, Punkt 1.) ist also schon mal geklärt, sollte klappen. Wie sieht das mit den Fragen 2.) und 3.) aus? Welche Entwicklungsumgebungen Compiler Sprachen würdet ihr mir empfehlen? Aus dem Bauch heraus hätte ich jetzt Java für die Anwendung gesagt und die Shared Library in C geschrieben und mit GCC erzeugt.
Kommt drauf an was du genau machen willst. Viele Aufgaben lassen sich unter Linux bereits mit einem "einfachen" Bash-Skript lösen! Schnittstelle unter Linux ansprechen ist idr einfacher wie mit Windows. Du arbeitest im Prinzip nur mit einer Datei (in deinem Fall wie schon oben einer geschrieben hat irgendwas mit /dev/USBttyS0 ) Wenns komplizierter ist würde ich dir aufjedenfall raten mit C bzw C++ zu programmieren und die QT-libs zu verwenden dann kannst du dein Programm auch leicht auf andere Plattformen wie Windows oder MacOS portieren. Entwicklungsumgebung kann ich dir jetz keine Spezielle nennen. lg
Für eine "DLL" kommst du schlecht um C herum. Aber wenn es um die erwähnte einfache 3-Tasten-Anwendung geht, dann tut es als "Entwicklungsumgebung" jeder Editor und raus kommt einfachstes Scripting mit TclTk (oder ebenso Tk via Python,Perl,PHP,,...). Stammt zwar noch aus der Broncezeit, aber dafür langt es und ist schön einfach.
> Wenns komplizierter ist würde ich dir aufjedenfall raten mit C bzw C++ > zu programmieren und die QT-libs zu verwenden dann kannst du dein > Programm auch leicht auf andere Plattformen wie Windows oder MacOS > portieren. Ok, QT wäre eine Lösung um Portierbarkeit zu gewährleisten. Was wäre mit Java, könnte an das nicht auch einsetzten? Ein Freund hat mir Java wärmstens empfohlen. > Für eine "DLL" kommst du schlecht um C herum. Macht doch nix ;-) C ist kein Problem, habe bereits diverse kleinere DLLs geschrieben und mit MinGW kompiliert. Aber halt alles unter Windows. Editor muss ich mal schaun, aber so wie ich die Linux-Welt einschätze gibts da nicht viel. Seitdem mir ein Kollege mal den "super" Editor VI vorgeführt hat und allen ernstes meinte dieser wäre besser als alles Vergleichbare bin ich da wenig optimistisch. :D
peterguy schrieb: > Editor muss ich mal schaun, aber so wie ich die Linux-Welt einschätze > gibts da nicht viel. Ach nee. Gute Editoren und ggf. darauf aufbauende IDEs gibt es wie Sand am Meer. Code::Blocks, jEdit, ... > Seitdem mir ein Kollege mal den "super" Editor VI > vorgeführt hat und allen ernstes meinte dieser wäre besser als alles > Vergleichbare bin ich da wenig optimistisch. :D Glück gehabt. Ein anderer hätte dir Emacs empfohlen.
peterguy schrieb: > Was wäre mit Java, könnte an das nicht auch einsetzten? Ein Freund hat > mir Java wärmstens empfohlen. Eine einfache GUI-Anwendung geht mit so ziemlich allem worin man programmieren kann, ausser mit der Shell selber. Such dir aus was dir besser passt.
"ausser mit der Shell selber." naja, (g)dialog, oder einige der Sachen aus der plan9-Welt.....
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.