EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: EPICS build on armv6l
From: "Tim Robinson" <tim@northmeadow.co.uk>
To: <tech-talk@aps.anl.gov>
Date: Tue, 26 Jun 2012 16:20:06 +0100
I had a quick look at this again.

The attached git patch allows me to build and run on RaspberryPi, both soft-float (debian6-19-04-2012 from http://www.raspberrypi.org/downloads) and hard-float (raspbian-r3 from http://www.raspbian.org/HexxehImages) system images.

In each case, I built, did 'make runtests', and did a quick sanity check using the example ioc

As noted, the CONFIG.linux-x86.linux-x86 file contains some linker flags: I didn't copy those since I don't know whether they're needed. My tests were ok without.

Thanks

tim

> -----Original Message-----
> From: Tim Robinson [mailto:tim@northmeadow.co.uk]
> Sent: 13 June 2012 00:07
> To: tech-talk@aps.anl.gov
> Cc: tim@northmeadow.co.uk
> Subject: RE: EPICS build on armv6l
> 
> Hi
> 
> My raspberryPi arrived this morning, one of the things I wanted to try
> on it was EPICS. I have time on my hands at the moment, so I did a
> quick trial of this.
> 
> >
> > Hi Florian,
> >
> > On 2012-06-12 Florian Feldbauer wrote:
> > > Currently arm is only supported as target not as host for build.
> > > Since the Raspberry Pi has a gnu c compiler and all the libraries I
> > > need (also a x-server), would it be possible to build EPICS
> directly
> > > on this system instead of building it on a different system?
> >
> > Yes, although as Jeff said you might need to add a few things to the
> > configure/os directory to get it to build.  Since you're self-hosting
> > I think you should be able to use the generic target name linux-arm
> > for this build, which should simplify the Base configuration process.
> 
> I also chose linux-arm, though I wondered if I should indicate
> endianness too.
> 
> >
> > You will need to create the file CONFIG.linux-arm.Common containing
> > the line
> >     include $(CONFIG)/os/CONFIG.UnixCommon.Common
> > but that might be all you actually have to do.
> > CONFIG.Common.linux-arm may look like it's only set up for
> > cross-compilation, but those settings are actually overrides to
> > variables set in CONFIG.Common.UnixCommon so first try building
> > without making any changes there.
> 
> I did that, and also included $(CONFIG)/CONFIG.gnuCommon I dare say
> that's not the way (or place) to do it, but I found that without that,
> COMPILE.cpp was undefined, so I was able to compile .c sources, but not
> .cpp I haven't got to the bottom of that, maybe tomorrow.
> 
> >
> > In case it's not clear, files names *.<host>.Common are included
> > whenever building on <host> irrespective of the target; files named
> > *.Common.<target> are included whenever compiling for <target> on any
> > host; files named *.<host>.<target> are used whenever that particular
> > combination of <host> and <target> are involved.  Files named
> > CONFIG.*.* contain default settings for the build process, while
> files
> > named CONFIG_SITE.*.* are intended for site- specific settings such
> as
> > paths that might vary (location of cross-compilers etc.).
> >
> > After a top-level 'make' succeeds, you will want to use 'make
> runtests'
> > to execute the build-in test programs (note that
> epicsMessageQueueTest
> > takes 5 minutes to run, don't assume it has crashed when the messages
> > stop mid-test).
> 
> The tests passed
> That's all I've tried so far
> 
> Thanks
> 
> tim
> 
> >
> > Hope this gets you started, ask if you get stuck.  I would be
> > interested in adding your configuration files to the Base
> distribution
> > if you would like to contribute them once you have everything
> working.
> >
> > - Andrew
> > --
> > Never interrupt your enemy when he is making a mistake.
> > -- Napoleon Bonaparte

Attachment: 0001-Support-self-hosted-build-on-RaspberryPi-linux-arm.patch
Description: Binary data


References:
EPICS build on armv6l Florian Feldbauer
Re: EPICS build on armv6l Andrew Johnson
RE: EPICS build on armv6l Tim Robinson

Navigate by Date:
Prev: RE: SynApps build error : win32-x86 Mark Rivers
Next: Re: SynApps build error : win32-x86 S. Stein
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: EPICS build on armv6l Andrew Johnson
Next: Re: EPICS build on armv6l Metin Aydar
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019