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  <20112012  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  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Does EPICS Base support multi-thread on vxWorks 6.3?
From: [email protected]
To: Andrew Johnson <[email protected]>
Cc: [email protected]
Date: Thu, 30 Jun 2011 14:56:38 +0800

Sorry I've been busy during the past two months...

We are not using the EPICS build system.

Is it feasible that I copy your built vxTestHarness.munch to my vxWorks system, load it, and then run the test commands you've mentioned?

Lorna


From: Andrew Johnson <[email protected]>
To: [email protected]
Cc: "Jeff Hill" <[email protected]>, [email protected]
Date: 05/11/2011 12:08 AM
Subject: Re: Does EPICS Base support multi-thread on vxWorks 6.3?





Hi Lorna,

On Monday 09 May 2011 22:38:51 [email protected] wrote:
>
> What is a munch file? Why doesn't my bin\vxWorks-ppc603 folder include a
> vxTestHarness.munch file?

If you built EPICS Base properly, that file should be present for all vxWorks
architectures, e.g:

tux% cd base-3.14.12.1/bin/vxWorks-ppc32
tux% ls -l *.munch
-r-xr-xr-x 1 anj aesctl 1416603 Apr 26 15:43 callbackTest.munch*
-r-xr-xr-x 1 anj aesctl 1864447 May 10 10:47 softIoc.munch*
-r-xr-xr-x 1 anj aesctl  613149 May 10 10:33 vxTestHarness.munch*

> What is and how to link all the vxWorks binaries into a single .munch
> file??

A .munch file is a binary executable for vxWorks. It's created by linking
together all your object files and libraries into a single file, generating
and compiling a C source file that combines all of the C++ static constructors
and destructors present, and then linking that object file into the executable
as well.  The name "munch" comes from the Wind River tool used to create the
static constructor/destructor list file, although EPICS Base uses its own
version of that tool written in Perl.

Here's the vxTestHarness.munch file being created inside base/src/libCom/test:

/usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-linux2/bin/ldppc -r -o
vxTestHarness  -L../../../../lib/vxWorks-ppc32/ -
L/usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-linux2/powerpc-wrs-
vxworks/lib ../../../../bin/vxWorks-ppc32/vxComLibrary.o epicsCalcTest.o
epicsAlgorithmTest.o epicsMathTest.o epicsEllTest.o epicsErrlogTest.o
epicsStdioTest.o epicsStringTest.o epicsTimeTest.o epicsThreadTest.o
epicsThreadOnceTest.o epicsThreadPriorityTest.o epicsThreadPrivateTest.o
epicsExitTest.o epicsTimerTest.o ringPointerTest.o ringBytesTest.o
epicsEventTest.o epicsMutexTest.o epicsExceptionTest.o macEnvExpandTest.o
macLibTest.o taskwdTest.o blockingSockTest.o epicsMessageQueueTest.o
epicsRunLibComTests.o epicsThreadPerform.o epicsMaxThreads.o buckTest.o
cvtFastPerform.o -lCom

/usr/local/vw/vxWorks-6.8/utilities-1.0/x86-linux2/bin/nmppc vxTestHarness >
vxTestHarness.nm

perl ../../../../bin/linux-x86_64/munch.pl -o vxTestHarness_ctdt.c
vxTestHarness.nm

/usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-linux2/bin/ccppc -c            
-DCPU=PPC32 -DvxWorks -include
/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/vxWorks.h  -O2 -Wall -mstrict-
align -mlongcall -fno-builtin -MMD -fdollars-in-identifiers -I. -I../O.Common
-I. -I.. -I../../../../include/os/vxWorks -I../../../../include -
I/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h -
I/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/wrn/coreip  
vxTestHarness_ctdt.c

/usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-linux2/bin/ldppc -r -T
/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/tool/gnu/ldscripts/link.OUT -o
vxTestHarness.munch vxTestHarness_ctdt.o vxTestHarness

Installing created file ../../../../bin/vxWorks-ppc32/vxTestHarness.munch


Are you using the EPICS build system?  The above steps are all automatic when
you ask it to create a vxWorks executable.  If you're using Wind River
Workbench the equivalent seems to be a "Downloadable Kernel Module" project,
but I've never tried using Workbench to create EPICS applications.

- Andrew
--
An error is only a mistake if you don't learn from it.
When you learn something from it, it becomes a lesson.



Replies:
Re: Does EPICS Base support multi-thread on vxWorks 6.3? Andrew Johnson
References:
Does EPICS Base support multi-thread on vxWorks 6.3? lorna . zhang
Re: Does EPICS Base support multi-thread on vxWorks 6.3? Andrew Johnson
Re: Does EPICS Base support multi-thread on vxWorks 6.3? lorna . zhang
Re: Does EPICS Base support multi-thread on vxWorks 6.3? Andrew Johnson

Navigate by Date:
Prev: Turbo Pump controller Zheng, Susie
Next: SNL seq-2.0.13 on Linux 64 bits: not all monitored PVs receive their first monitor event Utzel Nadine
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Does EPICS Base support multi-thread on vxWorks 6.3? Andrew Johnson
Next: Re: Does EPICS Base support multi-thread on vxWorks 6.3? Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·