1 / 45

Real Time Operating System for SoC

Real Time Operating System for SoC. 張瑞川 Department of Computer and Information Science National Chiao Tung University. 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

Télécharger la présentation

Real Time Operating System for SoC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real Time Operating System for SoC 張瑞川 Department of Computer and Information Science National Chiao Tung University

  2. 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

  3. Motivation • SoC  CPU + ASIC + Software Monitoring, Control, Remote Management, Consumer Devices Applications Middleware Databases, Graphics, Java Operating System Linux, VxWorks, others... PPC, 68k, MIPS, ARM, x86, etc. CPU/ASIC

  4. An Example: Bluetooth Baseband

  5. Software for Bluetooth Host Application GSM/UMTS etc WAP Management SW Bluetooth Adviser WDP API RFCOMM SDP L2CAP Link Control/HCI/UART HCI Router Link Manager Lyra/Vega Link Control Baseband Controller ARM 7TDMI Radio Transceiver

  6. 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

  7. 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

  8. Real Time • “Real-time does not mean speed, but keeping deadlines” • Overall deterministic behavior • Guaranteed – typically short – response/reaction times

  9. 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

  10. Variants of RTOS • Pure real time OS RT-Application RTOS Hardware

  11. 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

  12. 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

  13. OS Real-Time Extensions Applications RT Applications Standard OS RT extension Hardware

  14. 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)

  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 OS’s • Lyra/Vega

  16. 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

  17. pSOS

  18. 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

  19. QNX

  20. 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

  21. Nucleus • Manufacturer: Accelerated Technology • Application: wireless equipments (handsets), internet access devices • Characteristics • Source code license + no royalty • Small memory footprint and CPU overheads

  22. 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

  23. eCos configuration tool

  24. 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

  25. Windows CE Shells Internet Explorer Remote Connectivity Microsoft Programming Interfaces Win32, COM, MFC, ATL, ... Communication Interfaces (Winsock, RAS, TAPI, network) Kernel OAL GWE Object Store (File Systems) IrDA TCP/IP Unimodem PPP/SLIP IR Miniport Ethernet Miniport NDIS Native & Stream Interface Drivers Other Drivers Serial

  26. Embedded Linux • Open Source • Almost Free • Community • Code Quality • Robust • Brand Name • Internet Platform • IBM will invest 1 Billion per year for Linux

  27. 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

  28. Screen Phone & Web Pad WBT XC PDA Browser PocketWord ICQ E-mail MP3 PIM ICA JavaVM GTK+ & GDK GUI SDK DDK GW32 Multi- Language A Typical Embedded Linux Embedded Linux OS

  29. Screen Phone & Web Pad WBT Embedded Linux For Internet Appliances Browser (1M bytes) GW32 (800 k bytes) Embedded Linux OS(500 k bytes) ICA (500 k bytes) GW32 (800 k bytes) Embedded Linux OS(500 k bytes)

  30. FIC Aqua 3200 WebPAD • 7.4“ DSTN LCD • Crusoe 3120 400MHz • 16M Flash • 64M RAM • Embedded Linux • Netscape Web Browser

  31. 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)

  32. 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)

  33. 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

  34. Embedix Linux SDK

  35. Two Classes of Embedded Linux • 500KB kernel • 2MB Flash vs. 16MB Flash • Microbrowser vs. Netscape • 4M DRAM vs. 32MB ~ 64MB DRAM

  36. 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)

  37. 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

  38. 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

  39. Init Bash Xterm Real time task Real time task Linux Kernel System calls Drivers Interrupt or polling I/O RT-Linux Scheduler I/O Interrupt Interrupt Hardware RTLinux

  40. 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

  41. 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

  42. Application Application Application EL/IX Delivers The Vision for Embedded Computing Development Environment Including GNU Tools (gcc, gdb, etc.) Manual or Auto Configuration User Config API Config EL/IX API eCos or Other RTOS Kernel-level Config LINUX PDA Deeply Embedded

  43. 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

  44. DSP CPU Core Cache DMA control DRAM System Bus Power Mgr. Bridge Memory Controller UART UART RTC 1 RTC 2 IO pins GPIO Interrupt control Reset Speaker MIC Image Sensor Sound codec Reset Antenna LCD LCD control Wireless LAN Baseband/MAC RF Wireless Multimedia PDA SoC

  45. 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

More Related