Erstellen einer Umgebung im Windows für Win32/64+CE
-
- 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:
Erstellen einer Umgebung im Windows für Win32/64+CE
Ich will hier mal kurz meine heutigen Erfahrungen im ersten Versuch Windows CE Programme zu schreiben kundtun.
Gescheitert bin ich zuerst daran den fpc aus dem svn von heute für arm-wince zu übersetzen.
Ich hab als ausweichmöglichkeit eine vorkompilierte Version aus der letzten Toolbox benutzt.
Die LCL liess sich ohne jegliche Probleme übersetzen.
Danach habe ich meine fpc.exe aus dem lazarus\fpc\bin\2.1.1\bin\i386-win32 Verzeichnis nach lazarus\fpc\bin\2.1.1\bin kopiert.
Ebenso die fpc.cfg.
an die kopierte fpc.cfg kommt noch
#Special Options
-Twince
-XParm-wince-
angehängt.
In den Enviroment Options von Lazarus wird als Compilerpfad die fpc.exe eingetragen statt ppc386.exe damit muss man den Compilerpfad nicht immer umschalten.
So, das wars leut Neues Projekt LCL Schnittstelle WinCE BetriebsystemTarget WinCE und CPU Target Arm eingestellt und das erste Programm lässt sich übersetzen.
Das selbe funktioniert nun nur durch ändern der Compilereinstellungen auch für Win32/64 und wenn man weitere Bintools und compilertargets installiert auch für andere Targets.
Ich werde anregen in den Produktivumgebungen (gerade Versionsnummern) die fpc.exe als compilerpfad mit anzugeben und Die arm-wince rtl und fcl + compiler mit beizulegen damit mann mit den Installationen immer schon Windows CE Programme erstellen kann.
Gescheitert bin ich zuerst daran den fpc aus dem svn von heute für arm-wince zu übersetzen.
Ich hab als ausweichmöglichkeit eine vorkompilierte Version aus der letzten Toolbox benutzt.
Die LCL liess sich ohne jegliche Probleme übersetzen.
Danach habe ich meine fpc.exe aus dem lazarus\fpc\bin\2.1.1\bin\i386-win32 Verzeichnis nach lazarus\fpc\bin\2.1.1\bin kopiert.
Ebenso die fpc.cfg.
an die kopierte fpc.cfg kommt noch
#Special Options
-Twince
-XParm-wince-
angehängt.
In den Enviroment Options von Lazarus wird als Compilerpfad die fpc.exe eingetragen statt ppc386.exe damit muss man den Compilerpfad nicht immer umschalten.
So, das wars leut Neues Projekt LCL Schnittstelle WinCE BetriebsystemTarget WinCE und CPU Target Arm eingestellt und das erste Programm lässt sich übersetzen.
Das selbe funktioniert nun nur durch ändern der Compilereinstellungen auch für Win32/64 und wenn man weitere Bintools und compilertargets installiert auch für andere Targets.
Ich werde anregen in den Produktivumgebungen (gerade Versionsnummern) die fpc.exe als compilerpfad mit anzugeben und Die arm-wince rtl und fcl + compiler mit beizulegen damit mann mit den Installationen immer schon Windows CE Programme erstellen kann.
-
- 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:
Die meissten Windows CE Geräte benutzen arm ja.
Und Risc ist bei Compilern sicher Optimaler als Cisc da sie besser auf einen compiler optimiert sind.
Das einzige Target was derzeit nicht unterstützt ist ist Mips. (Noch ein paar kleine wie pic und avr werden auch nicht unterstützt aber avr ist angedacht und mips gibts soweit ich weiss kaum noch ...)
Und Risc ist bei Compilern sicher Optimaler als Cisc da sie besser auf einen compiler optimiert sind.
Das einzige Target was derzeit nicht unterstützt ist ist Mips. (Noch ein paar kleine wie pic und avr werden auch nicht unterstützt aber avr ist angedacht und mips gibts soweit ich weiss kaum noch ...)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- 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:
So hier mal der 2. Teil:
Ich hab mich etwas davor gefürchtet einen Debugger für WinCE einzurichten.
Nun ums vorwegzunehmen 10 min Arbeit.
gdb für arm-ce heruntergeladen mir ein Verzeichnis im Lazarus dir für den debugger gemacht
In den Debugger Einstellungen den gdb pfad angegeben fertig.
Was ich nicht wusste, und die Sache um so schöner macht ist das gdb für wince das fertige executable selbst über active Sync auf gerät kopiert und dann startet. Es lässt sich also genau wie im Windows oder Linux selbst arbeitet einfach F9 und das executable wird auf dem aktuellen mit Active Sync verbundenenm gerät gespeichert und ausgeführt.
So kann ich je nachdem welches Gerät ich an Active Sync binde meinen PDA oder den Emulator nehmen und muss nichts umstellen. Ich denke die Integration ins Visual Studio ist auch nicht weiter. Kurzum ich bin mal wieder begeistert.
Result:
VirtualTrees läuft mit ein paar kleinen änderungen am Widgetset bereits auf dem Emulator und warscheinlich damit auf jedem Windows Mobile 5.0
allerdings nich nicht auf meinem PDA mit Pocket PC 3.0 aber ich kann ja jetzt debuggen ...
Synaser hab ich auch portiert konnts aber noch nicht testen, sobald das durch ist werd ich das resultat aber an Lukas Gebauer übergeben.
gruß
Christian
Ich hab mich etwas davor gefürchtet einen Debugger für WinCE einzurichten.
Nun ums vorwegzunehmen 10 min Arbeit.
gdb für arm-ce heruntergeladen mir ein Verzeichnis im Lazarus dir für den debugger gemacht
In den Debugger Einstellungen den gdb pfad angegeben fertig.
Was ich nicht wusste, und die Sache um so schöner macht ist das gdb für wince das fertige executable selbst über active Sync auf gerät kopiert und dann startet. Es lässt sich also genau wie im Windows oder Linux selbst arbeitet einfach F9 und das executable wird auf dem aktuellen mit Active Sync verbundenenm gerät gespeichert und ausgeführt.
So kann ich je nachdem welches Gerät ich an Active Sync binde meinen PDA oder den Emulator nehmen und muss nichts umstellen. Ich denke die Integration ins Visual Studio ist auch nicht weiter. Kurzum ich bin mal wieder begeistert.
Result:
VirtualTrees läuft mit ein paar kleinen änderungen am Widgetset bereits auf dem Emulator und warscheinlich damit auf jedem Windows Mobile 5.0
allerdings nich nicht auf meinem PDA mit Pocket PC 3.0 aber ich kann ja jetzt debuggen ...

