EPICS: Generation of IOC with different options and customization for HallB

From CLONWiki
Jump to navigation Jump to search

Introduction how to use makeBaseApp.pl

To create a software IOC we will use makeBaseApp.pl and will try to customize to HallB (i.e. put them under $BASEB/src).

To get some introduction one can use -h option to get the help. To get the list of available applications one should use -l option instead.

 clon04:src> makeBaseApp.pl -l
 Valid application types are:
       support  // only dbd template is generated giving option to develop a support application
       ioc      // only ioc main and template of sequencer will be provided
       example  // both support and ioc combined and examples how to make custom records, drivers dbd and db-es
       caClient // Standalone channel access client 
       caServer // Standalone channel access server
 Valid iocBoot types are:
       example // boot scripts for complete example
       ioc     // boot scripts for ioc only case

To create your own application in other than $EPICS_BASE directory one should support these options:

 makeBaseApp.pl -t example -a $EPICS_HOST_ARCH -b $EPICS_BASE -T $EPICS_BASE/templates/makeBaseApp/top/ aaa
 -t type 
 -a architecture
 -b location of EPICS_BASE
 -T location of templates
 aaa the application name

It will create directories:

 aaaApp    // the directory with Db and src sub directories and examples
 bin       // executables
 configure // included makefiles
 dbd       // dbd files
 include   // header files
 lib       // libraries both static and shared

To generate examples for boot script one should do:

 makeBaseApp.pl -i -t example -a $EPICS_HOST_ARCH -b $EPICS_BASE -T $EPICS_BASE/templates/makeBaseApp/top/ -p aaa aaa

How to generate application with IOC

Using makeBaseApp.pl in the src directory one will get a Makefile to generate application.

PROD_IOC = bbbvxworks
LIBRARY_IOC += xxxSupport