EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: cross compiling EPICS for etrax
From: Andrew Johnson <[email protected]>
To: Marc Stockmeier <[email protected]>
Cc: [email protected]
Date: Tue, 07 Mar 2006 10:23:45 -0600
Marc Stockmeier wrote:

we try to compile EPICS for a ETRAX multichipmodule (http://developer.axis.com/).

What kind of CPU is the "32 bit RISC CPU core" on this device? Is it an ARM, and x86 derivative, or something more exotic? I can't find anything on that website that hints the answer to this question. Porting EPICS to a new OS and/or CPU family will probably require you to do some work.


In order to get an base-3.14.7/src/libCom/osi/os/cris-AXIS directory we
copied the stuff from base-3.14.7/src/libCom/osi/os/Linux
We created the necessary configfile: CONFIG.Common.cris-AXIS at
base-3.14.7/configure/os/.

If you're building this for Linux, your target architecture should be named something like linux-XXXX where the XXXX part is as generic a CPU name as is possible. The OS_CLASS for this target architecture as named in configure/os/CONFIG.Common.linux-XXXX would be "Linux" and there should be no need for you to have copied the osi/os/Linux directory contents since this code should work on all Linux systems. If you do copy the osi/os/Linux directory then if we need to make any changes to the Linux code in the future, your copy is likely to stop working.


On the other hand if you're really building for a new OS called 'cris' then you may have some porting work to do - the src/libCom/osi/os code is OS-specific, and unless the OS is posix compliant you can expect to have to understand the src/libCom/osi directory and to write your own implementations of some of these routines.

Compilation stops due to the following error:

make[3]: Entering directory
`/share/home/marc/hades_ETRAX/devboard-R2_01/apps/base-3.14.7/src/libCom/O.cris-AXIS'
Installing generic include file ../../../include/os/cris-AXIS/osdThread.h
/usr/local/cris/bin/g++-cris -c            -DUNIX               -DUNIX

What version of GCC is this?


../../../src/libCom/cxxTemplates/epicsOnce.cpp
In file included from ../../../src/libCom/osi/epicsThread.h:200,
                 from ../../../src/libCom/cxxTemplates/epicsSingleton.h:26,
                 from ../../../src/libCom/cxxTemplates/epicsOnce.cpp:29:
../../../include/os/cris-AXIS/osdThread.h:19: parse error before `)' token
make[3]: *** [epicsOnce.o] Error 1

It looks like a "real" error in the osdThread.h file.

It works fine on all the Linux boxes we've tried it on. You're going to have to chase this a bit more by yourself since we have no way or replicating your results. I wish I could help, but so far I have nothing much to go on.


- Andrew
--
There is no S in exprexxo.

References:
cross compiling EPICS for etrax Marc Stockmeier

Navigate by Date:
Prev: cross compiling EPICS for etrax Marc Stockmeier
Next: Re: drvAscii codes Ian A Smith
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: cross compiling EPICS for etrax Marc Stockmeier
Next: compatibility between 3.13.10 and 3.14.8 Jane Richards
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·