Recent

Author Topic: CrossARM on PENGPOG is done! Wiki Tut, Don't work  (Read 3071 times)

felipote1972

  • New member
  • *
  • Posts: 7
  • 1 +1 = 3
CrossARM on PENGPOG is done! Wiki Tut, Don't work
« on: August 03, 2013, 11:42:28 pm »
Finally i done, i can run graphical binaries in a Tablet PengPod 1.2ghz Cortex A8 ARM Core.

The hardware:
www.androidpit.com/pengpod-the-true-linux-tablet

the result is awesome, literally is flying:
1.- in fact in can comunication with serial port reseeving data at 38400 bps, without problems, using spdo
2.- i can graphs in real time
3.- i can use mysql connection without problems
pd: the only problem, is you need to set up fontsize to 0 (label, button's, panels), otherwise dissapears

let'me advices to other people that the wiki tutorial 'CRoss-compile for ARM', wasn't work, only work if you want simple text application's, and why don't work?, i ' m not cross compile expert , but don't work because:
BEFORE you have FPC working

1.-Is necessary rebuild gcc
2.-Is necessary rebuild gdb
3.- Is necesary Newlib (rebuild too)
4.- rebuild binutils
5.- you need import lib's from the tablet, (/lib/ & /usr/lib/), in a directory on the host like 'licross125'
6.- you need to change some file names like: pango-1.2.so.000.1 -> pango-1.2.so (the compiler tell you the names)

the used parameter is differnet too, is=arm-elf

thank's to a german wiki tutorial, i can create the correct ToolChain:
the tutorial is:
(you need fpc running good before)
http://wiki.ubuntuusers.de/GNU_ARM-Toolchain

and then follow this steps:
""After all it creates a structure in /opt/gnuarm which can be used to compile Hello-World. I was missing at least libgl and did not find a way to build it. So one can access different precompiled toolchains as well (www.gnuarm.com/, www.yagarto.de/, www.codesourcery.com/). I downloaded this file decompressed it to /opt (arm-2009q3) and applied that path to all further steps.

5. fpc

make distclean
make crosszipinstall CPU_TARGET=arm OS_TARGET=linux OPT="-dFPC_ARMEL" CROSSOPT="-XR/opt/arm-2009q3/arm-none-linux-gnueabi -dFPC_ARMEL -CfSOFT -Cparmv5" FPC=/usr/local/lib/fpc/2.5.1/ppcx64


- crosszipinstall to create but not install
- -XR<> root dir where as and ld can be found
- ppcx64 is the compiler on 64bit systems, for 32bit it is called ppc386

It results in a packed file like fpc-2.5.1.arm-linux.tar.gz just where the makefile resides. Unpack the content to /usr/local/lib/fpc... and create a link for ppcrossarm into /usr/local/bin. Now ppcrossarm can be used to compile sources
6. Compilation
ppcrossarm -Xd -Fl/opt/arm-2009q3/arm-none-linux-gnueabi/libc/usr/lib -CaEABI -Parm -CfSOFT -CpARMV5 Example.pas


-Xd don't use standard lib path
-Fl use directory to search for libs
I don't know if it works without -C options.
"
and that's if, the full process, creates a nice 'ppcrossarm' and really works!
(don't forget the target libraries)


 8-)




« Last Edit: August 04, 2013, 12:25:43 am by felipote1972 »

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: CrossARM on PENGPOG is done! Wiki Tut, Don't work
« Reply #1 on: August 04, 2013, 12:18:04 pm »
If you think the wiki article needs to be corrected/expanded, please do so - you'd help others with it, too.

E.g.
Quote
1.-Is necessary rebuild gcc
2.-Is necessary rebuild gdb
3.- Is necesary Newlib (rebuild too)
4.- rebuild binutils
5.- you need import lib's from the tablet, (/lib/ & /usr/lib/), in a directory on the host like 'licross125'
6.- you need to change some file names like: pango-1.2.so.000.1 -> pango-1.2.so (the compiler tell you the names)
Yes, the wiki articles say you need the right binutils and libraries but as these differ for each system, there's no fixed recipe to give.

You could add a section for your device that specifies how you performed those steps.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified