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
- Replies:
- RE: "bad UDP msg ..." error message Vladis Korobov
- References:
- "bad UDP msg ..." error message Vladis Korobov
- Navigate by Date:
- Prev:
RE: CA problem Jeff Hill
- Next:
CA problem Allan Honey
- 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
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
"bad UDP msg ..." error message Vladis Korobov
- Next:
RE: "bad UDP msg ..." error message Vladis Korobov
- 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
2020
2021
2022
2023
2024
|