Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The above script sets up several EPICS environment variables in your bash shell. 

 

Some variables are paths to ''TOP-level' directories: 

EPICS_TOP=/afs/slac/g/lcls/epics/R3-14-12-3_1-0

 

EPICS_BASE_TOP=/afs/slac/g/lcls/epics/R3-14-12-3_1-0/base 

EPICS_MODULES_TOP=/afs/slac/g/lcls/epics/R3-14-12-3_1-0/modules

EPICS_EXTENSIONS=/afs/slac/g/lcls/epics/R3-14-12-3_1-0/extensions/extensions-R3-14-12 

EPICS_IOC_TOP=/afs/slac/g/lcls/epics/R3-14-12-3_1-0/iocTop

 EPICS_IOC_TOP is the top level application directory for all EPICS iocs that use this EPICS version.

 

It is here where all new EPICS applications must be created. EPICS_IOC_TOP is the same as the APP variable.

 

Other environment variables setup in your bash shell are: 

IOC=/afs/slac/g/lcls/epics/R3-14-12-3_1-0/iocCommon 

$IOC is the directory where the startup scripts for all the iocs are located.
 

IOC_DATA=/nfs/slac/g/lcls/epics/ioc/data 

$IOC_DATA is the data directory. This is where the outputs (and in some case inputs) from iocs are stored.

 

In LCLSDEV, the iocs must have special permissions to write to the $IOC_DATA directory.

 

Fill out an online form provided by SCCS to obtain permissions for your ioc to write to this directory:

...

A handful of EPICS modules have been built for the new EPICS baseR3-14-12-3_1-0.
Most of them have been cross-compiled for several targets including the following:

...

Now create your EPICS application MyTest as below using standard templates and scripts:

(b) cd $APP/Test

This As MyTest development continues, this is where you will be creating/checking out from CVS, several versions of your MyTest application, as you continue to develop.

...

The perl script had populated your application with a few directories and template files.It created these out of template files which are in:using icdTemplates module

that provides templates that are used by ICD to support our style of IOC Application Building for the facilities we support.

The location for icdTemplates module was set as below when you sourced go_epics_3-14-12-3_1-0.bash.

EPICS_MBA_TEMPLATE_TOP=/afs/slac/g/lcls/epics/R3-14-12-3_1-0/modules/icdTemplates/MAIN_TRUNKThe above variable was also set when you sourced go_epics_3-14-12-3_1-0.bash.icdTemplates-R1-0-1

 

If you would like to know more about this perl script makeBaseApp.pl, type:

makeBaseApp.pl -help

Open Now, open the configure/RELEASE file.

...

The above sets the EPICS base path, modules path, App path, EPICS version and other EPICS environment variables to point to
the new EPICS base R3-14-12-3_1-0.
RELEASE file needs some modifications from what was automatically generated: 

(ii) Add The file has the following line (eventually this towards the end of it:

 

# Location of Linux Kernel Modules:

LINUX_KERNEL_MODULES=$(PACKAGE_SITE_TOP)/linuxKernel_Modules

 (iii) RELEASE file may need some modifications from what was automatically generated: 
 
Change the various module version numbers as needed for your application.
Ensure that the specific versions included in your RELEASE file DO EXIST under the modules directory  and are consistent. 

For example, I decided to over-ride the version numbers for AUTOSAVE and IOCADMIN modules for MyTest as follows:

 They must also and that they have been built for the linuxRT-x86 target.

If something is missing, contact Ernest.

For EVENT module, Kukhee recommends us to use Use Event module event-R4-1-3 or greater with this base.

AUTOSAVE_MODULE_VERSION=autosave-R5-0_1-0
IOCADMIN_MODULE_VERSION=iocAdmin-R3-1-12_1-1
EVENT_MODULE_VERSION=event-R4-1-3

(v) Now 'make' your application from the top level directory $APP/MyApp to ensure your changes to  RELEASE files are good:

...