Embedded Linux Sandeep Sirpatil Graduate Student University of North Carolina Charlotte Feb 7, 2005.
-
Upload
nickolas-leonard -
Category
Documents
-
view
214 -
download
0
Transcript of Embedded Linux Sandeep Sirpatil Graduate Student University of North Carolina Charlotte Feb 7, 2005.
Embedded Linux
Sandeep SirpatilGraduate StudentUniversity of North Carolina CharlotteFeb 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
Some Embedded OS flavors VxWorks pSOS QNX Integrity Palm OS Symbian OS
Embedded XP Pocket PC Linux
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)
Architecture of Linux
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
RTLinux Architecture
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
Package version combinations
Host Target Kernel binutils gcc glibc Patchesi386 PPC 2.10.1 2.95.3 2.2.1 NoPPC i386 2.10.1 2.95.3 2.2.3 NoPPC i386 2.13.2.1 3.2.1 2.3.1 No
i386 ARM2.4.1-rmk1 2.10.1 2.95.3 2.1.3 Yes[3]
PPC ARM 2.10.1 2.95.3 2.2.3 Yes[3]
i386 MIPS 2.8.1egcs-1.1.2 2.0.6 Yes[4]
i386 SuperH 2.11.2 3.0.1 2.2.4 Yes[5]Sparc (Solaris) PPC 2.4.0 2.10.1 2.95.2 2.1.3 No
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
Linux choices - 2004
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.
Thank you!