1 / 31

Introduction to Embedded Software Development

Introduction to Embedded Software Development. 2. Embedded Operating System. School of software Engineering 2005. Agenda. What is an Embedded OS? Embedded system OS Windows Embedded VxWorks Embedded Linux. Agenda. What is an Embedded OS? Embedded system OS Windows Embedded VxWorks

nemo
Download Presentation

Introduction to Embedded Software Development

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. Introduction to Embedded Software Development 2. Embedded Operating System School of software Engineering 2005

  2. Agenda • What is an Embedded OS? • Embedded system OS • Windows Embedded • VxWorks • Embedded Linux

  3. Agenda • What is an Embedded OS? • Embedded system OS • Windows Embedded • VxWorks • Embedded Linux

  4. Operating System Flavors • Desktop • Windows (9X, XP Home, XP/2000 Pro) • Mac • Server • Windows (XP/2000 Server &Advanced Server) • Unix Varieties • Embedded • Many

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

  6. What makes a good Embedded OS? • Modular • Scalable • Configurable • Small footprint • CPU support • Device drivers • etc, etc, etc...

  7. What makes a good RTOS? • Multi-threaded and preemptible • Thread priority has to exist because no deadline driven OS exists • Must support predictable thread synchronization mechanisms • A system of priority inheritance must exist

  8. Who are the Embedded OS players? • Microsoft • Embedded NT/XP • “Real-time” control • Windows CE (CE.NET) • Internet devices • Pocket PC 2002 • Handheld PC’s and PDA’s • Wind River Systems • VxWorks • pSOS

  9. Who are the Embedded OS players? • Commercial Embedded Linux • AMIRIX Embedded Linux • Coollogic Coollinux • Coventive Xlinux • Esfia RedBlue Linux • KYZO Pizza Box Linux • Lineo Embedix • LynuxWorks BlueCat • MontaVista Linux • ……

  10. Who are the Embedded OS players? • Open Source Embedded Linux • Embedded Debian Project • ETLinux • uCLinux • uLinux (muLinux) • ……

  11. Who are the Embedded OS players? • QNX Software Systems • QNX • Palm PDA • Palm OS • Symbian • Symbian OS • Green Hills Software • Integrity • ……

  12. Agenda • What is an Embedded OS? • Embedded system OS • Windows Embedded • VxWorks • Embedded Linux

  13. Pocket PC • Information consumption • View and some data entry • Integrated PDA with phone • Interoperability with Office, Exchange and SQL Server • .NET Compact Framework • ASP.NET mobile controls • Smartphone • Information consumption • Primarily data viewing • Integrated phone with PDA • Interoperability with Exchange • .NET Compact Framework • ASP.NET mobile controls • Tablet PC • Complex document authoring, editing and active reading • Note taking and ink annotating • Keyboard centric at the desk, pen & keyboard away from the desk • Keyboard, mouse plus pen, ink, and speech input methods • Full .NET framework preinstalled • Pen, ink, handwriting and speech recognition API’s • Smart Personal Objects • One-way network • Information consumption • Notebook PC • Complex document authoring, editing and reading • Keyboard centric at the desk • Keyboard and mouse input methods • Full .NET framework available Windows CE Windows Mobile Windows XP/XPE Microsoft Mobility Platforms Increased Functionality

  14. Windows Embedded Family

  15. Agenda • What is an Embedded OS? • Embedded system OS • Windows Embedded • VxWorks • Embedded Linux

  16. VxWoks • VxWorks is a commercial hard real time operating system developed by wind river systems. • The main idea: use monolithic kernel to schedule user tasks according to user defined priorities. Maximize kernel timing predictability. • Gives the users maximal control.

  17. VxWoks • A dedicated real time system, not intended as a general purpose OS. • lacks many modern os features that interfere with real time performance (flat memory model, no paging).

  18. VxWoks • Scheduling is done using a preemptive priority driven approach, priorities are chosen arbitrarily by the user (0-255). • Priorities can be changed by the user at runtime but this is discouraged. • A user can lock a task so that it can’t be preempted even by higher priority tasks or interrupts. • This allows the use of the fixed priority response time analysis to check schedulability offline.

  19. VxWoks • Is resource sharing aware and has a priority inheritance built in. • Optimizations in implementation of the context switch and the return from interrupts. • The kernel never disables NMI (non-maskable interrupts) so they are always available to the user.

  20. VxWoks - limitations • Lacks many modern OS features. • Guaranteeing the deadlines is the responsibility of the user at design time. • Doesn’t support most modern applications and APIs (only a small subset of POSIX). • Despite the flat memory model dynamic memory allocation still cases memory fragmenting, which increases timing unpredictability.

  21. VxWoks - limitations • A dedicated and widely used real time system. • Offers the user maximal control , but also passes him responsibility for the deadlines.

  22. Tornado —— Development tools

  23. GDB —— Debugger

  24. WindView—— Tracer and Analyzer

  25. Agenda • What is an Embedded OS? • Embedded system OS • Windows Embedded • VxWorks • Embedded Linux

  26. outline • A simple view of embedded Linux • Developing process of an embedded devices with embedded Linux • Embedded Linux VS windows CE

  27. Embedded Linux in various devices: NASA personal assistant

  28. Developing Process Rehat,bluecat,RTLinux,Monta Vista Linux,RTAI,… Linux OS select From system design test http://linux.orghttp://www.gnu.org… OS Porting and improvement Driver and Application software development Tekram,HP,Intel,…

  29. Windows embedded VS Linux Embedded Not all embedded windows products Very cheap Royalty Development environment better disagree Functions more disagree shorter Market on time Not sure Developers more Not sure Hardware support equivalency Linux better Argument between Jerry Krasner and Rick Rehrbraum

  30. Windows embedded VS Cont. Linux Embedded Both on strong uptake curve! Oses targeted in current and next embedded projects,2002,data from EDC

  31. Homework What is an embedded Linux?Give some examples. What are the features of embedded Windows compared with embedded Linux? What are the differences of the development processes when you use windows CE and use embedded Linux?

More Related