EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: "bad UDP msg ..." error message
From: Vladis Korobov <[email protected]>
To: Jeff Hill <[email protected]>
Cc: <[email protected]>
Date: Tue, 10 Sep 2002 17:01:28 +0200 (MEST)
Hi Jeff,

You was right. I added _X86_ macrodefinition as compiler option
and rebuild the core. After this I got an access to my records from
UNIX via CA.
Below I print the content of CONFIG.Vx.sbs_pc6
which I used to build target iocCore:

------------------------------------------------------------
# Created by Korobov for SBS PC6
# CONFIG.Vx.sbs_pc6
#
# This file is maintained by the EPICS community.

# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 386

# For Vx directories of form:
#   $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = sbs_pc6

ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -DCPU_VARIANT=PENTIUM -D_X86_
ARCH_DEP_CFLAGS = -mpentium
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS +=   -fno-builtin -fno-defer-pop
-----------------------------------------------------------

Thanks a lot,
V.Korobov

On Mon, 9 Sep 2002, Jeff Hill wrote:

>
> Vladis,
>
> Sounds like an big / little endian compile time switch problem.
>
> My best guess is that the following R3.13 preprocessor code
> in base/src/ca/net_convert.h is not selecting CA_FLOAT_IEEE
> and CA_FLOAT_IEEE - possibly because your C compiler isn't
> emitting one of _M_IX86 or _X86_ for your Pentium compatible
> processor. Please send your changes if this turns out to
> be the cause of your problem, and we will incorporate them
> into the next R3.13 release.
>
> This particular set of ifdefs
> was replaced by a portable, and hopefully compile time,
> endian test in R3.14. The default assumption in R3.14 is
> IEEE floating point, but this can be replaced by architecture
> specific host to network translation code in R3.14 if you are
> porting to an os that does not support it.
>
> The GNU gcc manuals include documentation on the various
> architecture specific built in preprocessor macros that
> may be defined by default by your gnu C compiler.
>
> /*
>  * Here are the definitions for architecture dependent byte ordering
>  * and floating point format
>  */
> #if defined(VAX)
> #	define CA_FLOAT_MIT
> #	define CA_LITTLE_ENDIAN
> #elif defined(_M_IX86) || defined(_X86_)
> #	define CA_FLOAT_IEEE
> #	define CA_LITTLE_ENDIAN
> #elif ( defined (__ALPHA) || defined (__alpha) ) && ( defined (VMS) ||
> defined (__VMS) )
> #	define CA_FLOAT_MIT
> #	define CA_LITTLE_ENDIAN
> #elif (defined(__ALPHA) && defined(UNIX) || defined(__alpha)) &&
> defined(UNIX)
> #	define CA_FLOAT_IEEE
> #	define CA_LITTLE_ENDIAN
> #else
> #	define CA_FLOAT_IEEE
> #	define CA_BIG_ENDIAN
> #endif
>
> Jeff
>
> > -----Original Message-----
> > From: Vladis Korobov [mailto:[email protected]]
> > Sent: Monday, September 09, 2002 4:22 AM
> > To: [email protected]
> > Subject: "bad UDP msg ..." error message
> >
> > Hi all,
> >
> > I began to test SBS PC6 embedded computer. It has PENTIUM compatible
> CPU.
> > There is BSP for this target for Tornado II. I use R3.13.6 Epics
> release.
> > To build Epics I added file CONFIG.Vx.sbs_pc6 derived from
> > CONFIG.Vx.pc486
> > just by replacing appropriate compilation options (taken from BSP).
> >
> > This file looks like:
> >
> > # Created by Korobov for SBS PC6
> > # CONFIG.Vx.sbs_pc6
> > #
> > # This file is maintained by the EPICS community.
> >
> > # Vx GNU cross compiler suffix
> > CMPLR_SUFFIX = 386
> >
> > # For Vx directories of form:
> > #   $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
> > ARCH_CLASS = sbs_pc6
> >
> > ARCH_DEP_CFLAGS = -DCPU=PENTIUM -mpentium -DCPU_VARIANT=PENTIUM
> > ARCH_DEP_CXXFLAGS += -x 'c++'
> > ARCH_DEP_CFLAGS +=   -fno-builtin -fno-defer-pop
> >
> > ----------------------------------------------------
> >
> > Epics core was built successfully. I created some test database and
> > downloaded it into the IOC. From IOC side it seems to work OK.
> > But when I try to access any records from outside after starting any
> > CA clients I get messages (on client side):
> >
> > ..../iocinf.c: bad UDP msg from epicsPC20.desy.de:5064
> >
> > What could be the cause of such behaviour.
> >
> > Thanks in advance for any help or ideas,
> >
> > V.Korobov
>
>
>
>


References:
RE: "bad UDP msg ..." error message Jeff Hill

Navigate by Date:
Prev: Re: CA problem (Pedro Gigoux) Bernd Schoeneburg
Next: e2db Jim Thomas
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: "bad UDP msg ..." error message Jeff Hill
Next: CA problem Pedro Gigoux
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  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 ·