CrossCompiling Linux Mint --> Raspberry 2B

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 985
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: CrossComiling Linux Mint --> Raspberry 2B

Beitrag von kralle »

Moin,

mse hat geschrieben:Ich habe Free Pascal Cross-Versionen für Linux X86_64 Host hochgeladen:
https://sourceforge.net/projects/mseide ... pcrossarm/


Das ist aber "MSEide+MSEgui" und nicht Lazarus - oder?

Gruß HEiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: CrossComiling Linux Mint --> Raspberry 2B

Beitrag von Mathias »

Weil fpcuüdelux dir sehr viel Arbei abnimmt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: CrossComiling Linux Mint --> Raspberry 2B

Beitrag von mse »

kralle hat geschrieben:
mse hat geschrieben:Ich habe Free Pascal Cross-Versionen für Linux X86_64 Host hochgeladen:
https://sourceforge.net/projects/mseide ... pcrossarm/

Das ist aber "MSEide+MSEgui" und nicht Lazarus - oder?

Das ist eine Free Pascal Linux X84_64 -> Raspberry Pi Cross Kompilierung und Remote Debugging Umgebung für beliebige IDE's.
README.TXT:

Code: Alles auswählen

 
2018-04-13 Free Pascal fixes_3_0 cross compiler and tools i586-linux
 and x86_64-linux -> arm-linux,
 binutils 2.29.51 gdb 8.1.0
Please read MSEide+MSEgui README.TXT.
 

Der Vorteil von MSEide ist, dass MSEide erprobte Projekt Templates für diesen Fall besitzt.
Für Lazarus lese ich immer wieder, dass die Leute Linux X84_64 -> Raspberry Pi Cross Entwicklung nicht schaffen.
Lazarus native auf dem Raspberry Pi 2B ist von der Performance her grenzwertig, MSEide+MSEgui native auf dem Raspberry Pi 2B läuft gut, die Kompilierung mit Free Pascal dauert aber auch lange.

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: CrossComiling Linux Mint --> Raspberry 2B

Beitrag von Timm Thaler »

mse hat geschrieben:Für Lazarus lese ich immer wieder, dass die Leute Linux X84_64 -> Raspberry Pi Cross Entwicklung nicht schaffen.


Mit fpcupdeluxe sollte die Einrichtung eigentlich kein Problem sein. Und wer sich das Selbstkompilieren mit dem Umweg über die Stable aus den Repos sparen will, es gibt immer aktuelle Releases auch für Linux: https://github.com/newpascal/fpcupdeluxe/releases

mse hat geschrieben:Lazarus native auf dem Raspberry Pi 2B ist von der Performance her grenzwertig, MSEide+MSEgui native auf dem Raspberry Pi 2B läuft gut, die Kompilierung mit Free Pascal dauert aber auch lange.


Ist es nicht. Die Stable, die mit den Repos ausgeliefert wird läuft sehr gut, selbst über den VNC Viewer*. Und wie lange die Kompilierung dauert hängt eh davon ab, was man da kompiliert. Ich kann nicht sagen dass das merklich langsamer ist als auf dem PC.

*) Bis auf das nervige Alt-Tasten-Problem.

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von Mathias »

Alternativ, auf dem PC mut fpcupdelux ein Crosscompiler für den Raspi erstellen.

Auf dem Raspi eine Dateifreigabe erstellen und in diese reincompilieren.
Anschliessend kann auf dem Raspi die Execute gestartet werden.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von mse »

Mathias hat geschrieben:Alternativ, auf dem PC mut fpcupdelux ein Crosscompiler für den Raspi erstellen.

Oder vom erwähnten Ort downloaden:
https://sourceforge.net/projects/mseide ... pcrossarm/
Auf dem Raspi eine Dateifreigabe erstellen und in diese reincompilieren.

scp ist praktischer:
https://en.wikipedia.org/wiki/Secure_copy
Anschliessend kann auf dem Raspi die Execute gestartet werden.

Oder remote debugging verwenden. Der erwähnte Ort hat auch cross gdb Versionen. Das ist dann entsprechend wie du mit dem ST-LINK Interface arbeitest.

MmVisual
Beiträge: 1437
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von MmVisual »

