Greg's quick -n- EZ guide to epics 3.11.6

Updated 11/11/94

 Greg's quick -n- EZ guide to epics 3.11.6 for application developers:
 Note that this is for the Motorola MVME167 VME board.

 This is a rough guide with the sole purpose of "getting you running".
 If you have never used EPICS before 3.11.6, this guide might not help
 a whole lot.  If you see any corrections that need to be made, just
 send them to me at:

 Happy developing!

 Before we get started

 O.K. A few new things have been added to the whole environment,
 so add the following line to your .cshrc file:

 source /usr/local/epics/cshrc

 If this next line doesn't exist already add it too:

 set path = ( $path ./.epicsUnix/`arch`/bin)

 Other than those two lines, your .cshrc file should be devoid
 of the word epics.

 "Getting" Epics Release
 The directory you do the getrel in will be refered to as the >TOP<

 /net/phebos/epics/R3.11.6/Unix/share/bin/getrel /net/phebos/epics/R3.11.6

 Recall the list of important files:


 IMPORTANT FILES  * = Device Support  ** = Record Support

 ** dbRecType.ascii
 *  devSup.ascii
 ** choiceRec.ascii
 ** YYYYRecord.ascii

 ** choiceYYYY.h

 *  devZZZZ.c
 ** recYYYY.c

 Note: The files with YYYY are required for each
 type of record support.  There may be more than
 one kind in each makesdr.

 Recall that you may not have any Record Support files.
 Sometimes there is only device support to worry about.


 In your >TOP< directory type:  


 Edit the iocList file to include the ioc names you wish to boot

    As an example assume the ioc IOCNAME was added to the list.

 Edit the appList file to include the application directory names
 you wish to maintain.  

    For instance, I use a separate application directory for each
    individual device ie. Digitel 500, GP307, etc.....  This is
    kind of overkill and involves some additional housekeeping,
    but it helps me keep things straight.

    Our example application will be refered to as EXAP
    So,  edit appList and add EXAP
 These files exist naturally under SCCS control, so treat them as

 |     *** Greg's quick -n- EZ quide to SCCS ***      |
 |                                                    |
 | For all examples the name of the file is FILENAME. |
 |                                                    |
 | 1) To create SCCS management for a file not yet    |
 |    under SCCS control (you will not need to do     |
 |    this much as most files are already under SCCS  |
 |    control.                                        |
 |                                                    |
 |    sccs create FILENAME                            |
 |                                                    |
 | 2) To "check out" a file for editing.              |
 |                                                    | 
 |    sccs edit FILENAME                              |
 |                                                    |
 | 3) To "check in" a file after editing.             |
 |                                                    |
 |    sccs delget FILENAME                            |
 |                                                    |
 |   (Don't forget a sensible comment line)           |
 |                                                    |

 After editing appList and iocList, type:




 In your >TOPTOP< directory type: 
 make world

 Fix errors if necessary............. and make world again.

 Now..... in your >TOPTOPTOP C to exit from this when
 done making database directories.

 Once this has been accomplished, things will work pretty much like
 they always have.

 1) Create a database:

    Do this in your >TOPTOPTOP below with your actual application name
# replace <*Db> below with your actual database name

# NOTE: Change ioc bootline:
#       to                      /vxWorksmv167

# the following should be loaded first - BEGIN
ld < targetmv167/iocCore
# Note: the drvSup file has the regular xycom bitbus driver in it.
# Note: the drvSupPEP file has the pep-modular bitbus driver in it.
# drvSupPEP will be the default

#ld < targetmv167/drvSup
ld < targetmv167/drvSupPEP
ld < targetmv167/devSup
ld < targetmv167/recSup
# the following should be loaded first - END

# load any other objects needed for ioc initialization here
# ex:   ld < ../..//mv167/myobject.o
ld < ../../dig500App/mv167/devZZZZ.o
ld < ../../dig500App/mv167/recYYYY.o

dbLoad "../../default.dctsdr"

# load one or more databases here.
dbLoadRecords  "../../EXAP/EXAPDb/EXDATBASE.db"

# NOTE: Currently resource.def is an optional parameter to iocInit
# ex:   iocInit  "resource.def"

iocInit "resource.def"

# coreRelease()

# optionally load any other objects
# ex:   ld < ../..//mv167/myobject2.o


 3) Create MEDM displays:

    Do this in your >TOPTOP