OAR RTEMS Past Present and Future Joel Sherrill

  • Slides: 31
Download presentation
OAR RTEMS Past, Present, and Future Joel Sherrill, Ph. D. Director of R&D OAR

OAR RTEMS Past, Present, and Future Joel Sherrill, Ph. D. Director of R&D OAR Corporation EPICS Collaboration Meeting Knoxville Tennessee 13 October 2007 © On-Line Applications Research Corporation

OAR RTEMS Outline n Highlights of RTEMS history n RTEMS features n What’s new

OAR RTEMS Outline n Highlights of RTEMS history n RTEMS features n What’s new in RTEMS 4. 8 releases n Roadmap for 4. 9 releases and beyond © On-Line Applications Research Corporation 2

OAR RTEMS History Highlights – Part I n n n n n 1988 –

OAR RTEMS History Highlights – Part I n n n n n 1988 – OAR initiates development under contact to U. S. Army Missile Command (now U. S. AMCOM) 1992 – Superconducting Super Collider (SSC) is first non-Army organization to receive RTEMS. Evaluated easily and favorably against p. SOS+. 1992 – Project begins using GNU tools 1994 – ESA sponsors OAR development of SPARC port 1994 – Publicly available via anonymous ftp from U. S. Army 1995 – Oldest date in RTEMS CVS 11 May 1995 1996 – rtems. com domain registered 1997 – GNAT/RTEMS passes Ada 95 ACVC 1998 – Eric Norum ports Free. BSD TCP/IP stack 1998 – OAR officially takes over development, maintenance and distribution from U. S. Army © On-Line Applications Research Corporation 3

OAR RTEMS History Highlights – Part II n n n 1999 – First GNU/Linux

OAR RTEMS History Highlights – Part II n n n 1999 – First GNU/Linux RPMs 1999 – Motorola powerpc_shared BSP submitted 2001 – Steering Committee formed 2001 – Public problem tracking database available 2001 – Ported to NASA space hardened MIPS 2001 – Eric Norum publishes EPICS Porting Retrospective 2002 – Till Straumann publishes latency benchmark 2004 – Wiki started 2006 – Circles Venus and Mars 2007 – Launched to the asteroid belt on Dawn probe 2008 – Launched with Herschel/Plank missions © On-Line Applications Research Corporation 4

OAR RTEMS Features n n n n n RTEMS is a full featured Real-Time

OAR RTEMS Features n n n n n RTEMS is a full featured Real-Time Operating System Commercial grade All source code for OS, support components, tests, documentation, development environment, and project website is provided Truly free in price, liberty, and end user requirements High performance, deterministic behavior Standards compliant environment Highly portable across CPU architectures Many Board Support Packages available Prebuilt development toolsets for GNU/Linux and MS-Windows © On-Line Applications Research Corporation 5

OAR RTEMS Processors Supported by RTEMS Architecture 4. 6 4. 7 4. 8 CVS

OAR RTEMS Processors Supported by RTEMS Architecture 4. 6 4. 7 4. 8 CVS Altera NIOS II No No Yes ADI Blackfin No No Yes ARM with many CPU models Yes Yes Atmel AVR No Partial AMD A 29 K Yes No No No HP PA-RISC Yes No No No Intel/AMD x 86 (i 386 and above) Yes Yes Intel i 960 Yes No No No MIPS including multiple ISA levels Yes Yes © On-Line Applications Research Corporation 6

OAR RTEMS Processors Supported by RTEMS Architecture 4. 6 4. 7 4. 8 CVS

OAR RTEMS Processors Supported by RTEMS Architecture 4. 6 4. 7 4. 8 CVS Freescale MC 68 xxx Yes Yes Freescale MC 683 xx Yes Yes Freescale Coldfire Yes Yes Open. Cores OR 32 Yes No No No Power. PC including 4 xx, 5 xx, 6 xx, 7 xx, 8 xx, 52 xx, and 74 xx Yes Yes Reneas H 8/300 Yes Yes Reneas Super. H including SH 1, SH 2, SH 3, and SH 4 Yes Yes SPARC including ERC 32 and LEON Yes Yes TI C 3 x/C 4 x Yes No No Yes © On-Line Applications Research Corporation 7

OAR RTEMS Architecture © On-Line Applications Research Corporation 8

OAR RTEMS Architecture © On-Line Applications Research Corporation 8

OAR RTEMS What’s New in 4. 8? Updated Tools n Latest version of all

OAR RTEMS What’s New in 4. 8? Updated Tools n Latest version of all tools in the RTEMS Development Environment – – – n autoconf 2. 61 automake 1. 10 binutils 2. 18 gcc 4. 2. 1 for C/C++ with newlib 1. 15. 0 gdb 6. 6 Min. GW tools binaries available – Install like “normal” MS-Window programs – Can run them from “command. com” © On-Line Applications Research Corporation 9

