Erstellen einer Umgebung im Windows für Win32/64+CE

Für Installationen unter MacOS u.a. Betriebssystemen
Christian
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

Beitrag von Christian »

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.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

FPC-Programme laufen wohl überall... Arm-Architektur?
Die funktioniert doch mit RISC? Es gibt da das Gerücht, RISC wäre effektiver als CISC...

Christian
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:

Beitrag von Christian »

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 ...)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Christian
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:

Beitrag von Christian »

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

mschnell
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

Beitrag von mschnell »

Das hört sich ja _sehr_ vielversprechend an !

Ich würde allerdings demnächst gerne FPC zur Erzeugung von Programmen für Linux auf ARM verwenden .

Hat da schon 'mal jemand recherchiert ?

-Michael

Christian
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:

Beitrag von Christian »

Das sollte ohne probleme möglich sein. Ich hab den Arm Codegenerator schon mehrfach gebraucht und hatte nie Probleme.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dietmarf
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:

Beitrag von dietmarf »

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...

Christian
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:

Beitrag von Christian »

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
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dietmarf
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:

Beitrag von dietmarf »

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?

Christian
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:

Beitrag von Christian »

Das ist ne meldung der ide, die nicht zwingend richtig sein muss was passiert denn wenn dus versuchst zu compilieren ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dietmarf
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:

Beitrag von dietmarf »

nichts. Es blinkt kurz (compiling...) auf und das wars.

Christian
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:

Beitrag von Christian »

und ? ein executable hast du danach aber wirklioch nicht ?! das compilieren dauert zu dieser plattform nicht sonderlich lange
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dietmarf
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:

Beitrag von dietmarf »

nein, hab nirgends eine exe gefunden.

Christian
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:

Beitrag von Christian »

hast du in den enviromet options den fpc als compiler ausgewählt ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dietmarf
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:

Beitrag von dietmarf »

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:

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


Options - Environment-Options - Files:

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\

Antworten