Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Embeded Linux

Embeded Linux

Presentation for Multimedia Computing Course

More Decks by वेणु गोपाल

Other Decks in Technology

Transcript

  1. “Embedded Linux” – The Operating System of choice for the

    Devices and Gadgets of Today Made By Kakarla Venu Gopal for the Multimedia Computing Course CLICK HERE TO START
  2. Need HELP ? •? = Help •|< = Starting Slide

    •< = Previous Slide •> = Next Slide •>| = Last Slide •H = Home
  3. Agenda  What is an embedded Operating System  Who

    are the players  Linux as an embedded OS  Tools and development  Applications and products  The embedded OS market  Embedded OS Resources
  4. Video… Click to Watch…  Speaker : Jon Masters, co-author

    of Building Embedded Linux Systems, Second Edition.  Title : Embedded Linux CLICK HERE TO WATCH OFFLINE IN PLAYER CLICK HERE TO WATCH ONLINE IN BROWSER
  5. OS Flavors Available Today…  Desktop ◦ Windows (XP, Vista)

    ◦ Mac (OSX)  Server ◦ Windows (Server 2008 & Server 2003) ◦ Unix Varieties (Linux, BSD, Solaris, Irix)  Embedded ◦ Many Options…
  6. What is an Embedded OS?  An "embedded system" is

    any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application.  Embedded systems may use a ROM-based operating system or they may use a disk-based system, like a PC. But an embedded system is not usable as a commercially viable substitute for general purpose computers or devices.
  7. What makes a good Embedded OS?  Modular  Scalable

     Configurable  Small footprint  CPU support  Device drivers  etc, etc, etc...
  8. What is Real Time? “A real time system is one

    in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced. If the timing constraints of the system are not met, system failure is said to have occurred.” - Donald Gillies
  9. What is Real Time? “Real time in operating systems: The

    ability of the operating system to provide a required level of service in a bounded response time.” - POSIX Standard 1003.1
  10. Hard vs. Soft Real Time  Hard ◦ Absolutely guarantees

    worst case response times.  Soft ◦ Does not necessarily guarantee worst case response times, but does specify a response time.
  11. What makes a good RTOS?  Multi-threaded and pre-emptible 

    Thread priority has to exist because no deadline driven OS exists  Must support predictable thread synchronization mechanisms  A system of priority inheritance must exist
  12. Who are the Embedded OS players?  Wind River Systems

    ◦ VxWorks ◦ pSOS  QNX Software Systems ◦ QNX  Green Hills Software ◦ Integrity  Mentor Graphics ◦ VRTX  Palm Computing ◦ PalmOS  Symbian ◦ SymbianOS
  13. Microsoft’s Embedded Products  Embedded NT/XP ◦ “Real-time” control 

    Windows CE (CE.NET) ◦ Internet devices  Pocket PC 2002 ◦ Handheld PC’s and PDA’s
  14. Commercial Embedded Linux  AMIRIX Embedded Linux ◦ derived from

    Debian  Coollogic Coollinux ◦ combines Linux and Java for Internet apps  Coventive Xlinux ◦ kernel can be as small as 143KB  Esfia RedBlue Linux ◦ 400K, designed for wireless apps
  15. Commercial Embedded Linux  KYZO Pizza Box Linux ◦ SAMBA

    based file, print, CD server  Lineo Embedix ◦ supports real time and high availability apps  LynuxWorks BlueCat ◦ general purpose embedded solution  MontaVista Linux ◦ general purpose embedded solution
  16. Commercial Embedded Linux  Neoware NeoLinux ◦ Red Hat derived

    for information appliances  PalmPalm Tynux ◦ Internet appliuance and multimedia  Red Hat Embedded Linux ◦ general purpose embedded solution  RedSonic Red-Ice Linux ◦ runs from DiskonChip or CompactFlash
  17. Commercial Embedded Linux  RidgeRun DSP Linux ◦ for multimedia,

    wireless, RT on DSP  TimeSys Linux GPL ◦ low latency enhanced kernel  Tuxia TASTE ◦ distro targets Internet appliances  Vital Systems vLinux ◦ for ARM based embedded apps
  18. Open Source Embedded Linux  Embedded Debian Project ◦ convert

    Debian to an embedded OS  ETLinux ◦ for PC104 SBC’s  uCLinux ◦ for microprocessors that don’t have MM  uLinux (muLinux) ◦ distro fits on a single floppy
  19. Commercial Linux RTOS  FSMLabs - Open RT Linux 

    Lineo - Embedix Realtime  LynuxWorks - BlueCat RT  MontaVista Software - Real Time Extensions  REDSonic - REDICE Linux  TimeSys - Linux/Real-Time
  20. Open Source Linux RTOS  ART Linux - real time

    extension based on RTLinux  KURT - event schedules with 10us resolution  Linux-SRT - for soft real time apps like multimedia  Qlinux - provides Quality of Service guarantees  RTAI - “hard” Real Time Application Interface
  21. RTLinux  A “hard real-time” mini operating system  runs

    Linux as it’s lowest priority execution thread  Linux thread completely preemptible  Real time threads and interrupt handlers never delayed by non-realtime operations  Supports user level programming  MiniRTL implementation fits on a floppy
  22. What’s so special about Linux?  Multiple choices vs. sole

    source  Source code freely available  Robust and reliable  Modular, configurable, scalable  Superb support for networking and Internet  No runtime licenses  Large pool of skilled developers
  23. Problems with Linux  Lack of hardware device drivers 

    Competing and/or lacking standards  No formalized qualification testing  No single source for marketing  GPL license issues  Startup vendors with shaky futures
  24. What CPU’s will it run on?  Intel X86 

    MIPS  ARM  StrongARM  PowerPC  Hitachi SuperH
  25. Single Board Computers  Little Board (5.75 x 8.0 in.)

    -- complete systems on a single compact board, expandable with plug-on function modules  ISA "slot boards" (full-length, 13.8 x 4.8 in.; half-length, 7.1 x 4.8 in.) -- IBM PC plug-in cards which could function as standalone SBCs backplanes)  PC/104 modules (3.6 x 3.8 in.) -- compact, rugged, self-stacking modules featuring a reliable pin-and-socket board- to-board expansion bus
  26. Any Development Tools Available?  QT/Embedded  Other GUI/Windowing toolkits

     Arcom Control Systems  GNUPro Tools  Vendor specific  Standard Linux toolset
  27. C or C++ for Development?  In general C is

    a better choice ◦ Advanced OOP features can cause code bloat ◦ C++ compilers can generate many routines for a single function ◦ Virtual methods and polymorphism slow program launch times significantly  Size really does matter
  28. What’s It Being Used For?  Control and Monitoring Applications

     Industrial Controllers  TV Set Top Boxes (TiVO)  Handheld PDA’s  Automobile Computers  Telecomm and Networking Hardware  Myriad and sundry other uses...
  29. Networking Equipment  Wireless and Wired Routers  Network Allocated

    Storage Devices (NAS)  Network Switches and Hubs
  30. Sharp Zaurus PDA  Lineo Embedix  206 MHz StrongARM

     64 MB DRAM 16MB Flash  3.5” display (320x240) 64K colors  Opera browser & Qtopia  QT/Embedded GUI
  31. TiVO Set Top Box for Digital IPTV  Home grown

    port of Embedded Linux  54MHz PowerPC  Multi GB hard disk
  32. Humanoid Robot ISAMU  Univ. of Tokyo/Kawanda Ind.  Dual

    Pentium CPU  RT-Linux  Height: 53 inches  Weight: 121 lbs.
  33. For Further Info Web Sites  LinuxDevices.com http://www.linuxdevices.com/  Embedded

    Linux Consortium http://www.embedded-linux.org/index.php3  All Linux Devices http://alllinuxdevices.com/  Embedded Linux StarGate http://linux-embedded.com/
  34. For Further Info Web Sites/Magazines  Dr. Dobbs Embedded Systems

    http://www.ddjembedded.com/about/  Embedded Linux Journal http://embedded.linuxjournal.com/  Embedded Systems Programming http://www.embedded.com/mag.htm
  35. Android Features Handset layouts Adaptable to larger, VGA, 2D graphics

    library, 3D graphics library based on OpenGL ES Storage SQLite Connectivity GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth, and Wi-Fi Messaging SMS and MMS Web browser based on the open-source WebKit application framework. Software Software written in Java can run. Media support supports the following audio/video/still media formats: MPEG-4, H.264, MP3, AAC, MIDI, OGG, AMR, JPEG, PNG, GIF. Additional hardware support video/still cameras, touchscreens, GPS, accelerometers, and accelerated 3D graphics. Development environment tools for debugging, memory and performance profiling