EPICS: Software IOC

From CLONWiki
Revision as of 14:52, 5 January 2007 by Boiarino (talk | contribs)
Jump to navigation Jump to search

Software IOC is the process running on Linux or Solaris. For initial setting do following:

 ssh boiarino@clonpc1
 cd $CLAS/R3.14.8.2
 source .setup (usually done by $CLAS/.setup)
 cd $CLAS/R3.14.8.2/EPICS
 source .setup
 cd baseB (or 'cd $BASEB')

New application can be done using 'makeBaseApp.pl' script. To see possible application types use following:

 makeBaseApp.pl -l

It will show:

 Valid application types are:
       support
       ioc
       example
       caClient
       caServer
 Valid iocBoot types are:
       example
       ioc

Following command will create new type 'example' application named 'test1' (it will NOT create new Makefile and configure/ directory if they exists already, otherwise it will !):

 makeBaseApp.pl -b $EPICS_BASE -t example test1

It will create subdirectory test1App with appropriate contents; do following:

 cd test1App
 make

To make boot script do following:

 makeBaseApp.pl -b $EPICS_BASE -i -t example test1

Following dialog:

 The following target architectures are available in base:
   solaris-sparc
   vxWorks-ppc604_long
   solaris-x86
   linux-x86
 What architecture do you want to use? linux-x86
 The following applications are available:
   test1
 What application should the IOC(s) boot?
 The default uses the IOC's name, even if not listed above.
 Application name? test1

It will do following:

 create iocBoot/ and iocBoot/Makefile if do not exists already
 create iocBoot/iostest1 with appropriate contents
 creade db/ if does not exist already (?)
 copy *.db files from test1App/Db/ to db/
 create dbd/ if does not exist already (?)
 copy some (?) *.dbd files from test1App/ to dbd/ (xxxRecord.dbd, xxxSupport.dbd)
 create dbd/test1.dbd (copies some templete from base ???)
 create include/ if does not exist (?)
 copy xxxRecord.h file to include/ (from some templete ?) (corresponds to some dbd file ?)
 copy libxxxSupport.a and libxxxSupport.so to lib/linux-x86/ (or whatever platform is)

To create environment envPaths:

 cd iocBoot
 make

It will create ioctest1/envPaths