EPICS DIAMOND EPICS Meeting, 2003 1 EPICS base 3.14 OSI: Operating System Independent Support Marty...
-
Upload
benjamin-barker -
Category
Documents
-
view
218 -
download
0
Transcript of EPICS DIAMOND EPICS Meeting, 2003 1 EPICS base 3.14 OSI: Operating System Independent Support Marty...
EPICS
DIAMOND EPICS Meeting, 2003 1
EPICS base 3.14OSI: Operating System Independent Support Marty Kraimer
EPICS
DIAMOND EPICS Meeting, 2003 1
Major Problems 3.13=>3.14
VME/VXI: Solution: unbundle all hardware support VxWorks Libraries: Solution: base supplied OSI
libraries VxWorks dynamic loading: solution: Registry Build Environment
Major changes Actually simpler than 3.13 Configure instead of config
VxWorks shell: Solution: iocsh Interrupt Level support
Use global mutex if OS doesn't support
EPICS
DIAMOND EPICS Meeting, 2003 1
Operating System Independent Interfaces
ManyosiSockosiSockWIN32,default,POSIX,vxWorksosiSigPipeIgnor
eosiSigPipeIgnore
RTEMS,WIN32,POSIX,vxWorksosiProcessosiProcessRTEMS,WIN32,default,vxWorksmemLibOsiPoolStatus
RTEMS,WIN32,POSIX,vxWorkstickLib,osiTimeepicsTimeRTEMS,WIN32,POSIX,vxWorkstaskLibepicsThreadRTEMS,WIN32,POSIX,vxWorkssemLibepicsMutexRTEMS,default,vxWorksintLibepicsInterruptDefault,vxWorksSymFindByNam
eepicsFindSymbol
RTEMS,WIN32,POSIX,vxWorkssemLibepicsEventDefault, vxWorksepicsAssertepicsAssertGenericWdLib,epicsTim
erepicsTimer
GenericrngLibepicsRing
EPICS
DIAMOND EPICS Meeting, 2003 1
Some Details Registry
vxWorks symFindByName – bind to global symbol. iocCore dynamically binds record/device/driver/etc
support. While building application:
A perl program generates a C function C function is linked with application. During startup the C function
is called. It registers the support. Build Environment
Extensive changes, more functionality, easier to use. iocsh – simple command interpreter, built in
commands. Interrupt Level Support
iocCore has minimal use. vxWorks,RTEMS real support. Default uses global mutex.
EPICS
DIAMOND EPICS Meeting, 2003 1
Compatibility
Converting R3.13 IOC applications to 3.14. The old 3.13 build rules are still supported. Using old build rules requires few changes.
However all hardware support is unbundled. Ultimately must convert to new rules.
Old CA client interface still supported Many CA client applications have been built
with 3.14.