of Building Embedded Linux Systems, Second Edition. Title : Embedded Linux CLICK HERE TO WATCH OFFLINE IN PLAYER CLICK HERE TO WATCH ONLINE IN BROWSER
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.
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
Thread priority has to exist because no deadline driven OS exists Must support predictable thread synchronization mechanisms A system of priority inheritance must exist
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
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
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
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
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
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
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
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
Competing and/or lacking standards No formalized qualification testing No single source for marketing GPL license issues Startup vendors with shaky futures
-- 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
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
Industrial Controllers TV Set Top Boxes (TiVO) Handheld PDA’s Automobile Computers Telecomm and Networking Hardware Myriad and sundry other uses...
Linux Consortium http://www.embedded-linux.org/index.php3 All Linux Devices http://alllinuxdevices.com/ Embedded Linux StarGate http://linux-embedded.com/
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