OAR RTEMS What’s New in 4. 8? Nanosecond Time Granularity n Following may be

OAR RTEMS What’s New in 4. 8? Nanosecond Time Granularity n Following may be maintained at nanosecond granularity – – Time of day System uptime CPU Usage of each task and thread Rate Monotonic Period statistics n Super. Core time now in POSIX struct timespec n Requires optional BSP nanoseconds since tick handler © On-Line Applications Research Corporation 10

OAR RTEMS What’s New in 4. 8? Priority Change of Blocked Thread n Impacts

OAR RTEMS What’s New in 4. 8? Priority Change of Blocked Thread n Impacts the following scenario: – – n Thread’s priority is changed, while it is Blocked waiting for resource which Uses priority discipline for blocked threads, and Thread’s priority is changed Dynamic thread priority changes occur: – Upon user request – Side-effect of Priority Ceiling and Inheritance Protocols – Side-effect of restarting a thread n Improves ability to analyze safety critical systems © On-Line Applications Research Corporation 11

OAR RTEMS What’s New in 4. 8? Code Space Reduction n On SPARC/ERC 32,

OAR RTEMS What’s New in 4. 8? Code Space Reduction n On SPARC/ERC 32, 4. 8 branch minimum executable is n Multiple minor changes with cumulative effect n – 15% smaller than 4. 7. 1 – 40% smaller than 4. 6. 6 – – – Remove unnecessary dependencies in BSPs Use printk rather than printf for system error messages C malloc routines now directly use Super. Core Heap Avoid making Extension Manager required Split a few files into one function per file Split data of managers into separate files Can be another ~5% smaller if –Os is used for compilation © On-Line Applications Research Corporation 12

OAR RTEMS What’s New in 4. 8? New Ports and BSPs n New target

OAR RTEMS What’s New in 4. 8? New Ports and BSPs n New target architectures n New Board Support Packages – Analog Devices Blackfin – Altera NIOS II – – – arm/rtl 22 xx bfin/e. ZKit 533 powerpc/gen 5200 powerpc/mpc 8349 eads powerpc/icecube powerpc/virtex n Many BSPs updated and enhanced n Multiple BSPs now run on Skyeye simulator © On-Line Applications Research Corporation 13

OAR RTEMS What’s New in 4. 8? New Managers n POSIX Barriers – pthread_barrier_XXX()

OAR RTEMS What’s New in 4. 8? New Managers n POSIX Barriers – pthread_barrier_XXX() n POSIX Spinlocks – pthread_spin_XXX() n POSIX RWLocks – pthread_rwlock_XXX() n Classic API Barriers – rtems_barrier_XXX() © On-Line Applications Research Corporation 14

OAR RTEMS What’s New in 4. 8? Important Odds and Ends n n n

OAR RTEMS What’s New in 4. 8? Important Odds and Ends n n n n n Conversion to C 99 types More use of inttypes. h for printf format strings Integration of Till’s NFS Client Many features added to SPARC/Leon 2 and Leon 3 Power. PC/gen 5200 BSP supports more variants Much of libmisc renamed and in User’s Guide Added rtems_iterate_over_all_threads Added obtain object name as string Much. . More © On-Line Applications Research Corporation 15

OAR RTEMS 4. 9 and Beyond – The RTEMS Roadmap © On-Line Applications Research

OAR RTEMS 4. 9 and Beyond – The RTEMS Roadmap © On-Line Applications Research Corporation

OAR RTEMS What Drives RTEMS Requirements? Incremental Improvements Open Standards Pet Projects Scientific Community

OAR RTEMS What Drives RTEMS Requirements? Incremental Improvements Open Standards Pet Projects Scientific Community Space Community Student Projects Research Commercial Users © On-Line Applications Research Corporation 17

OAR RTEMS Already in CVS for 4. 9 n More network examples – Multicast

OAR RTEMS Already in CVS for 4. 9 n More network examples – Multicast demonstration – Telnetd example program n Improved GNAT support – – n Ada task stack checking (e. g. –fstack-check) Ada sockets binding supported DEC Numeric Extensions supported More Ada examples readv and writev added © On-Line Applications Research Corporation 18

OAR RTEMS Anticipated for 4. 9 n n n n BSD constructor style OS

OAR RTEMS Anticipated for 4. 9 n n n n BSD constructor style OS initialization Thread exit clean up for newlib extension File system critical section rework Initial merge of Cexp and gdb stub ARM/Thumb support Classic API Ada binding and tests updated Improved tracking of inherited priority © On-Line Applications Research Corporation 19

OAR RTEMS Wish List n RTEMS Lab Update – Remote access to equipment in

OAR RTEMS Wish List n RTEMS Lab Update – Remote access to equipment in OAR RTEMS lab – Baseline for automated testing on hardware – Initial work is underway at OAR n RTEMS Test Coverage Analysis – – Determine current code coverage of RTEMS tests Automate gathering this information Augment tests based upon coverage analysis Initial work is planned at OAR © On-Line Applications Research Corporation 20

