FPC Targets & Crosscompile

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

FPC Targets & Crosscompile

Beitrag von af0815 »

Ich möchte für den GTA02 (Freerunner) kompileren, später auch mittels Lazarus crosscompileren (Wenn es mit dem FPC mal prinzipiell funktioniert), oder auch direkt am GTA02 kompileren.
Nachdem ich bis jetzt allein nicht auf eine lauffähige Version gekommen bin, jetzt die Bitte um Hilfe. Als Basissystem habe ich Linux (Ubuntu) oder Vista64 zur Verfügung. Übrigends Buildfaq und fast alle Artikel im aus der Wiki habe ich mittlerweile durchgeackert. Wissen habe ich schon viel mehr, deshalb auch die Erkenntnis, das ich da nochmal an den Start muß.

Siehe auch Neo FreeRunner Hardware
Prozessor:
Samsung S3C2442B B54 (400MHZ)
Core: ARM920T
Instruction Set: ARMv4

Die erste Frage ist: Wie finde ich heraus, welche Targets (und weitere Options) für meinen ARM das richtige ist.

Code: Alles auswählen

 $ make all OS_TARGET=linux CPU_TARGET=arm 
ist sicherlich nicht die richtige Weisheit, da dieses CPU damit nicht richtig beschrieben ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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:

Re: FPC Targets & Crosscompile

Beitrag von Christian »

doch das ist ein arm core damit funktioniert das mit dem fpc target arm.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: FPC Targets & Crosscompile

Beitrag von af0815 »

Christian hat geschrieben:doch das ist ein arm core damit funktioniert das mit dem fpc target arm.
Nein, leider nicht ganz. Es geht bis zu einem gewissen Grad. Es hängt auch schon davon ab, welche Befehle der entsprechende Prozessor kann, wie die Flotingpoints behandelt werden, ob es einen flotingpointprozessor gibt, ....

Genau das ist jetzt der springende Punkt. Ich kann einen für ARM/Linux precompilerten FPC nicht nehmen, da gegen eine andere Version der binutils gelinkt wurde. Ich glaube gegen V0 und ich benötige für den freerunner aber V4. Da geht es aber schon stark an die ARM internas.

Ich habe kein Problem mir auf der i386/Win bzw i386/Linux einen FPC aus den Sourcen zu backen, beim Crosscompile leider schon, besonders, da die ARM-Plattform sehr viele Spezialitäten zu haben scheint.

Ein Hinweis aus dem Chat war, das ganze von Grund auf selbst zu kompileren und die "OPT=-dFPC_ARMEL" zu verwenden.
Nur bin ich da im letzen Monat nicht wirklich weitergekommen und ich habe Tage mit dem Compiler und der Recherche verbracht. Jetzt probiere ich mal den umgekehrten Weg und plärre wie ein Newbee (bin ich eigentlich ja eh beim Crosscompile) um Hilfe :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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:

Re: FPC Targets & Crosscompile

Beitrag von Christian »

in so einem speziellen fall würd ich mich mal im chat blicken lassen und florean drauf anschreiben ihr habt euch ja nun auch schon mal persönlich kennengelernt. seine zeit ist verständlicherweise oft knapp bemessen er ist aber sehr hilfsbereit.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: FPC Targets & Crosscompile

Beitrag von af0815 »

Christian hat geschrieben:in so einem speziellen fall ...
nachdem ja etliche sich mit dem Thema Crosscompile auseiandersetzen, will zuerst da erst das Wissen hier ausschöpfen und meine Fragen stellen. Ev. hat sich schon wer etwas mehr mit der Materie crosscompile auseinandergesetzt :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: FPC Targets & Crosscompile

Beitrag von marcov »

af0815 hat geschrieben:
Christian hat geschrieben:in so einem speziellen fall ...
nachdem ja etliche sich mit dem Thema Crosscompile auseiandersetzen, will zuerst da erst das Wissen hier ausschöpfen und meine Fragen stellen. Ev. hat sich schon wer etwas mehr mit der Materie crosscompile auseinandergesetzt :-)
Inventarisiere erst mal welche ARM Parameter dein hardware und distro wählt:

- basis architectur : ARMv4 (das macht FPC auch)
- basis endianness: big endian (aber das obere impliziert dass du little endian benötigst , ARMEL) ?
- wenn du Soft floating Point benötigst, addiere "-Cfsoft"
- Thumb Instruktionen hast du schon (obere Neo Runner URL sagt "ARMv4T", den T ist Thumb)
- distribution ist alte "calling convention"/ABI : OABI, oder den neue: EABI. Standard FPC ist heute OABI, aber es gibt ein experimentelles define ( -dFPC_ABI_EABI ) um den RTL nach EABI zu schalten.
(siehe auch http://wiki.debian.org/ArmEabiPort" onclick="window.open(this.href);return false;)

Bitte rapportiere all deine Erfahrungen hier. Ich moechte gern etwas in der Buildfaq uber diese (relativ neue) Optionen schreiben.

Antworten