[Lazarus] Cross-compiling for Raspberry Pi2

Martin Schreiber mse00000 at gmail.com
Fri Sep 18 07:00:06 CEST 2015


On Friday 18 September 2015 01:28:16 Bo Berglund wrote:
> I have a need to port a Delphi console program written for Windows to
> be used on Raspberry Pi2.
> Apparently it is possible to use Freepascal to get programs running on
> the Pi2 platform, but can it be done in Windows so I don't have to
> install the complete IDE on a Pi and set it up with a monitor,
> keyboard and mouse just for running the compile?
>
On Linux X86 you could use MSEide and the FPC cross compiling environment from 
here:
http://mseide-msegui.sourceforge.net/pics/crossarm.png
http://sourceforge.net/projects/mseide-msegui/files/fpcrossarm/

I assume it is possible to make something similar for Lazarus and Windows, I 
don't know if it already exists.

For integrated development with FPC 3.0.1 MSEide+MSEgui git master version is 
necessary:

https://gitlab.com/mseide-msegui/mseide-msegui

From MSEide+MSEgui README.TXT:
"
Crosscompiling and remote debugging i386-linux -> arm-linux
***********************************************************
For Raspberry Pi:
- Establish a ssh login without password (public key authentication).

- On the i386-linux host install the scp program
- download and extract 
  
http://sourceforge.net/projects/mseide-msegui/files/fpcrossarm/crossfpc-i386_linux-eabihf_3_0_1.tar.gz
  to <your crossfpc directory>.

- Start MSEide, in 'Settings'-'Configure MSEide'-'Global Macros' add:

Name          Value

CROSSMSEDIR   <MSEide+MSEgui directory>
CROSSFPCDIR   <your crossfpc directory>
HOSTIP        <the IP of the host>
REMOTEIP      <the IP of the remote target>
REMOTEPORT    <the remote port, ex: 2345>
REMOTEUSER    pi

- 'Project'-'New'-'From Template', select "crossarmdefault.prj" or
  "crossarmconsole.prj".
- Create the new project.
- 'Project'-'Options'-'Macros', set the TARGETPROJECTDIR value to the project
  path in remote target, ex: "/home/pi/proj/testcase".
- Check the TARGETENV macro.
- If your application needs additional libraries copy them from Raspberry Pi
  /lib/arm-linux-gnueabihf or /usr/lib/arm-linux-gnueabihf to
  <your crossfpc directory>/eabihf/lib

Press F9 and hope the best. ;-)
"
MSEide+MSEgui also runs amazingly fast natively on the Raspberry Pi, the 
limiting factor is FPC compiling speed and memory consumption especially for 
smart linking.

Martin




More information about the Lazarus mailing list