Beruflich Dokumente
Kultur Dokumente
Overview
Motivation Characteristics of a Real Time Operating System (RTOS) Components of an RTOS Case Study: VxWorks/pSOS, QNX, OSE, WinCE, Nucleus, eCos, Embedded Linux Concluding Remarks
2
Motivation
Middleware
Operating System
CPU/ASIC
Management SW
API
L2CAP
HCI Router Link Manager
Link Control/HCI/UART
Lyra/Vega
Link Control Baseband Controller Radio Transceiver
ARM 7TDMI
5
Real Time OS
Shorter development time Less porting efforts Better reusability High efforts when porting to a different OS The chosen OS may have a high impact on the amount of resources needed
6
Characteristics of a RTOS
Single/Multi-platform OS
Multitasking
Priority
Real Time
Real-time does not mean speed, but keeping deadlines Overall deterministic behavior Guaranteed typically short response/reaction times
Breaking the time limit is unwanted, but is not immediately critical Multimedia Streaming Breaking the limit is always seen as a fundamental failure Nuclear Power Plant Controller
9
Variants of RTOS
10
Especially designed for real-time requirements Completely real-time compliant Often usable for simple architecture Advantage: no or little overhead
Disadvantage: limited functionality Example: eCos, Nucleus, pSOS, VxWork, QNX, OSE, Lyra
11
OS Real-Time Extensions
Extension of an OS by real-time components Cooperation between RT- and non-RT parts Advantages: rich functionality Disadvantage:
12
OS Real-Time Extensions
Applications
RT Applications
Standard OS
RT extension
Hardware
13
Components of a RTOS
Process(task) management
Memory management Interrupt service mechanism I/O management Hardware abstraction layer Development Environments Communication subsystems (Option) Board Support Packages (BSP)
14
Nucleus Plus, OSE, Virtuoso, ThreadX, WinCE, AMX, RTX, LynxOS, VRTX, uC/OS II, OS-9, On Time, VxWork, pSOS, EPOC, eCos Proprietary OSs
Lyra/Vega
15
VxWorks/pSOS
Largest player on the market Application examples: HP laser printers, Mars Probe pathfinder, Sony Walkman, digital camera, Internet switch and routers, Support many architectures Tool: Tornado No memory protection by OS OS ROM size scalable from 80KB to 500KB RAM requirements at least 50KB License + royalty + professional service
Characteristics
16
pSOS
17
QNX
Support many 32-bits architectures: x86, MIPS, PPC, ARM, Applications: medical technology, automotive technology, Microkernel architecture Full MMU support GUI support License + royalty Free for non-commercial use
Characteristics:
18
QNX
19
OSE
Enea has a long tradition in the embedded area Climber of the last two years Main applications: Telecomm (Ericsson, Nokia) Different kernels for different application areas The smallest kernel needs only 6 functions Principle of the kernel : message-passing Good connection to the SDL tool chain
20
Characteristics:
Nucleus
Source code license + no royalty Small memory footprint and CPU overheads
21
eCos
Applications : wireless applications, internet access, embedded applications Open source (GNU license) Implemented in C++ Embedded configurable RTOS Memory footprint from 10s KB to 100s KB
22
Characteristics
23
Windows CE
Manufacturer: Microsoft
Characteristics
Win32 API Own tool chain (Visual Studio) For most well-known 32 bit platforms with MMU Typical memory requirements : a few MBs Relative high royalty
24
Windows CE
Shells Internet Explorer Remote Connectivity Communication Interfaces (Winsock, RAS, TAPI, network) Microsoft Programming Interfaces Win32, COM, MFC, ATL, ... Kernel GWE Object Store (File Systems) Other Drivers
IrDA
TCP/IP
Unimodem PPP/SLIP
OAL
NDIS
Serial
25
Embedded Linux
Open Source
Code Quality Robust Brand Name Internet Platform IBM will invest 1 Billion per year for Linux
26
Lynx -- Blue Cat Linux MontaVista -- Hard Hat Linux Lineo -- Embedix Linux FSMLabs -- RTLinux Zentropix -RealTime Linux Coollogic -- On-Channel Linux Redhat IBM
27
SDK
DDK
GW32
MultiLanguage
Embedded Linux OS
XC
WBT
PDA
28
WBT
29
7.4 DSTN LCD Crusoe 3120 400MHz 16M Flash 64M RAM Embedded Linux Netscape Web Browser
30
4.0 Color TFT LCD 206 MHz ARM, 32M DRAM, 32M Flash MP3 player, Voice recording, MPEG ARMLinux Digital Camera TV (NTSC)
31
Lineo Embedix
text based
The Shell
32
4 MB of RAM and 1MB of ROM, Flash A demo system with v2.0 Linux kernel, web server, shell, DHCP server, CGI scripts, web camera driver 4 MB RAM and 1MB Floppy 5 MB of Flash and 16MB of RAM
33
34
35
Linux kernel
Linux use interrupt off critical section management Linux kernel is non-preemptable Linux compromises the timely selection of real-time processes for throughput Linux allow nested interrupts (depends on hardware)
36
Directly use interrupt service routines Avoid known excessive interrupt off periods in Linux If a process component is required in the real-time control path, then consider aggregate system loading Use real-time scheduler instead
37
Hybrid Kernel
RTLiux
run Linux as the idle task real-time threads are executing in real-time kernel interrupt off/on operations by Linux are emulated by lower level kernel complex and difficult for application development
38
RTLinux
Init Bash Xterm
System calls
Linux Kernel
Interrupt or polling
I/O
Preemptive points in Linux kernel A rate monotonic scheduler (UC Irvine) The KURT program at University of Kansas Linux SRT (soft real-time) project
40
MontaVista
Measure the interrupt off periods Provide a priority driven real-time process scheduler with fixed and low overhead for process creation and dispatch Measure process preemption delays Develop, access and provide preemptable Linux kernel
41
LINUX
PDA
42
Concluding Remarks
What are the requirements of the applications? Which OS features are really necessary? How hard are the real time constraints? Is the OS available for the chosen hardware platform? What are the overall cost of using the OS including the license fee, tool cost, training and royalty? Consider software issues from very beginning
43
DRAM
System Bus
Power Mgr.
UART
Bridge
Memory Controller
RTC 1 Interrupt control Reset Reset RTC 2
UART
IO pins
GPIO
Speaker MIC
Image Sensor
Antenna
LCD
RF
44
Hardware/Software Co-design