ts-7000
[Top] [All Lists]

[ts-7000] Re: Cross-compile EABI-MaverickCrunch GTK-DFB Aftermatch

To:
Subject: [ts-7000] Re: Cross-compile EABI-MaverickCrunch GTK-DFB Aftermatch
From: "Dunge2" <>
Date: Mon, 24 Aug 2009 13:54:31 -0000
Hey Z,

The kernel provided by TS at this address actually support EABI without any 
change:
ftp://ftp.embeddedarm.com/touch-panel-computers/ts-tpc-7390-linux/binaries/ts-images/kernel-image-latest.dd

You can also use their lenny rootfs if you plan to use Qt, since it don't 
depend on any other libs. I didn't go for Qt because as I already said, our 
application is finished and using GTK+. That's why I want X. And, GTK depends 
on soo many libs that need to be built with the crosstool...

dokapra :
I downloaded sb2, installed it. I'm trying to follow what is written in the 
readme, copied sys-root to $HOME/buildroot. When I call "sb2-init mytarget 
arm-ep9312-linux-gnueabi-gcc" it say "arm-ep9312-linux-gnueabi-gcc doesn't 
exist". Of course, it can't know the name.. where did I forget a step?

--- In  Scott Zimmerman <> wrote:
>
> Hey Dunge2,
> 
> If you have an EABI kernel that boots from SD card (without X or Cairo), I'd
> love to combine that with the version of Qt that I'm trying to build.  Right
> now, I don't have an EABI kernel, so I can only boot to fastboot.  I'd
> really love to get back to booting all the way up from an SD card.  Then all
> I need is tslib and Qt and I'm good to go.  Have you considered that
> approach?  Is so, why did you decide against it?
> 
> Thanks,
> 
> ...Z
> 
> On Fri, Aug 21, 2009 at 11:25 AM, Dunge2 <> wrote:
> 
> >
> >
> > Even without X, if I try to build cairo with X support, configure don't
> > find it but don't say any errors and configure it for X anyway.
> >
> > I though I could use the apt-get package for running on the device, and
> > compile cairo/gtk myself, but it fail at some point anyway:
> >
> > cairo-xlib-surface.c: In function '_swap_ximage_2bytes':
> > cairo-xlib-surface.c:348: error: invalid 'asm': invalid operand for code
> > 'w'
> >
> > This is clearly something I couldn't do. I think I'll dump all that, forget
> > about trying to run eabi gtk code :(.
> >
> >
> > --- In  <ts-7000%40yahoogroups.com>, "Dunge2"
> > <dunge2@> wrote:
> > >
> > > I tried as much as I can, but I'm still unable to do it. Seems like not a
> > lot of people ever cross-compiled Xorg.
> > >
> > > I tried to follow their guide with JHBuild:
> > > http://www.x.org/wiki/CrossCompilingXorg
> > >
> > > If I simply call ./jhbuild, after 35/150 modules, it call gcc instead of
> > my %CC and fail.
> > > If I call "./jhbuild build xserver", the first package (1/35) try to
> > execute my sys-root/usr/bin/grep, and fail.
> > >
> > > Any other idea? If I could mix apt-get packages with those I compiled,...
> > >
> > > Seems like I'm stuck in an impossible situation :(
> > >
> > > --- In  <ts-7000%40yahoogroups.com>, "Dunge2"
> > <dunge2@> wrote:
> > > >
> > > > Hello all, this is going to be a long post.
> > > >
> > > > First, thanks to Andy and Doug who helped me get this far, I couldn't
> > do it without you.
> > > >
> > > > Let's resume:
> > > > I have a TS-TPC-7390. OABI/Xorg was slow. I followed Andy guide in the
> > first post of the "How to make an EABI cross compiler for ts boards, step by
> > step" thread and used the crosstool script he posted. That allowed me to
> > have a maverickcrunch patched crosscompiler with latest versions of gcc and
> > libc.
> > > >
> > > > With this tool, I started compiling libs to create a full rootfs. This
> > is the list of libs I re-compiled (not necessarily in order), with notes
> > about problems I encountered and solutions:
> > > >
> > > > -glib (cannot run test program while crosscompiling, used config.cache
> > file (see other thread)).
> > > > -glibmm
> > > > -libsigc++
> > > > -libxml2
> > > > -libtiff
> > > > -libjpeg
> > > > -libgif
> > > > -libpng (setjmp.h re-inclusion, added #warning)
> > > > -jasperlib (--enabled-shared)
> > > > -atk
> > > > -freetype2 (added LCD-rendering optimization (see LFS))
> > > > -fontconfig
> > > > -pixman (force disable arm-simd and arm-neon optimizations)
> > > > -tslib (no pressure sensors patch, plugin module patch)
> > > > -directfb (gfx-drivers=none, inputdriver=keyboard,tslib)
> > > > -cairo (dfb backend)
> > > > -cairomm
> > > > -gtk+ (dfb backend, cannot run test program while crosscompiling:
> > modified configure to skip, also updated my build machine glib-mkenums)
> > > > -gtkmm
> > > > -pango
> > > > -pangomm
> > > > -libglade
> > > > -libglademm
> > > > -my application
> > > >
> > > > And I think that's all. I then took the TS-provided kernel, initrd and
> > debian-armel-eabi rootfs and put everything on a SDcard. I then copied my
> > sys-root folder over the TS-rootfs overwriting files. To my surprise, it
> > booted and things I compiled works! I had a few things to do, like configure
> > pango font files, tslib env var, activate pts for telnet, and I think I have
> > a serial port problem, but in general it went quite fine.
> > > >
> > > > Results:
> > > > It's hard to tell. Boot time of application seems reduced by half!
> > Unfortunately, application responsiveness (click on button, refresh window,
> > etc) is about the same as before.
> > > >
> > > > I have to tell, before I started this, I tried recompiling all these
> > libs for OABI (directly on device, took a week). Result with DFB was the
> > same speed as with Xorg, but using those rebuilt up-to-date libs with Xorg
> > slowed things down by half compared to Xorg with the libs from apt-get. So
> > there might be something awful somewhere in there.
> > > >
> > > > I also noticed that using pango markup language with DirectFB is a
> > MASSIVE bottleneck. Refreshing a single label (a clock) every second with
> > Xorg-OABI takes 10% cpu, with DFB-EABI it takes 50%!.
> > > >
> > > > That, combined with the fact that DFB refresh differently that Xorg,
> > and that TSLIB don't seems to always send on_release events makes me want to
> > try Xorg on EABI, which would probably react better.
> > > >
> > > > Questions:
> > > > -Anyone have experience in cross-building Xorg, and know what to do
> > differently on our device (for drivers and config files)?!
> > > >
> > > > -I set CFLAGS to add mcpu/mfpu/mfloat-abi flags to compile the libs.
> > Unfortunately, those who used g++ instead of gcc (ie. glibmm gtkmm, etc)
> > didn't seem to add it to the build command. Maybe I should have added them
> > to CPPFLAGS too? Do you think it would change things a lot?
> > > >
> > > > -Building my application I encountered a "Error: register expected"
> > error. The bugged register is mv8. I searched google and found this thread:
> > "http://www.gossamer-threads.com/lists/gentoo/embedded/178129"; in which
> > MartinGuy talks about it, but no real answer. The patch mentioned there
> > isn't in the Andy package. Would rebuilding our crosstool with it fix the
> > problem? Would libs I compiled stay compatible? For now, I simply disabled
> > the mcpu/mfpu/mfloat-abi flags for my application and it compiled fine.
> > > >
> > > > -Would rebuilding the kernel with that crosstool gives anything?
> > > >
> > > > I will gladly upload my cross-tool folders with instructions on how to
> > use it here. But first, I want to be sure that everything is ok because for
> > now it's not a mind-blowing improvement. Principally ditch DFB and use Xorg.
> > This post is just about giving ETA of my situation if others have something
> > to say.
> > > >
> > >
> >
> >  
> >
>




------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU