240 likes | 284 Views
Discover the intricacies of Linux in the world of embedded systems, from development tools and market applications to real-time capabilities and features. Uncover the various flavors and special features of Linux and explore the architecture and development tools essential in creating embedded systems. Learn about the market landscape and future considerations in the embedded OS industry.
E N D
Embedded Linux Sandeep Sirpatil Graduate Student University of North Carolina Charlotte Feb 7, 2005
Contents: • What is Linux? • What is an Embedded OS ? • Features of Embedded OS. • Flavors of Embedded OS. • Features Linux • Development tools • Market and applications
What is Linux? • Red Hat, Debian or Suse? • GNU software? • Gnome , KDE or Ximian?
Linux is … • Linux refers to the kernel maintained by Linus Torvalds and distributed under the same name • The current version of kernel is 2.6
What makes a good Embedded OS ? • Modular • Configurable • Scalable • Wide CPU support • Device Drivers • Small size • Etc…
Real Time in OS • The ability of the operating system to provide a required level of service in a bounded response time. – POSIX standard 1003.1 • Hard & Soft Real Time.
What makes a good RTOS? • Multi-threaded and pre-emptible • Must support predictable thread synchronization mechanisms • A system of priority inheritance must exist
VxWorks pSOS QNX Integrity Palm OS Symbian OS Embedded XP Pocket PC Linux Some Embedded OS flavors
Commercial Embedded Linux & RTOS • MontaVista Linux • Lineo - Embedix • Neoware - NeoLinux • Red Hat Embedded Linux • FSMLabs - Open RT Linux • LynuxWorks - BlueCat RT • TimeSys - Linux/Real-Time
Open source Embedded Linux & RTOS • ART Linux • KURT • Embedded Debian Project • uCLinux – For CPU’s without MMU • RTAI • Etc.
Special features of Linux • Source code freely available • Robust and reliable • Modular, configurable, scalable • Good support for Networking • No runtime licenses • Large pool of skilled developers • Free software and tools
Core features of Linux • CPU support (x86, ARM, PowerPC, MIPS,Etc. ) • Busses & Interfaces ( ISA, PCI, PCMCA, VME, Parallel, SCSI, USB, IEEE1394, I2C) • I/O (Keyboard, mouse, Display) • Storage (ATA-ATAPI, DiskOnChip, CFI, RAM, ROM) • File Systems (JFFS, FAT, EXT, NFS, Etc.) • Networking (Ethernet, IrDa, 802.11x)
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
Development tools • Compiler, assembler, linker, etc.. • Commercial • Open Source.
Open Source Tool chain • Kernel headers • gcc – Compiler • binutils – assembler,linker,debugger etc.. • glibc – Libraries • Patches if any
Applications • Industrial Controllers • Mobiles, PDA, Media Centers. • Telecomm and Networking Hardware • Automobile Computers • Robotics • Vision Systems • Etc.
The Embedded OS market 2004 Market Survey done by www.linuxdevices.com
Some hiccups… • Competing and/or lacking standards • No formalized qualification testing • GPL license issues • Lack of hardware device drivers
References • http://www.linuxdevices.com • http://www.embedded-linux.org • http://embedded.linuxjournal.com • http://embedded.com • “Building Embedded Linux Systems” – Karim Yaghmour • Etc.