13
Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected] October, 2008 RTEMS Use at SLAC Ernest Williams

RTEMS Use at SLAC

  • Upload
    nitsa

  • View
    57

  • Download
    3

Embed Size (px)

DESCRIPTION

RTEMS Use at SLAC. EPICS Collaboration Legnaro, Italy October 15-17, 2008. Ernest Williams. RTEM-based IOCs. Large number of IOCs running reliably for LCLS Accelerator 136 Coldfire-based embedded IOCs Mainly used for BPM and LLRF front-end processors 104 MVME6100 IOCs 33 MVME3100 IOCs - PowerPoint PPT Presentation

Citation preview

Page 1: RTEMS Use at SLAC

Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008

RTEMS Use at SLAC

Ernest Williams

Page 2: RTEMS Use at SLAC

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.

Page 3: RTEMS Use at SLAC

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

Page 4: RTEMS Use at SLAC

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)

Page 5: RTEMS Use at SLAC

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]

Page 6: RTEMS Use at SLAC

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

Page 7: RTEMS Use at SLAC

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.

Page 8: RTEMS Use at SLAC

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

Page 9: RTEMS Use at SLAC

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.

Page 10: RTEMS Use at SLAC

Prototype Displays – RTEMS IOC

Page 11: RTEMS Use at SLAC

Prototype Displays – Linux IOC

Page 12: RTEMS Use at SLAC

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.

Page 13: RTEMS Use at SLAC

Ernest L. Williams Jr. EPICS Collaboration Meeting [email protected], 2008

Acknowledgements

Till Strauman

Stephanie Allison