EPICS: Software IOC: Difference between revisions

From CLONWiki
Jump to navigation Jump to search
Boiarino (talk | contribs)
No edit summary
Boiarino (talk | contribs)
No edit summary
Line 28: Line 28:


   makeBaseApp.pl -b $EPICS_BASE -t example test1
   makeBaseApp.pl -b $EPICS_BASE -t example test1
It will create subdirectory test1App with appropriate contents; do following:
   cd test1App
   cd test1App
   make
   make
Line 48: Line 51:
   The default uses the IOC's name, even if not listed above.
   The default uses the IOC's name, even if not listed above.
   Application name? test1
   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

Revision as of 14:52, 5 January 2007

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