c 101 lec 04 a tour in rtos land

Upload: hohhooh

Post on 02-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    1/27

    Linux For Embedded SystemsFor rabs

    Ahmed ElArabawy

    Course 101:

    Introduction toEmbedded Linux

    https://www.youtube.com/watch?v=1r6x66F7UwI

    https://www.youtube.com/watch?v=1r6x66F7UwIhttps://www.youtube.com/watch?v=1r6x66F7UwIhttps://www.youtube.com/watch?v=1r6x66F7UwI
  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    2/27

    Lecture 4: A Tour in RTOS Land

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    3/27

    Lecture 4:A Tour in RTOS Land

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    4/27

    PROPRIETARY RTOSS

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    5/27

    Windows CE

    Developed by Microsoft

    Has recently been replaced by Windows Embedded Compact

    Has the mix of the windows desktop and embedded devices

    requirements

    Suitable for embedded devices that require also a good user

    interface

    Medium to Large HW requirements:

    Footprint of OS around 200-350KB

    May run in under a 1MB of memory

    True RTOS, has a deterministic behavior

    Cost is around $3 per device license + Initial Cost for tools

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    6/27

    Application Examples

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    7/27

    Nucleus

    Developed by Mentor Graphics

    Portable to different devices (Microcontrollers and Micro -

    Processors)

    Foot print as small as 2KB

    Support unique power management features

    Power/clock gating

    Deep sleep modes

    Cost is about

    $13K for the OS license per implementation

    $3K per seat for the tools

    Royalty free

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    8/27

    Application Examples

    Very widely used

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    9/27

    Threadx

    Developed by Express Logic, Inc. by the same the author of

    Nucleus

    Small footprint ( can go as low as 2KB on Microcontrollers)

    True RTOS, Fast and deterministic behavior

    Fast boot time (This is very important for devices that can't

    afford a long boot time)

    Flexible licensing models + Royalty free

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    10/27

    Application Example

    Hewlett-Packard use ThreadX in all of their printers,

    Inkjets

    LaserJets

    All-in-One

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    11/27

    Application Example

    Broadcom use ThreadX in a lot of its Chips for cell phones in

    their communication processors

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    12/27

    VxWorks

    Developed by Wind River Systems, 1987

    Legacy RTOS. Used to be the top OS for Embedded Platforms

    Not used recently for small system, but still considered byheavy Institutions (such as Aerospace and Defense)

    Expensive licensing cost + Royalty cost

    Other OSs with their latest development are catching up

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    13/27

    Application Example

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    14/27

    Application Example

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    15/27

    FREE-OPEN SOURCE OSS

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    16/27

    Is Free Really Free ??

    Free for freedom and not for free drink

    Free means freedom to run, study, copy, modify, distribute

    both the original code and the modified versions

    Free/Open source OSs include:

    The OS itself (the kernel)

    Development tools: Compilers, Debuggers, toolchains,

    Support libraries: C library, XML parsers, Security, command line

    utilities

    Keep in mind the licensing risks (GPL, LGPL, ) Licensing terms

    Might mean you can not have a proprietary system

    Might mean you need to give up your source code

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    17/27

    Advantages of Open Source OS

    Cost perspective

    Kernel, development tools, associated libraries and support tools,

    applications,

    Big community help and support

    Ability to understand and control details of operation

    Availability of online resources and documents

    Fast release cycles

    Ability to influence the future of the OS

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    18/27

    Linux (www.kernel.org)

    Most popular Open Source OS

    Big Community Support

    Distributions Build your own distribution

    Redhat

    Suse Ubuntu

    And many others

    GPL v2.0 License

    Require 32bit processors with MMU

    Highly configurable, RAM and Storage requirements according toconfigurations

    Not a real RTOS

    Sometimes used with patches to support hard real time embeddedapplications (such as RTLinux)

    http://www.kernel.org/http://www.kernel.org/
  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    19/27

    uClinux (www.uclinux.org)

    Started as a port of Linux for systems with,

    Micro-controllers

    Processors without MMU

    Used for simple Embedded devices

    Now highly integrated with the Linux mainstream as a patch

    Used in several devices such as,

    DVD players

    Security cameras

    VoIP phones Scanners

    http://www.uclinux.org/http://www.uclinux.org/
  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    20/27

    eCos (http://ecos.sourceware.org)

    Suitable for smaller embedded systems

    Small footprint, with low requirement on resources

    Modified GPL License to give developer more rights to use it

    without need to GPL his code

    One of the most popular open source RTOS in the world today

    Highly configurable (eCos stands for the "Embedded

    Configurable Operating System")

    Support multi-tasking with priority-based real-time scheduler

    standards based APIs

    True RTOS, Highly deterministic behavior

    Highly portable to most of 32 bits processors

    http://ecos.sourceware.org/http://ecos.sourceware.org/http://ecos.sourceware.org/
  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    21/27

    Application Example

    Sony, Playstation 3 Gaming Console for WiFi support

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    22/27

    Application Example

    Samsung, latest LCD HDTVs (32-70 inch) to support multi-media

    playback via USB2 from cameras, mp3 players and flash drives

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    23/27

    Application Example

    Eye-Fi Wireless SD Cards that use WiFi to transfer images

    between camera and computer

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    24/27

    Nuttx

    First released by Gregory Nutt in 2007 with BSD license

    True RTOS (deterministic)

    Small footprint

    Supports from simple 8 bit processors (such as Zilog Z80) to 32

    bit processors (such as ARM-9, x86)

    Supports C & C++ development

    TCP/IP Stack and USB support

    Support multitasking with FIFO and round-robin scheduling

    Support pre-emption

    Highly configurable

    Supports Standard APIs such as ANSI and POSIX

    Used in MP-3 players, Auto-pilot,

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    25/27

    Application Example

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    26/27What is Next ??

  • 8/10/2019 C 101 Lec 04 a Tour in RTOS Land

    27/27

    To Follow Other Lectures

    https://www.facebook.com/groups/linuxforEmbeddedSystems/

    @Linux4Embedded

    https://groups.google.com/d/forum/linux-for-embedded-systems

    http://www.youtube.com/watch?v=QUZ9YlkfD8o

    http://www.youtube.com/user/Linux4Embedded

    https://www.facebook.com/groups/linuxforEmbeddedSystems/https://twitter.com/Linux4Embeddedhttps://groups.google.com/d/forum/linux-for-embedded-systemshttp://www.youtube.com/watch?v=QUZ9YlkfD8ohttp://www.youtube.com/user/Linux4Embeddedhttp://www.youtube.com/user/Linux4Embeddedhttp://www.youtube.com/watch?v=QUZ9YlkfD8ohttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://groups.google.com/d/forum/linux-for-embedded-systemshttps://twitter.com/Linux4Embeddedhttps://twitter.com/Linux4Embeddedhttps://twitter.com/Linux4Embeddedhttps://www.facebook.com/groups/linuxforEmbeddedSystems/https://www.facebook.com/groups/linuxforEmbeddedSystems/