mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ubuntu + FTDI(245BM) + Intel Atom Prozessor


Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Guido (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Atom ist ein normaler x86er, ein ganz normaler PC-Prozessor.

Autor: faustian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: faustian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"ausser mit der Shell selber."

naja, (g)dialog, oder einige der Sachen aus der plan9-Welt.....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.