OAR RTEMS Wish List – continued n USB support – Port BSD USB stack

OAR RTEMS Wish List – continued n USB support – Port BSD USB stack to RTEMS – Refactor TCP/IP port to have shared “BSD porting layer” – OAR has partial port but there is no active work n TCP/IP stack update – – – Update TCP/IP stack code to a late model Free. BSD version Key Goal: Make sure future updates are easy No active work in this area © On-Line Applications Research Corporation 21

OAR RTEMS Wish List – continued n Eclipse support – Plugins for Eclipse for

OAR RTEMS Wish List – continued n Eclipse support – Plugins for Eclipse for RTEMS development and debug – Gaisler Research has plugin for SPARC/RTEMS – No active work in this area n Event Capturing and Visualization – – – Log events from RTEMS target and analyze on host Chris Johns’ capture engine is a baseline ESA RTEMS Centre has effort underway on this © On-Line Applications Research Corporation 22

OAR RTEMS Wish List – continued OS Web Monitor n n n Web view

OAR RTEMS Wish List – continued OS Web Monitor n n n Web view of RTEMS objects Prototyped by Thomas Doerfler No active work in this area © On-Line Applications Research Corporation 23

OAR RTEMS Wish List – continued n RTEMS Ports Collection n Mac. OS Tool

OAR RTEMS Wish List – continued n RTEMS Ports Collection n Mac. OS Tool Binaries n Tiny RTEMS – Provide standard framework for compiling ported third party software packages similar to BSD ports collection – Chris Johns proposed this and has ideas – Provide pre-built toolsets from rtems. com – No active work in this area – – Long term effort, some results in 4. 8 Point projects to reduce minimum application code size Elimination of “dead code” aids in validation efforts No active work in this area © On-Line Applications Research Corporation 24

OAR RTEMS Wish List – continued n Atmel AVR Port – Partial port in

OAR RTEMS Wish List – continued n Atmel AVR Port – Partial port in tree and tools are already provided – No active work in this area n Texas Instruments MSP 430 Port – Volunteer working on this, but in early stages n More BSPs that run on Skyeye – Some BSPs are close and Skyeye needs tweaks – Other CPU models will require new BSPs © On-Line Applications Research Corporation 25

OAR RTEMS Wish List – Continued n Flash File System – Multiple free FFS

OAR RTEMS Wish List – Continued n Flash File System – Multiple free FFS have licenses incompatible with RTEMS n May be pure GPL or limited hardware – Jay Monkman has partial JFFS port which appears to meet goals n Free CANbus Stack – There are open source implementations – No active work in this area © On-Line Applications Research Corporation 26

OAR RTEMS Wish List – continued n POSIX Pipes Support – Support mkfifo() and

OAR RTEMS Wish List – continued n POSIX Pipes Support – Support mkfifo() and related calls n File Descriptor Duplication Support – Support dup(), dup 2(), and related calls – No active work in this area n RTEMS Shell and Monitor Improvements – More commands available and set available configurable by user – Add object information services to public API – No active work in this area © On-Line Applications Research Corporation 27

OAR RTEMS OAR Services n RTEMS Support – Rapid turn around on questions and

OAR RTEMS OAR Services n RTEMS Support – Rapid turn around on questions and bugs – USD 1500 per engineer per year, minimum 3 n RTEMS Training – Open classes held in Huntsville and Munich – On-site customer specific training available n RTEMS Application Assistance – Flexible consulting arrangement – On-demand RTEMS engineering assistance to address customer issues as they arise © On-Line Applications Research Corporation 28

OAR RTEMS OAR Services n RTEMS Directed Development – Sponsor a project – Can

OAR RTEMS OAR Services n RTEMS Directed Development – Sponsor a project – Can include X-Team members from around the world – X-Team is a network of non-OAR RTEMS specialists from around the globe n Custom Development – – BSPs and Device Drivers Porting packages Application design and implementation Engineering services © On-Line Applications Research Corporation 29

OAR RTEMS YOU Are THE Source For RTEMS Improvements!!! © On-Line Applications Research Corporation

OAR RTEMS YOU Are THE Source For RTEMS Improvements!!! © On-Line Applications Research Corporation 30

OAR RTEMS Contact Information Joel Sherrill Director of Research and Development RTEMS Project URL

OAR RTEMS Contact Information Joel Sherrill Director of Research and Development RTEMS Project URL http: //www. rtems. org OAR Corporation 4910 -L Corporate Drive Huntsville AL 35805 RTEMS Wiki http: //www. rtems. org/wiki Voice: (256) 722 -9985 Fax: (256) 722 -0985 Email: joel. sherrill@oarcorp. com © On-Line Applications Research Corporation 31