Synaser hab ich auch portiert konnts aber noch nicht testen, sobald das durch ist werd ich das resultat aber an Lukas Gebauer übergeben.
gruß
Christian
-
- Beiträge: 31
- Registriert: Mi 17. Jan 2007, 10:19
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Stuttgart
- Kontaktdaten:
gibt es eigentlich kein gutes Tutorial, welches für Anfänger erklärt, wie man mit Lazarus Programme für Windows mobile erstellen kann? Habe mir mal so ein vorkompiliertes Komplettpaket heruntergeladen, da hat bei mir leider auch nichts funktioniert. Habe einen 1-jährigen Delphi-Kurs am Gymnasium mitmachen können, kann aber leider in der Hinsicht nicht viel mehr, als etwas Code schreiben und F9 drücken... Da ich vollzeit arbeite und noch abends das Abi nachmache, ist es auch zeitlich etwas schwierig, sich durch fachlich teils unverständliche Anleitungen auf der offiziellen Lazarus-Seite zu klicken. Ich wäre schon froh, wenn ich ne exe hinbekommen würde, die ich von Hand auf mein WinMobile-Gerät (XDA Neo) kopieren könnte...
-
- 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:
Da oben steht doch recht gut beschriebn wie man das hinbekommt noch einfacher ist ne standart 0.9.20 zu installiern und das entsprechende crosscompiler installationspaket drüber zu installieren.
dann musst du nur in den projektoptionenj als zielsystem wince und zielprozessor arm angeben F9 drücken und schon hast du ne exe mit einem fenster
dann musst du nur in den projektoptionenj als zielsystem wince und zielprozessor arm angeben F9 drücken und schon hast du ne exe mit einem fenster
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 31
- Registriert: Mi 17. Jan 2007, 10:19
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Stuttgart
- Kontaktdaten:
mit der Standard 0.9.20 hat's bei mir nicht funktioniert (da gibt es dann auch plötzlich 2 Veriosnsnummern im FPC-Verzeichnis). Nach einigem hin und her hab ich jetzt ein Lazarus, welches mit FPC 2.1.1 läuft, aber noch ein kleines Problem, wenn ich Zielplatform und so einstelle. Es kommt die Meldung:
The system.ppu was not found in the FPC directories. Make sure FPC is installed correctly and the fpc.cfg points to the right directory
was nun?
The system.ppu was not found in the FPC directories. Make sure FPC is installed correctly and the fpc.cfg points to the right directory
was nun?
-
- Beiträge: 31
- Registriert: Mi 17. Jan 2007, 10:19
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Stuttgart
- Kontaktdaten:
Habe Lazarus nach c:\lazarus installiert.
Das Projekt habe ich abgespeichert, es liegt im dafür angelegten c:\lazarus\projects
Hier ein paar Einstellungen:
Project - Compiler Options:
Options - Environment-Options - Files:
Das Projekt habe ich abgespeichert, es liegt im dafür angelegten c:\lazarus\projects
Hier ein paar Einstellungen:
Project - Compiler Options:
Code: Alles auswählen
---------- PATHS ----------
other sources:
$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\
LCL widget type:
wince
(der Rest hier ist leer)
---------- CODE ----------
Heap Size:
0
Generate:
faster code
Target Platform:
OS: WinCE
CPU: arm
i386: default
Optimizations:
Level1
Code: Alles auswählen
Lazarus Directory:
C:\lazarus\
Compiler Path:
C:\lazarus\fpc\2.1.1\bin\fpc.exe
FPC Source Dir:
C:\lazarus\fpc\2.1.1\source\
Make Path:
C:\lazarus\pp\bin\i386-win32\make.exe
Dir for building test projects:
c:\windows\temp\