Sie sind auf Seite 1von 45

Real Time Operating System for SoC

Department of Computer and Information Science National Chiao Tung University


1

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

SoC CPU + ASIC + Software


Applications
Monitoring, Control, Remote Management, Consumer Devices

Middleware

Databases, Graphics, Java

Operating System

Linux, VxWorks, others...

CPU/ASIC

PPC, 68k, MIPS, ARM, x86, etc.

An Example: Bluetooth Baseband

Software for Bluetooth


Host Application GSM/UMTS etc Bluetooth Adviser RFCOMM SDP WAP WDP

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

A RTOS is an abstraction from hardware and software programming


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

Choosing a RTOS is important


Characteristics of a RTOS

Single/Multi-platform OS

Lyra: x86, ARM, MIPS

Multitasking

Priority

Real-time Soft and hard real time requirements Variants of RTOS


7

Real Time

Real-time does not mean speed, but keeping deadlines Overall deterministic behavior Guaranteed typically short response/reaction times

Soft and Hard Real Time Requirements

Soft real-time requirements:

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

Hard real-time requirements

Variants of RTOS

Pure real time OS


RT-Application RTOS Hardware

10

Pure Real Time OS


Especially designed for real-time requirements Completely real-time compliant Often usable for simple architecture Advantage: no or little overhead

Computing power, memory

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:

No general real-time ability Computing and memory resources

Example: RT-Linux, Solaris, Windows NT

12

OS Real-Time Extensions
Applications
RT Applications

Standard OS

RT extension

Hardware
13

Components of a RTOS

Process(task) management

Scheduler Synchronization mechanism


Interprocess communication (IPC) Semaphores

Memory management Interrupt service mechanism I/O management Hardware abstraction layer Development Environments Communication subsystems (Option) Board Support Packages (BSP)

14

Situation of the RTOS Market

A vast of RTOS on the market:

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

Manufacturer: WindRiver System


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

Manufacturer : QNX Software Systems Ltd (Canada)

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

Manufacturer: Enea Data (Sweden)


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

Manufacturer: Accelerated Technology

Application: wireless equipments (handsets), internet access devices Characteristics


Source code license + no royalty Small memory footprint and CPU overheads

21

eCos

Manufacturer : redhat (Cygnus)

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

eCos configuration tool

23

Windows CE

Manufacturer: Microsoft

Application areas: PDA, Industrial embedded systems, game consoles

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

Native & Stream Interface Drivers

NDIS

IR Ethernet Miniport Miniport

Serial

25

Embedded Linux

Open Source

Almost Free Community

Code Quality Robust Brand Name Internet Platform IBM will invest 1 Billion per year for Linux
26

Embedded and Real-Time Linux Solution Providers


Lynx -- Blue Cat Linux MontaVista -- Hard Hat Linux Lineo -- Embedix Linux FSMLabs -- RTLinux Zentropix -RealTime Linux Coollogic -- On-Channel Linux Redhat IBM
27

A Typical Embedded Linux


Browser JavaVM Pocket Word ICQ E-mail MP3 PIM ICA GTK+ & GDK GUI

SDK

DDK

GW32

MultiLanguage

Embedded Linux OS

Screen Phone &


Web Pad

XC

WBT

PDA

28

Embedded Linux For Internet Appliances


Screen Phone & Browser (1M bytes) GW32 (800 k bytes) Embedded Linux OS(500 k bytes) Web Pad

ICA (500 k bytes)


GW32 (800 k bytes) Embedded Linux OS(500 k bytes)

WBT

29

FIC Aqua 3200 WebPAD


7.4 DSTN LCD Crusoe 3120 400MHz 16M Flash 64M RAM Embedded Linux Netscape Web Browser

30

Linux PDA - Samsung YOPY


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

Embedix Linux Installer

text based

The Shell

Ash (much smaller than Bash)


Linux kernel with small number of device drivers Reduced Glibc (with tool support)

The Kernel Binary

The C library (~ 600K)

32

The Size of Embedix 1.0

The minimum target size for Embedix Linux on x86


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

Lineo Web Browser (HTML 3.2)

Embedix Linux SDK

34

Two Classes of Embedded Linux


500KB kernel 2MB Flash vs. 16MB Flash

Microbrowser vs. Netscape

4M DRAM vs. 32MB ~ 64MB DRAM

35

Linux kernel

Design Focus: Application throughput

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

Current Linux Solutions

Design application around the problems


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

Real time task

Real time task

Linux Kernel

Interrupt or polling

Drivers I/O Interrupt Hardware


39

I/O

RT-Linux Scheduler Interrupt

Add real-time control to Linux directly


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

EL/IX Delivers The Vision for Embedded Computing


Development Environment Including GNU Tools
(gcc, gdb, etc.)
Manual or Auto Configuration
Application Application Application

User Config API Config

EL/IX API eCos or Other RTOS Deeply Embedded Kernel-level Config

LINUX

PDA

42

Concluding Remarks

How to select a RTOS for your own SoC ?


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

Wireless Multimedia PDA SoC


DSP CPU Core Cache
DMA control

DRAM
System Bus

Power Mgr.
UART

Bridge

Memory Controller
RTC 1 Interrupt control Reset Reset RTC 2

UART

IO pins

GPIO
Speaker MIC

Sound codec LCD control

Image Sensor
Antenna

LCD

Wireless LAN Baseband/MAC

RF
44

Embedded Linux with Real Time Extension

Cadence: Virtual Component Co-design

Hardware/Software Co-design

Mentor Graphics: Seamless for WLAN MAC verification

Linux Driver(ISS) + MAC (ModelSim)

Intel StrongARM development board /ARM ASIC Integrator board


Embedded Linux development MPEG 4 Codec


45

Das könnte Ihnen auch gefallen