<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
I am wondering why compile did not fail, or did you rename your
binutils tools? In case you did not rename them those commandlines
should work:<br>
<br>
make clean buildbase installbase CROSSINSTALL=1 OS_TARGET=embedded
CPU_TARGET=arm SUBARCH=armv7m INSTALL_PREFIX=/home/sietse <b>BINUTILSPREFIX=arm-none-eabi-
</b><br>
<br>
You do not need to call fpc to successfully compile, it is good
enough to use ppcrossarm.<br>
<br>
/home/sietse/lib/fpc/2.7.1/ppcrossarm -Ch1024 -Cs1024 -Tembedded
-Parm -Cparmv7m <b>-XParm-none-eabi-</b> tled1.pp<br>
<br>
should compile the app. If those can't find system used by program
errors stay there's propably a problem with your fpc.cfg.<br>
<br>
pleae try with this commandline:<br>
<br>
/home/sietse/lib/fpc/2.7.1/ppcrossarm -Ch1024 -Cs1024 -Tembedded
-Parm -Cparmv7m <b>-XParm-none-eabi-</b> <b>-vu</b> tled1.pp <br>
<br>
You should see output like this:<br>
<br>
Target OS: Embedded<br>
Compiling hello.pas<br>
(HELLO) Registering new unit SYSTEM<br>
(HELLO) Load from HELLO (implementation) unit SYSTEM<br>
(SYSTEM) Loading unit SYSTEM<br>
(SYSTEM) PPU Name: <b>/home/sietse/lib/fpc/2.7.1/units/arm-embedded/rtl/system.ppu</b><br>
<br>
<br>
<br>
Here's a list of files installed on my system for arm-embedded, your
directory structure should look similar (except that you have a
different INSTALL_PREFIX<br>
<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/consoleio.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/consoleio.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/cortexm3.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/cortexm3.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/cortexm4.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/cortexm4.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/heapmgr.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/heapmgr.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lm3fury.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lm3fury.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lm3tempest.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lm3tempest.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lm4f120.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lm4f120.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lpc13uxx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lpc13uxx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lpc13xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lpc13xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lpc1768.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/lpc1768.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/objpas.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/objpas.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/Package.fpc<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f100xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f100xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f101xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f101xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f102xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f102xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f103xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f103xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f105xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f105xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f107xx.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f107xx.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f40x.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f40x.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f41x.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f41x.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f427x.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f427x.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f429x.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f429x.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f437x.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f437x.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f439x.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/stm32f439x.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/sysconst.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/sysconst.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/system.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/system.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/sysutils.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/sysutils.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/uuchar.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/uuchar.ppu<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/xmc4500.o<br>
/usr/local/lib/fpc/2.7.1//units/arm-embedded/rtl/xmc4500.ppu<br>
<br>
<br>
<div class="moz-cite-prefix">Am 12.10.14 um 18:40 schrieb Sietse
Achterop:<br>
</div>
<blockquote cite="mid:543AAEFB.5010602@rug.nl" type="cite">On
10/12/2014 10:54 AM, Mark Morgan Lloyd wrote:
<br>
<blockquote type="cite">Sietse Achterop wrote:
<br>
<blockquote type="cite"> Dear list,
<br>
I try to get the embedded port of fpc (for both lcp1728 and
stm32f4) to work but fail.
<br>
I use the info on
<br>
<a class="moz-txt-link-freetext" href="http://wiki.freepascal.org/TARGET_Embedded">http://wiki.freepascal.org/TARGET_Embedded</a>
<br>
but immediate get:
<br>
make[1]: -iVSPTPSOTO: Command not found
<br>
</blockquote>
</blockquote>
<br>
.....
<br>
<blockquote type="cite">export PP=....
<br>
make clean all
<br>
</blockquote>
<br>
Ok, thanks. I now see that you need the hosts fpc to create the
embedded version. I assumed only gcc was needed.
<br>
<br>
The given make-command only works as root, so i use a
INSTALL_PREFIX:
<br>
make clean buildbase installbase INSTALL_PREFIX=/home/sietse
CROSSINSTALL=1 OS_TARGET=embedded CPU_TARGET=arm SUBARCH=armv7m
<br>
This works ok.
<br>
<br>
But the command
<br>
fpc -Parm -Tembedded -Wplpc1768 -Cparmv7m tled1.pp
<br>
gives:
<br>
Error: ppcarm can't be executed, error message: Failed to
execute "ppcarm", error code: 127
<br>
<br>
I notice that "make installbase" did not install a program fpc in
/home/sietse/bin, but I find
<br>
/home/sietse/lib/fpc/2.7.1/ppcrossarm
<br>
If I try
<br>
/home/sietse/lib/fpc/2.7.1/ppcrossarm -Parm -Tembedded
-Wplpc1768 -Cparmv7m tled1.pp
<br>
<br>
Free Pascal Compiler version 2.7.1 [2014/10/12] for arm
<br>
Copyright (c) 1993-2014 by Florian Klaempfl and others
<br>
Target OS: Embedded
<br>
Compiling tled1.pp
<br>
Fatal: Can't find unit system used by Program
<br>
Fatal: Compilation aborted
<br>
<br>
So the ppcrosarm probably is the correct main program, but it
seems that the fpc for the embedded port isn't installed.
<br>
Where is the fpc that will call ppcrosarm?
<br>
<br>
Hopefully this make sense.
<br>
Sietse
<br>
<br>
_______________________________________________
<br>
fpc-devel maillist - <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
<br>
</blockquote>
<br>
</body>
</html>