I would go a step further and say that the C code should be "transparent". It is created in the O.$(ARCH) directory from the .stt code, and is then immediately compiler to an object file to be linked into your application.
The startup script calls a function that is defined in a dbd file via an entry like:
registrar(dxpMEDRegistrar)
That accesses the SNL program, dxpMED.st, whose definition is like the following:
program dxpMED("P=13GE2:med:,DXP=dxp,MCA=mca,N_DETECTORS=16,N_SCAS=16")
The O.linux-x86 directory for that module contains the following files:
corvette:dxp/dxpApp/src>ls -l O.linux-x86
total 19552
...
-rw-rw-r-- 1 epics epics 2043540 Dec 14 19:00 dxpMED.c
-rw-rw-r-- 1 epics epics 1004 Dec 14 19:00 dxpMED.d
-rw-rw-r-- 1 epics epics 97303 Dec 14 19:00 dxpMED.i
-rw-rw-r-- 1 epics epics 1805352 Dec 14 19:00 dxpMED.o
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Jiro Fujita
Sent: Tuesday, January 22, 2013 2:10 PM
To: James F Ross
Cc: EPICS Tech Talk
Subject: Re: sequencer programs in an IOC
James,
In short, when you write a program in state notation language (that you use for EPICS sequencer) and make the IOC, it first gets covered to C code via SNC (SNL to C compiler). Then, the resulting C code get compiled by GCC. In general, you should not have to do much with the C code; certainly, anything we use at STAR soft IOC, we should not have to do much with it.
On Jan 22, 2013, at 9:56 AM, James F Ross wrote:
> Hello everyone,
> I'm trying to understand an IOC that generates a controls monitoring webpage at STAR. For whatever reason, the IOC is not writing the html file that it should be (it has worked in the past).
>
> The source code is a number of .stt files, each of which handles variables for a different subsystem. Ultimately all of these variables are brought together using a file called overall.stt, and the webpage is written by a file called overallhtml.stt.
>
> When the IOC is compiled, these .stt files produce .c files of the same name. What I'm wondering is, how are these c files used? Do they become binary files when the IOC is compiled? What generally happens in an IOC between these c files and a sequencer program being called in the start up script for the IOC?
>
> The sequencer programs are loaded as follows in the IOC startup file:
> seq mot_gas
> seq trig
> seq eemc
> seq bemc
> seq tofm
> seq overall
> seq overallhtml
>
> Are these binary executable files that are being called, or does the startup script read the c code directly? I can't find any binary files by these names on the computer, but I see no errors while compiling either. If anyone has any insight I could use a hand. I know you won't know specifics on my setup, but any help with sequencer programs in general would be nice.
>
> Thanks very much!
> James Ross
>
- Replies:
- Re: sequencer programs in an IOC James F Ross
- References:
- sequencer programs in an IOC James F Ross
- Re: sequencer programs in an IOC Jiro Fujita
- Navigate by Date:
- Prev:
Re: sequencer programs in an IOC Jiro Fujita
- Next:
Edm installation Steve
- 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:
Re: sequencer programs in an IOC Jiro Fujita
- Next:
Re: sequencer programs in an IOC James F Ross
- 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
|