EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Cross compiling for non-$EPICS_HOST_ARCH targets
From: R Nussbaumer via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Date: Tue, 7 Apr 2020 10:35:43 -0700
Hi All.

I am trying to use a crosstoolchain to build EPICS IOC applications for an ARM target. Building EPICS base works fine; I get a working softIOC for both the Linux Debian 10 $EPICS_HOST_ARCH, and the target linux=arm platforms.

When I try to build IOC applications, I wan the build system to NOT build for the EPICS_HOST_ARCH target platform, as it will always fail due to not having the accordant libraries. In the R3.14.12 (my present EPICS version) Application Developer's Guide, it gives an example of what I think is supposed to work, but it doesn't seem to, for me:

PROD_IOC = aaa
VX_PROD_vxWorks-68040 = bbb
VX_PROD_vxWorks-ppc603 = bbb
PROD_IOC += $(VX_PROD_$(T_A))

So, editing my own src/Makefile:

IOCNAME = qwertyAsynPortDriver
LINUXARM_PROD_linux-arm = $(IOCNAME)
# This builds for linux-x86_64 & linux-arm
# PROD_IOC = $(IOCNAME)

# This only builds a DBD file
PROD_IOC += $(LINUXARM_PROD_$(TA_A))

In my base/configure/CONFIG_SITE and in the IOC $(TOP)/configure/CONFIG I have:

CROSS_COMPILER_TARGET_ARCHS=linux-arm

Whenever I don't build for the host architecture, the only thing that gets created is a DBD file for the non-existent application. When I remove any code that would be ARM target specific, the application (Mark Rivers' testAsynPortDriver code, extracted as an IOC) builds and works as expected on both platforms.

What other magical incantations are required to build for the ARM target platform only? When (if?) I get this sorted out, I will try to prepare some instructions for the Wiki, where it talks about cross compiling, but doesn't go into this specific scenario.

Thanks.

Rod Nussbaumer
TRIUMF
Vancouver, Canada


Replies:
Re: Cross compiling for non-$EPICS_HOST_ARCH targets Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: Re: Newport DL325 Mark Rivers via Tech-talk
Next: Re: Cross compiling for non-$EPICS_HOST_ARCH targets Johnson, Andrew N. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: StreamDevice, prevent records from getting "stuck" Mark Davis via Tech-talk
Next: Re: Cross compiling for non-$EPICS_HOST_ARCH targets Johnson, Andrew N. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 14 Apr 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·