Upload
brianna-campbell
View
220
Download
3
Tags:
Embed Size (px)
Citation preview
©FSMLabs 2000-2003
New markets releaseFSMLabs Hard Real-Time
RTLinuxPro 2.0RTCoreBSD 2.0
FSMLabs Technology and Business
©FSMLabs 2000-2003
RTLinux® & RTCore BSD 2.0
•RTLinux and RTCoreBSD consist of a POSIX threads based hard real-time kernel, RTCore, and a general purpose operating system, Linux or BSD, that runs when the real-time system is inactive
•This system has been in production for 8 years
•The 2.0 release is a major technology upgrade
Hardware
RTCore Kernel RT threads
RTCoreVirtual Machine Layer
Linux/BSD
General purpose apps code
Memory protected RT threads
©FSMLabs 2000-2003
The competitive advantages•Real time performance is industry leading
• Worst case latencies and jitter in the low microseconds: “typical” or “average” mean nothing for hard real-time
•Just works – no wasteful configuration cycle
•Standard POSIX API
•Runs a solid and high performance UNIX (Linux and BSD) not some niche substitute
•Programming model is modular, reliable, simple to use
Pratt & WhitneyUse RTLinux forJoint-Strike fighterEngine test.
©FSMLabs 2000-2003
FSMLabs 2.0 products hard real-time components
RTCoreHard real-time
kernel
RTLinuxProRTCore
+ RuggedizedEmbedded Linux
RTCoreBSDLNet real-time
NetworkingEthernet & 1394
PSDD memoryProtected threadsin process space
Controls KitXML/RPC
Universal interface
©FSMLabs 2000-2003
2.0 Advances•New application build system for simplifying development and deployment
•NetBSD 1.6 and Linux 2.4.19+ support
•Improved POSIX I/O with shared memory and FIFO communications between RTCore and Linux/BSD
Fujitsu uses RTLinuxFor it’s humanoid robot
©FSMLabs 2000-2003
2.0 Build System•RTCore applications look like POSIX threaded programs
•RTCore executables can be run from the command line of BSD or Linux like ordinary applications
•RTCore executables have standard I/O and can use UNIX command line I/O redirection
Enable real-time byRunning the RTCore program.
Run a RT executable and pipe its output to a graphical plotProgram – it is as simple as that.
%rtcore &%sample_signal | plot
©FSMLabs 2000-2003
2.0 Build System•Programmers who know “C” can produce simple working applications in minutes
•The build system creates an executable that automatically loads into the RTCore environment when run
/*RTCore application */main(){printf(“Hello from RTCore\n”);return;}
©FSMLabs 2000-2003
2.0 Build System•Programmers who know POSIX threads can start writing real-time code with no learning curve
/*RTCore application */main(){…pthread_create(rtthread,func,t,.)…return;}
©FSMLabs 2000-2003
2.0 Build System•The UNIX model of connecting components is extended to hard real-time
%cat videofile | play.rtl &
%sense_rt_data | netcat 10.0.0.3:log
Henson Creature Shop buildsPuppets and graphics withRTLinux.
©FSMLabs 2000-2003
2.0 Base OS •Embedded Linux 2.4.19+ BSPs
•Selected per architecture to provide best mix of features and stability
•Provided with embedded file system and utilities
•As usual, many architectures and full SMP support
•PC/104 and VME system support
•NetBSD 1.6+ with SMP support
•Extensive QA and testing
•Free and Open Source software at a professional level
•Simple, effective leverage of standard technology
©FSMLabs 2000-2003
2.0 Connections •The power of the system is from the combination of off the shelf UNIX and a cutting edge performance RTOS
•RTCore provides FIFOs, shared memory, and device I/O using UNIX standard read/write/open/ioctl
•Real-time device drivers are simple and there is a framework that supports namespace and simplifies synchronization
•Memory and FIFOs can be shared with Linux/BSD processes using standard POSIX APIs, but the interface is designed for real-time so real-time components are never forced to wait for non-real-time components
©FSMLabs 2000-2003
No limits •SMP. We have been running on Quads for 5 years
•RTCore threads run where the programmer specifies
•RTCore processor reservation allows the Platform OS to be suspended to dedicate processors for RT
•Careful design to reduce inter-cpu synchronization
•Memory protection. PSDD offers POSIX API memory protected RT threads
• PSDD threads run in user process space – sharing memory with the host process
•Sophisticated slot scheduler available for simulations
•Memory can be shared with other RT processes or not, based on need
©FSMLabs 2000-2003
Capabilities
SynergyMicro Dual CPU VMEVYFD runs RTLinuxPro
Embedded Planet 405GPrboots Linux and runs real-time code in under 200ms
Standard off the shelf x86 hardwareProvides sub-20us worst case jitter
©FSMLabs 2000-2003
Memory Protection Process Space Development Domain (PSDD)
RTCore Component that permits creation of real-time threads inside the address space of user programs.
•Uses the same lean POSIX API
•SMP capable
•Shared memory access to RT and other process space
•Supports X86 and PowerPC
•Integrates well with large scale, machine-in-loop simulations
©FSMLabs 2000-2003
No limits: Connections
•LNet real-time networking for Ethernet and IEEE 1394 FireWire provides hard real-time connectivity
•ControlsKit XML/RPC interface for snap-together connections of control and data variables with browsers, spreadsheets, Java, and anything else that speaks XML
©FSMLabs 2000-2003
Customers
•Current•Hamilton Sundstrand – Jet Engine manufacturing test•NASA and Sandia Labs – satellites•Siemens – factory automation•NDA – network switches•Mitsubishi Heavy Industries – robots•….
•Next•Cell phone handsets and back-end – reduce part count•Replace PLCs in factories•Network and wireless•…
©FSMLabs 2000-2003
Competitors •MontaVista: soft real-time Linux platform.
“Soft real-time” = “fails under load” but MV kernels
can run with RTCore
•Windriver VxWorks.
• Old niche technology - expensive because WindRiver has to support everything. Costs add rapidly
• No SMP support
•Timings are not as good as RTCore
•No Linux, no standard API
•Integrity, etc – see above, but worse
•Other Linux related – GPL, support, and performance questions
©FSMLabs 2000-2003
Thanks!
FSMLabs, Inc.
115-D Abeyta Ave.
Socorro, NM 87801
USA
Telephone: 1-505-838-9109
Fax: 1-505-838-9112
©FSMLabs 2000-2003
RTCoreRTCore is a hard real-time operating system that runs a non-real-time operating system as a pre-emptible task.
RTLinux is RTCore + Linux.RTCoreBSD is RTCore + BSD UNIX
• Hard real-time for non-negotiable deadlines. (Soft real-time means “fails under load”).•Low microsecond jitter and interrupt latency. For applications from engine control to data acquisition to … •A full UNIX system for non-real-time components
©FSMLabs 2000-2003
RTCore & Standards
The RTCore real-time kernel is POSIX 1003.13 PSE51+ -a light weight low overhead real-time kernel with a POSIX threads API
Linux or BSD UNIX offers standard UNIX API and all the standard UNIX applications: networking, GUIs, databases etc.
The non-real-time system cannot degrade real-time performance.