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  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: registerRecordDevice... crashes IOC during startup
From: Andrew Johnson <anj@aps.anl.gov>
To: Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Sun, 30 Jun 2013 22:02:15 -0500 (CDT)
Hi Ben,

On Jun 29, 2013, at 4:42 PM, Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de> wrote:

>> Now I could conceive of some kind of optional way
>> to test your binary for completeness(which Dirk would not use), but for
>> VxWorks that would require that we know all of the symbols that your
>> specific VxWorks boot image provides since those are symbols which are
>> supposed to be undefined in your .munch file.
> 
> Hmm. I see. I wonder why loading a binary that references undefined symbols is
> just a warning and not a fatal error, so the startup script would stop at this
> point. Or, is there a way to make it one? (This is actually more a VxWorks
> question, not much to do with EPICS).

I think it is one in later versions (5.5), or it can be made to be one.

> OTOH, I could imagine doing just what you said: checking for all symbols to be
> defined by (additionally) scanning the boot image for symbols. I think we have
> the tools available, don't we? Do you think it would be possible to hack
> something up and (optionally) add it to our build rules?

It shouldn't be too hard; read in all the symbols from the .nm file that was used to create the OS image (I think there is one, if not use the .sym file), then make sure that every undefined symbol in the application's .nm file was defined in the OS one. We have Perl code to do some of those kinds of things, so it's probably not that hard to write the rest.

>> That seems like it might be half-way to us creating a fully bootable image
>> file containing both the IOC application code and the VxWorks OS, but I
>> don't think that would be quite as easy as it might seem because getting
>> initialization right (C++ static initializers for our code) could be
>> tricky. Has anyone ever tried to do that?
> 
> Not me; but isn't that what we do (by default) for RTEMS?

No quite, we use the build rules from the RTEMS build system to create a bootable RTEMS image that includes the application. The steps for making a VxWorks image are likely to be rather different, although we might be able to pull in the Wind River rules if we understood them enough. However as I said before I don't know how easy is would be to get the VxWorks combination working; we have special initialization code included for RTEMS, some of which has to be a bit different when running with GeSys.

- Andrew
-- 
Sent from my iPad



Replies:
Re: registerRecordDevice... crashes IOC during startup Dirk Zimoch
References:
registerRecordDevice... crashes IOC during startup Benjamin Franksen
Re: registerRecordDevice... crashes IOC during startup Andrew Johnson
Re: registerRecordDevice... crashes IOC during startup Benjamin Franksen

Navigate by Date:
Prev: Re: registerRecordDevice... crashes IOC during startup Benjamin Franksen
Next: Support for Amp Tek X-123 David Reid
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: registerRecordDevice... crashes IOC during startup Benjamin Franksen
Next: Re: registerRecordDevice... crashes IOC during startup Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·