Linux by pengxiuhui

VIEWS: 36 PAGES: 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
                       Monitoring, Control,
      Applications     Remote Management,
                       Consumer Devices



      Middleware       Databases, Graphics, Java



    Operating System   Linux, VxWorks, others...


                       PPC, 68k, MIPS, ARM,
       CPU/ASIC        x86, etc.
                                                   3
An Example: Bluetooth
Baseband




                        4
      Software for Bluetooth
        Host Application
        GSM/UMTS etc

  Bluetooth                WAP
   Adviser                 WDP
                                   Management SW
                API
RFCOMM SDP

        L2CAP
      HCI Router                 Link Control/HCI/UART
         Link Manager




                                      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
   Choosing a RTOS is important
       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
       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




                                          8
Soft and Hard Real Time
Requirements
   Soft real-time requirements:
       Breaking the time limit is unwanted, but is
        not immediately critical
       Multimedia Streaming
   Hard real-time requirements
       Breaking the limit is always seen as a
        fundamental failure
       Nuclear Power Plant Controller

                                                  9
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



                          RT
     Standard OS          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 OS’s
           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,…
   Characteristics
       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     16
pSOS




       17
QNX
   Manufacturer : QNX Software Systems Ltd
    (Canada)
       Support many 32-bits architectures: x86, MIPS,
        PPC, ARM,…
       Applications: medical technology, automotive
        technology,…
   Characteristics:
       Microkernel architecture
       Full MMU support
       GUI support
       License + royalty
       Free for non-commercial use                      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)
   Characteristics:
       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
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
   Characteristics
       Open source (GNU license)
       Implemented in C++
       Embedded configurable RTOS
       Memory footprint from 10’s KB to 100’s KB

                                                 22
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 MB’s
       Relative high royalty

                                                      24
      Windows CE
  Shells           Internet Explorer              Remote Connectivity

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

Kernel                                    IrDA         TCP/IP       Unimodem
                         Object Store
             GWE
                        (File Systems)
                                                                    PPP/SLIP
                                                  IR     Ethernet
                                         NDIS   Miniport Miniport
           Native & Stream     Other
OAL                                                                  Serial
           Interface Drivers   Drivers


                                                                          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
                 Pocket
    Browser               ICQ   E-mail   MP3   PIM       ICA
                 Word

      JavaVM                        GTK+ & GDK GUI

                                                        Multi-
      SDK            DDK             GW32
                                                      Language

                          Embedded Linux OS


                          XC         WBT              PDA
Screen Phone &
   Web Pad




                                                                 28
Embedded Linux For Internet
Appliances
                                 Screen Phone &
      Browser (1M bytes)           Web Pad

      GW32 (800 k bytes)

Embedded Linux OS(500 k bytes)




       ICA (500 k bytes)
                                     WBT
      GW32 (800 k bytes)

Embedded Linux OS(500 k bytes)

                                                  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)
   The Kernel Binary
       Linux kernel with small number of device
        drivers
   The C library (~ 600K)
       Reduced Glibc (with tool support)
                                              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
   Lineo Web Browser (HTML 3.2)
       5 MB of Flash and 16MB of RAM
                                                 33
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




                                               Real time     Real time
                       System calls            task          task         Linux
                                                                          Kernel
                   Drivers
Interrupt
or
polling                                                             I/O
                               RT-Linux Scheduler
            I/O
                                                           Interrupt
                      Interrupt
                                    Hardware
                                                                                   39
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
                                                                 Manual or Auto
Development                                                      Configuration
Environment        Application    Application      Application
  Including                                                        User Config
                                                                   API Config
 GNU Tools
                                 EL/IX API
(gcc, gdb, etc.)

                                                eCos or
                                                                   Kernel-level
                    LINUX                        Other             Config
                                                 RTOS


                            PDA             Deeply
                                           Embedded                           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        Cache       DMA
                                      control
               Core
                                                            DRAM
System Bus

             Power     Bridge       Memory
              Mgr.                  Controller
 UART
             UART
                                  RTC 1         RTC 2

 IO pins
                                   Interrupt
             GPIO
                                    control
                                                 Reset
Speaker
 MIC         Sound                  Reset                Image
             codec                                       Sensor
                                                                  Antenna
 LCD          LCD                 Wireless LAN
             control              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

								
To top