Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected] October, 2008 RTEMS Use at SLAC Ernest Williams
Jan 18, 2016
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
RTEMS Use at SLAC
Ernest Williams
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
RTEM-based IOCs
Large number of IOCs running reliably for LCLS Accelerator
136 Coldfire-based embedded IOCsMainly used for BPM and LLRF front-end processors
104 MVME6100 IOCs
33 MVME3100 IOCs
Beamlines will also use some number RTEMS-based IOCs for Slow controls.
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
RTEMS All production IOCs are running RTEMS version 4.7.1; except for the IOCs responsible for Undulator motion controls which runs RTEMS version 4.9.0
RTEMS distro used at SLAC is supported by Till Strauman from SSRL who works closely with LCLS on a number of projects.
We have found the technical support provided by Till to be very responsive and reliable
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
RTEMS [Some new Features for 4.9.0]Added NFS client developed at SLAC to the main distribution at OAR.Modifications to telnet for supporting epicsThreadCreate.High resolution timer when reading system clock.BSP support for the MVME3100New CEXP features:
new ELF/BFD replacement library (written from scratch). Eliminates the dependency on GPL-licensed third-party libs (which can still be usedif desired)
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
New CEXP features:support for loading into multiple memory segments. This can be used on PPCto load text + data into different areas -> solves 32MB branch-limitproblem. {no need to compile with -mlong flag}
changeable shell prompt
can load modules with weak undefined symbols
added special user variable 'ans' which holds the result of the last evaluated line (like matlab 'ans' or bash '$?')
RTEMS [Some new Features for 4.9.0]
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
RTEMS RoadMap for SLACNew CEXP will be posted soon along with the SLAC-based distro of RTEMS.
CEXP will be part of the RTEMS main distro at OAR in future releases.
Continue to work closely with Eric Norum and others in the community to provide “One Stop Shopping” for an EPICS-ready RTEMs distribution
Improve the distribution and packaging so that interested users can configure and run RTEMS at their site. Till is working to make all of the SLAC developed RTEMS add-ons use autoconf.
Support for IOC health monitoring for RTEMS-based IOCs
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
RTEMS – and – IOC Health
Work done by Stephanie Allison
GOAL:New module called iocAdmin which merges work from vxStats
into a generic framework for platform independent IOC health monitoring.
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
devIocStats – OSI-fied devVxStats/linuxStats from SNS with added RTEMS hooks
Provides IOC health PVs:
CPU load, Memory
# free FDs, # suspended tasks, # CA connections, # CA PVs, # IF input/output errors
MBUF cluster information
Strings – up time, startup, cwd, IOC engineer, location, logname, hostname, EPICS version, BSP, Kernel, boot line
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
OSI implementation similar to Marty’s OSI devLib
src/devIocStats* – general code
src/os/RTEMS, vxWorks, default/devIocStatsOSD.* – OS-specific hooks
Similar in concept to devIocStats from Phil Sorensen at CHESS.
Does not have the features that SLS added to their own devVxStats.
Till Straumann did RTEMS hooks (turns out to be very similar to the CHESS implementation) and got vxStats “cpuBurn” logic working for RTEMS. However, we decided to use Phil’s CPU load calculation instead which is based on IDLE task usage.
Can use the same DB for both soft and hard IOCs – some records will have “unimplemented” values, depending on OS.
Will be available from soft support soon.
Prototype Displays – RTEMS IOC
Prototype Displays – Linux IOC
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
ConclusionAt SLAC We plan to support iocAdmin:
vxWorks 5.4.2 and upWindRiver continues to change the network stack.
rtems 4.7.1 and rtems 4.9.x
Work closely with EPICS community for future enhancements and features.
After our operational experience with RTEMS at the LCLS, I can now seriously recommend RTEMS as an alternative or complement to using vxWorks for new sites.
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008
Acknowledgements
Till Strauman
Stephanie Allison