Lazarsprogramm für Linux ohne QT etc
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Lazarsprogramm für Linux ohne QT etc
Hi,
Ich möchte ein (-en Teil eines) Delphi Programm auf ein kleines embedded System mit ARM Prozessor und Linux-Betriebssystem portieren.
Schön wäre, wenn ich dabei Lazurus verwenden könnte.
Ich möchte dabei keine GUI haben, denn das Zielsystem unterstützt keine Grafik (OK, man könnte einen remote X-Server via TCP/IP verwenden, aber das verschlingt vermutlich zu viele Ressourcen.)
Die Frage ist nun: Kann ich ein Lazarus-Programm (für Linux) machen, das keine QT (o.ä.) -Aufrufe macht.
Wie gesagt brauche ich keine Bildschirm-Ausgaben und keine Tastatur oder Maus. (writeln-Testausgaben o.ä wären natürlich hilfreich.)
Ich brauche aber File/IO, Serienschnittstellen, Timer und TCP/IP.
Gruß
-Michael
Ich möchte ein (-en Teil eines) Delphi Programm auf ein kleines embedded System mit ARM Prozessor und Linux-Betriebssystem portieren.
Schön wäre, wenn ich dabei Lazurus verwenden könnte.
Ich möchte dabei keine GUI haben, denn das Zielsystem unterstützt keine Grafik (OK, man könnte einen remote X-Server via TCP/IP verwenden, aber das verschlingt vermutlich zu viele Ressourcen.)
Die Frage ist nun: Kann ich ein Lazarus-Programm (für Linux) machen, das keine QT (o.ä.) -Aufrufe macht.
Wie gesagt brauche ich keine Bildschirm-Ausgaben und keine Tastatur oder Maus. (writeln-Testausgaben o.ä wären natürlich hilfreich.)
Ich brauche aber File/IO, Serienschnittstellen, Timer und TCP/IP.
Gruß
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Und dann tut's TTimer, und TThrerad (hatte ich in meiner Aufzählung vergessen) noch ? Ich werd's gleich testen (zunächst in Windows).Christian hat geschrieben:Projekt->Neues Projekt->Programm (statt Anwendung)
TCP/IP und Serienschnittstellen habe ioch noch gar nicht getestet, weil man ja dafür irgendwelche Komponenten (z.B. Indy) verwenden muss. Indy in Lazarus soll ja gehen

Wäre ja toll, wenn das wirklich so einfach ginge...Christian hat geschrieben:In den Compilereinstellungen prozessortyp auf Arm setzen entsprecehnden crosscompiler installiern (siehe anleitungen für wince) und los gehts
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Das ist, wie gesagt kein Konsolenprogramm / Daemon sondern ein embedded Programm, das ohne Benutzer-Aktivität so vor sich hin läuft und ab und zu etwas macht. Dabei darf es nicht z.B. die Uhrzeit pollen, weil es auf einem System im Hintergrund mitläuft und bis zum Wecken möglicht keine CPU-Zeit verbraten darf.theo hat geschrieben:Wie Christian sagt.
Ausnahme ist vielleicht der Timer. Der ist soviel ich weiss ans Widgetset gebunden.
Aber ein Konsolenprogramm / Daemon braucht eigentlich keinen Timer.
-Michael
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
embedded Programme gibts nicht Programme ohne Benutzereingriff die nur Services bereitstellen sind Server. Den Ausdruck embedded Programm gibt es nicht embedded ist nur ein Zusatz und kein Schlagwort es beschreibt lediglich intigriert ob nun Schaltungen, Systeme oder Programmieranweisungen darüber trifft es keine Aussage
Mit den Timern bin ich mir gar nicht so sicher die LCL wird ja auch in Konsolenanwendungen mit ein compiliert und implementiert die Messagingschleife mehr oder minder selbst von daher könnte das senden von Narichten an die eigene Anwendung und damit dir Funktion des Timers auch in Konsolenanwendungen gegeben sein
Mit den Timern bin ich mir gar nicht so sicher die LCL wird ja auch in Konsolenanwendungen mit ein compiliert und implementiert die Messagingschleife mehr oder minder selbst von daher könnte das senden von Narichten an die eigene Anwendung und damit dir Funktion des Timers auch in Konsolenanwendungen gegeben sein
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Ich hab's ausprobiert. Für Lazarus (in Windows) und Delphi gilt dasselbe: In einer Konsolenanwendung geht TTimer nicht. (In Lazarus wird schon beim Kompilieren die uUnit extctrls nicht gefunden. Delpi übersetzt es, aber ein Timer-Event kommt nie.)
TThread geht aber. Damit (und mit messages) kann man dann ja dann selber einen Timer basteln.
Ob das aber viel nützt ist die andere Frage. Wie gesagt brauche ich TCP/IP. und dazu sollte man ja wohlö am besten Indy verwenden. Ich kann mir nicht vorstellen, dass Indy ohne TTimer auskommt. Und wie man Indy überreden kann einen TTimer zu verwenden, den ich für diesen Zweck neu basteln würde ist dann die nächste Frage.
Ähnliches gilt vermutlich auch für Komponenten, mit denen man die serielle Schnittstelle ansprechen könnte.
-Michael
TThread geht aber. Damit (und mit messages) kann man dann ja dann selber einen Timer basteln.
Ob das aber viel nützt ist die andere Frage. Wie gesagt brauche ich TCP/IP. und dazu sollte man ja wohlö am besten Indy verwenden. Ich kann mir nicht vorstellen, dass Indy ohne TTimer auskommt. Und wie man Indy überreden kann einen TTimer zu verwenden, den ich für diesen Zweck neu basteln würde ist dann die nächste Frage.
Ähnliches gilt vermutlich auch für Komponenten, mit denen man die serielle Schnittstelle ansprechen könnte.
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Ich wollte nur klar stellen, dass mein Programm immer läuft und manchmal (zu bestimmten Zeiten) irgendwas tut. Dazwischen muss es warten. Und dafür braucht man irgend eine Art Timer. Auch um Timeouts auf Kommunikationsschnittstelle zu erkennen ist ein Timer nötig.Christian hat geschrieben:embedded Programme gibts nicht
-Michael
Ich glaube nicht, dass Indy einen Timer benötigt.mschnell hat geschrieben:Ich kann mir nicht vorstellen, dass Indy ohne TTimer auskommt.
Trotzdem würde ich Synapse empfehlen. Das braucht bestimmt keinen.
http://synapse.ararat.cz/" onclick="window.open(this.href);return false;
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
das gtk interface z.b. ist zwar mit kanonen auf spatzen geschossen aber interessieren würde es mich mal ob dann ttimer auch an der konsole funktioniert oder ob man dann zwingend win x braucht um das programm überhaupt zu satrten glaub ich aber nichtWie meinst du das? Was kann man einkompilieren?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Da seh ich aber Rabenschwarz. GTK ohne X/Winapi, wie soll das gehen?Christian hat geschrieben:das gtk interface z.b. ist zwar mit kanonen auf spatzen geschossen aber interessieren würde es mich mal ob dann ttimer auch an der konsole funktioniert oder ob man dann zwingend win x braucht um das programm überhaupt zu satrten glaub ich aber nicht
Ich vermute sogar, das TTimer letzlich in GTK auch über X events abgewickelt wird,
weiss es aber nicht.