rtos ans soc

Upload: krajasekarantuti

Post on 04-Jun-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Rtos Ans Soc

    1/45

    1

    Real Time Operating Systemfor SoC

    Department of Computer andInformation Science

    National Chiao Tung University

  • 8/13/2019 Rtos Ans Soc

    2/45

    2

    OverviewMotivationCharacteristics of a Real Time OperatingSystem (RTOS)Components of an RTOSCase Study: VxWorks/pSOS, QNX, OSE,WinCE, Nucleus, eCos, Embedded LinuxConcluding Remarks

  • 8/13/2019 Rtos Ans Soc

    3/45

    3

    MotivationSoC CPU + ASIC + Software

    CPU/ASIC

    Operating System

    Middleware

    Applications

    Monitoring, Control,

    Remote Management,Consumer Devices

    Databases, Graphics, Java

    Linux, VxWorks, others...

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

  • 8/13/2019 Rtos Ans Soc

    4/45

    4

    An Example: Bluetooth

    Baseband

  • 8/13/2019 Rtos Ans Soc

    5/45

    5

    Software for Bluetooth

    Baseband Controller

    Radio Transceiver

    Link Control

    API

    L2CAP

    SDPRFCOMM

    Link Manager

    Host ApplicationGSM/UMTS etc

    Bluetooth Adviser WDP

    WAP

    HCI Router

    ARM 7TDMI

    Lyra/Vega

    Link Control/HCI/UART

    Management SW

  • 8/13/2019 Rtos Ans Soc

    6/45

    6

    Real Time OS A RTOS is an abstraction from hardware and

    software programmingShorter development timeLess porting effortsBetter reusability

    Choosing a RTOS is importantHigh efforts when porting to a different OSThe chosen OS may have a high impact on theamount of resources needed

  • 8/13/2019 Rtos Ans Soc

    7/457

    Characteristics of a RTOSSingle/Multi-platform OS

    Lyra: x86, ARM, MIPS

    MultitaskingPriority

    Real-timeSoft and hard real time requirements

    Variants of RTOS

  • 8/13/2019 Rtos Ans Soc

    8/458

    Real Time Real -time does not mean speed , butkeeping deadlines Overall deterministic behaviorGuaranteed typically short response/reaction times

  • 8/13/2019 Rtos Ans Soc

    9/459

    Soft and Hard Real Time

    RequirementsSoft real-time requirements:

    Breaking the time limit is unwanted, but isnot immediately critical Multimedia Streaming

    Hard real-time requirementsBreaking the limit is always seen as afundamental failure Nuclear Power Plant Controller

  • 8/13/2019 Rtos Ans Soc

    10/4510

    Variants of RTOSPure real time OS

    Hardware

    RTOS

    RT-Application

  • 8/13/2019 Rtos Ans Soc

    11/4511

    Pure Real Time OSEspecially designed for real-timerequirements

    Completely real-time compliantOften usable for simple architecture Advantage: no or little overhead

    Computing power, memory

    Disadvantage: limited functionalityExample: eCos, Nucleus, pSOS, VxWork, QNX,OSE, Lyra

  • 8/13/2019 Rtos Ans Soc

    12/4512

    OS Real-Time ExtensionsExtension of an OS by real-time componentsCooperation between RT- and non-RT parts

    Advantages: rich functionalityDisadvantage:

    No general real-time ability

    Computing and memory resourcesExample: RT-Linux, Solaris, Windows NT

  • 8/13/2019 Rtos Ans Soc

    13/4513

    OS Real-Time Extensions

    Hardware

    Standard OS

    RT Applications

    RTextension

    Applications

  • 8/13/2019 Rtos Ans Soc

    14/4514

    Components of a RTOSProcess(task) managementSchedulerSynchronization mechanism

    Interprocess communication (IPC)Semaphores

    Memory managementInterrupt service mechanism

    I/O managementHardware abstraction layerDevelopment Environments Communication subsystems (Option)Board Su ort Packa es BSP

  • 8/13/2019 Rtos Ans Soc

    15/45

    15

    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

  • 8/13/2019 Rtos Ans Soc

    16/45

    16

    VxWorks/pSOSManufacturer: WindRiver System

    Largest player on the market Application examples: HP laser printers, MarsProbe pathfinder, Sony Walkman, digital camera,Internet switch and routers,

    CharacteristicsSupport many architecturesTool: TornadoNo memory protection by OSOS ROM size scalable from 80KB to 500KBRAM requirements at least 50KB License + royalty + professional service

  • 8/13/2019 Rtos Ans Soc

    17/45

    17

    pSOS

  • 8/13/2019 Rtos Ans Soc

    18/45

    18

    QNXManufacturer : QNX Software Systems Ltd(Canada)

    Support many 32-bits architectures: x86, MIPS,PPC, ARM,

    Applications: medical technology, automotivetechnology,

    Characteristics: Microkernel architectureFull MMU supportGUI supportLicense + royalty Free for non-commercial use

  • 8/13/2019 Rtos Ans Soc

    19/45

    19

    QNX

  • 8/13/2019 Rtos Ans Soc

    20/45

    20

    OSEManufacturer: Enea Data (Sweden)Enea has a long tradition in the embedded areaClimber of the last two yearsMain applications: Telecomm (Ericsson, Nokia)

    Characteristics:Different kernels for different application areas

    The smallest kernel needs only 6 functionsPrinciple of the kernel : message-passingGood connection to the SDL tool chain

  • 8/13/2019 Rtos Ans Soc

    21/45

    21

    NucleusManufacturer: Accelerated Technology

    Application: wireless equipments(handsets), internet access devicesCharacteristics

    Source code license + no royalty

    Small memory footprint and CPU overheads

  • 8/13/2019 Rtos Ans Soc

    22/45

    22

    eCosManufacturer : red hat (Cygnus)

    Applications : wireless applications,

    internet access, embedded applicationsCharacteristics

    Open source (GNU license)Implemented in C++ Embedded configurable RTOSMemory footprint from 10s KB to 100s KB

  • 8/13/2019 Rtos Ans Soc

    23/45

    23

    eCos configuration tool

  • 8/13/2019 Rtos Ans Soc

    24/45

    24

    Windows CEManufacturer: Microsoft

    Application areas: PDA, Industrial embedded

    systems, game consolesCharacteristics

    Win32 APIOwn tool chain (Visual Studio)For most well-known 32 bit platforms with MMUTypical memory requirements : a few MBs Relative high royalty

  • 8/13/2019 Rtos Ans Soc

    25/45

    25

    Windows CEShells Internet Explorer Remote Connectivity

    Microsoft Programming InterfacesWin32, COM, MFC, ATL, ... Communication Interfaces(Winsock, RAS, TAPI, network)

    Kernel

    OAL

    GWEObject Store

    (File Systems)

    Native & StreamInterface Drivers

    OtherDrivers

    IrDA TCP/IP

    IRMiniport

    EthernetMiniport

    Unimodem

    PPP/SLIP

    Serial NDIS

  • 8/13/2019 Rtos Ans Soc

    26/45

    26

    Embedded LinuxOpen Source

    Almost Free

    CommunityCode QualityRobust

    Brand NameInternet PlatformIBM will invest 1 Billion per year for Linux

  • 8/13/2019 Rtos Ans Soc

    27/45

    27

    Embedded and Real-Time

    Linux Solution ProvidersLynx -- Blue Cat LinuxMontaVista -- Hard Hat Linux

    Lineo -- Embedix LinuxFSMLabs -- RTLinuxZentropix -RealTime Linux

    Coollogic -- On-Channel LinuxRedhatIBM

  • 8/13/2019 Rtos Ans Soc

    28/45

    28

    A Typical Embedded Linux

    Embedded Linux OS

    GTK+ & GDK GUIJavaVM

    Multi-Language SDK DDK GW32

    Browser ICAPIMPocketWord

    E-mail MP3ICQ

    XC Screen Phone &

    Web Pad

    PDA WBT

  • 8/13/2019 Rtos Ans Soc

    29/45

    29

    Screen Phone &

    Web Pad

    WBT

    Embedded Linux OS(500 k bytes)

    GW32 (800 k bytes)

    Browser (1M bytes)

    Embedded Linux For Internet Appliances

    Embedded Linux OS(500 k bytes)

    GW32 (800 k bytes)

    ICA (500 k bytes)

  • 8/13/2019 Rtos Ans Soc

    30/45

    30

    FIC Aqua 3200 WebPAD7.4 DSTN LCDCrusoe 3120 400MHz16M Flash64M RAMEmbedded LinuxNetscape WebBrowser

  • 8/13/2019 Rtos Ans Soc

    31/45

    31

    Linux PDA - Samsung YOPY4.0 Color TFT LCD206 MHz ARM, 32M

    DRAM, 32M FlashMP3 player, Voicerecording, MPEG

    ARMLinuxDigital CameraTV (NTSC)

  • 8/13/2019 Rtos Ans Soc

    32/45

    32

    Lineo EmbedixEmbedix Linux Installertext based

    The Shell Ash (much smaller than Bash)

    The Kernel Binary

    Linux kernel with small number of devicedrivers

    The C library (~ 600K)

    Reduced Glibc (with tool support)

  • 8/13/2019 Rtos Ans Soc

    33/45

    33

    The Size of Embedix 1.0The minimum target size for EmbedixLinux 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 driver4 MB RAM and 1MB Floppy

    Lineo Web Browser (HTML 3.2)5 MB of Flash and 16MB of RAM

  • 8/13/2019 Rtos Ans Soc

    34/45

    34

    Embedix Linux SDK

  • 8/13/2019 Rtos Ans Soc

    35/45

    35

    Two Classes of Embedded

    Linux500KB kernel2MB Flash vs. 16MB Flash

    Microbrowser vs. Netscape

    4M DRAM vs. 32MB ~ 64MB DRAM

  • 8/13/2019 Rtos Ans Soc

    36/45

    36

    Linux kernelDesign Focus: Application throughput

    Linux use interrupt off critical section

    managementLinux kernel is non-preemptableLinux compromises the timely selection of

    real-time processes for throughputLinux allow nested interrupts (depends onhardware)

  • 8/13/2019 Rtos Ans Soc

    37/45

    37

    Current Linux SolutionsDesign application around the problems

    Directly use interrupt service routines

    Avoid known excessive interrupt offperiods in LinuxIf a process component is required in the

    real-time control path, then consideraggregate system loadingUse real-time scheduler instead

  • 8/13/2019 Rtos Ans Soc

    38/45

    38

    Hybrid KernelRTLiux

    run Linux as the idle task

    real-time threads are executing in real-timekernelinterrupt off/on operations by Linux are

    emulated by lower level kernelcomplex and difficult for applicationdevelopment

  • 8/13/2019 Rtos Ans Soc

    39/45

    39

    RTLinuxInit Bash

    Drivers

    Hardware

    System calls LinuxKernel

    Interruptor

    polling

    Real timetask

    Real timetask

    RT-Linux SchedulerI/O

    InterruptInterrupt

    I/O

    Xterm

  • 8/13/2019 Rtos Ans Soc

    40/45

    40

    Add real-time control to Linux

    directlyPreemptive points in Linux kernel

    A rate monotonic scheduler (UC Irvine)The KURT program at University ofKansasLinux SRT (soft real -time) project

  • 8/13/2019 Rtos Ans Soc

    41/45

    41

    MontaVistaMeasure the interrupt off periodsProvide a priority driven real-timeprocess scheduler with fixed and lowoverhead for process creation anddispatch

    Measure process preemption delaysDevelop, access and providepreemptable Linux kernel

  • 8/13/2019 Rtos Ans Soc

    42/45

    42

    EL/IX Delivers The Vision forEmbedded Computing

    DevelopmentEnvironment

    IncludingGNU Tools

    (gcc, gdb, etc.)

    Application

    Manual or AutoConfiguration

    Application Application

    EL/IX API

    LINUX

    eCos or

    OtherRTOS

    PDA DeeplyEmbedded

    User Config API Config

    Kernel-levelConfig

  • 8/13/2019 Rtos Ans Soc

    43/45

    43

    Concluding RemarksHow 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 hardwareplatform? What are the overall cost of using the OSincluding the license fee, tool cost, training androyalty? Consider software issues from verybeginning

  • 8/13/2019 Rtos Ans Soc

    44/45

    44

    Wireless Multimedia PDA SoCCPUCore

    System Bus

    LCDcontrol

    DMAcontrol

    Bridge MemoryController

    DRAM

    UARTRTC 1

    InterruptcontrolGPIO

    PowerMgr.

    Wireless LANBaseband/MAC RF

    Antenna

    UART

    IO pins

    RTC 2

    Soundcodec

    SpeakerMIC Reset

    Reset

    DSP

    ImageSensor

    LCD

    Cache

  • 8/13/2019 Rtos Ans Soc

    45/45

    Embedded Linux with Real

    Time ExtensionCadence: Virtual Component Co-design

    Hardware/Software Co-design

    Mentor Graphics: Seamless for WLAN MACverification Linux Driver(ISS) + MAC (ModelSim)

    Intel StrongARM development board /ARM

    ASIC Integrator boardEmbedded Linux developmentMPEG 4 Codec