EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  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  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: creating loadable objects
From: Geoff Savage <[email protected]>
To: "'[email protected]'" <[email protected]>
Date: Wed, 01 Oct 2003 10:24:55 -0500
Hi,

We need to create a loadable object for R3.14 whose entire contents is included in a vxworks application. After reviewing the base Makefiles it appears there are some undocumented features that allow this to be done for compatibility with R3.13. I just wanted to check with the experts to determine if there is a more appropriate solution. Here is the current solution.

There are two directories in my R3.14 TOP. d0App builds all the libraries and loadable objects and mergeApp that combines everything into an application.

d0App -> sesSrc -> Makefile contains:
OBJLIB_vxWorks = ses

OBJLIB_SRCS += SE_Message.cc
OBJLIB_SRCS += se_msg_example.cc
OBJLIB_SRCS += se_msg_t.cc
OBJLIB_SRCS += SEClient.cc
OBJLIB_SRCS += sesender_t.cc
OBJLIB_SRCS += setask.cc

This builds sesLibrary.o and puts it in bin/T_A.

mergeApp -> mergeSrc -> Makefile contains:

onlutility_DIR += $(ONL_UTILITY_DIR)/lib/$(TARGET_OS)-$(T_A)

PROD_IOC_vxWorks = d0Epics
# <name>.dbd will be created from <name>Include.dbd
DBD += d0Epics.dbd

# <name>_registerRecordDeviceDriver.cpp will be created from <name>.dbd
d0Epics_SRCS += d0Epics_registerRecordDeviceDriver.cpp

# The following adds support from base/src/vxWorks
#junk_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
d0Epics_OBJS_vxWorks += $(INSTALL_BIN)/sesLibrary

d0Epics_LIBS += dev
d0Epics_LIBS += dfe
d0Epics_LIBS += drv
d0Epics_LIBS += itc
d0Epics_LIBS += rec
d0Epics_LIBS += Symb
d0Epics_LIBS += onlutility
d0Epics_LIBS += vxStats

# Include all the epics libraries.
d0Epics_LIBS += $(EPICS_BASE_IOC_LIBS)

This builds d0Epics.munch which is loaded on the vxworks IOC.

Thanks

Geoff


Navigate by Date:
Prev: EPICS Meeting - Korea - mattei
Next: EPICS motor driver for IMS MDrive Kevin M. Peterson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: EPICS Meeting - Korea - mattei
Next: EPICS motor driver for IMS MDrive Kevin M. Peterson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·