Weil ich Zeos 7.1.4 installieren wollte und das manuelle Installieren der Komponente fehl schlägt da noch buggy Pakete das Lazaus mit installieren will (bei der Funktion Lazarus neu übersetzen) was zuvor FpcUpDeluxe nicht installiert hatte.
Und wenn ich Zeos mit FpcUpDeluxe installiere (was auch geht) dann holt es das aktuelle Trunc (Zeos 7.3) und das ist buggy.

Ohne die Zeos Komponente ist die Installation mit wenigen Clicks gemacht.

Und wenn man keine RaspberryPi EXE mit FpcUpeluxe hat, dann braucht man:
1. FPC Compiler
2. SVNclient
um die FpcUpDeluxe Sourcen auf dem Raspberry Pi übersetzen zu können.

Ich habe ziemlich lange gebraucht das alles heraus zu finden, denn das Setup (Windows) von der Lazarus-IDE.org Seite macht definitiv was anderes als FpcUpDeluxe.

Als Verbesserung würde ich es begrüßen wenn FpcUpDeluxe die gleichen Komponenten installieren würde so wie es das reguläre Setup auch macht.
Zuletzt geändert von MmVisual am Sa 14. Apr 2018, 14:34, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von Timm Thaler »

Stimmt, mischen sollte man die nicht. Und es hat sich auch als günstig gezeigt, eine Kopie des Lazarus-Ordners zu machen, bevor man ein Update mit fpcupdeluxe macht. Sonst kann es ganz schnell passieren, dass ein paar fehlende Dateien einem die Installation komplett zerschießen.

Aber ehrlich möchte ich fpcupdeluxe nicht mehr missen, gerade die Installation von Crosscompilern für Embedded Avr und Arm ist sonst ein Krampf.

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von Mathias »

für Embedded Avr und Arm ist sonst ein Krampf

Arm ? Hast du da ein Embedded hingekriegt ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von Timm Thaler »

Mathias hat geschrieben:Arm ? Hast du da ein Embedded hingekriegt ?


Nur Raspberry Arm, was ja nicht Embedded ist. Ist etwas missverständlich formuliert. Ich will mir auch mal die STM anschauen, aber bisher hänge ich noch an genügend anderen Projekten... ;-)

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von Mathias »

Nur Raspberry Arm, was ja nicht Embedded ist.

Dies geht bei mir auch. Aber an ARM Embedded scheitert fpcupdelux (noch). Aber wer weis. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 985
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von kralle »

Moin,

nach dem hier jetzt so viele Varianten/Alternativen beschrieben worden, frage ich mal genauer:

Mein Betriebssystem ist Linux Mint 19 Cinnemon 64-Bit
Ich habe die aktuelle Trunk von FP und Laz mittels FPCUPDELUXE installiert.
Dann habe ich Crosscompiling für
Windows 32 Bit
Windows 64 Bit
Linux 32 Bit
und
Linux ARM
erstellen für
lassen.

Jetzt muß ich in Laz ja nur noch in den Projekteinstellungen für alles die entsprechenden Einstellungen vornehmen und
zwar als Build-Modi.
Für die oberen 2 habe ich das noch schriftlich liegen, für Linux 64 --> Linux 32 , finde ich das zur Zeit leider nicht wieder und
für Linux (ARM) sprich Raspberry 2 B , habe ich das noch nie konfiguriert.
Wer kann da mit Werten helfen?

(Zusatzfrage: Würde auch ein Remote-Debug auf dem Raspberry funktionieren? Wenn ja.)

Gruß Heiko
Zuletzt geändert von kralle am Di 23. Okt 2018, 16:15, insgesamt 1-mal geändert.
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von mschnell »

Soweit ich weiß funktioniert Remote debug überhaupt nicht. Die entsprechenden Funktionen in Lazarus sind auskommentiert.

(Falls sich das nicht kürzlich geändert hat.)

-Michael

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von mse »

kralle hat geschrieben:Würde auch ein Remote-Debug auf dem Raspberry funktionieren?

Mit MSEide ja. Mit Lazarus müsste es auch möglich sein, da Lazarus ebenfalls gdb verwendet.

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

Re: CrossCompiling Linux Mint --> Raspberry 2B

Beitrag von mschnell »

Habe ich vor einiger Zeit versucht (Ergebnis siehe oben :( ) . Es gibt hier im Forum eine längere Diskussion darüber. (im Prinzip gibt es zwei Möglichkeiten: gdbremote verwenden, oder den normalen gdb über SSH fernsteuern. Ging damals beides nicht. )
-Michael

Antworten