Embedded Linux System Design and Development

Total Page:16

File Type:pdf, Size:1020Kb

Embedded Linux System Design and Development Au0586 half title page 11/17/05 2:05 PM Page 1 EMBEDDED LINUX SYSTEM DESIGN AND DEVELOPMENT Au0586 title page 11/17/05 2:04 PM Page 1 EMBEDDED LINUX SYSTEM DESIGN AND DEVELOPMENT TEAM FLY P. Raghavan • Amol Lad • Sriram Neelakandan Boca Raton New York Published in 2006 by Auerbach Publications Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2006 by Taylor & Francis Group, LLC Auerbach is an imprint of Taylor & Francis Group No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10987654321 International Standard Book Number-10: 0-8493-4058-6 (Hardcover) International Standard Book Number-13: 978-0-8493-4058-1 (Hardcover) Library of Congress Card Number 2005048179 This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use. No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC) 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Library of Congress Cataloging-in-Publication Data Raghavan, P. (Pichai), 1973- Embedded Linux system design and development / P. Raghavan, Amol Lad, Sriram Neelakandan. p. cm. Includes bibliographical references and index. ISBN 0-8493-4058-6 (alk. paper) 1. Linux. 2. Operating systems (Computers) 3. Embedded computer systems. I. Lad, Amol. II. Neelakandan, Sriram. III. Title. QA76.76.O63R335 2005 005.4'32--dc22 2005048179 Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com Taylor & Francis Group and the Auerbach Publications Web site at is the Academic Division of T&F Informa plc. http://www.auerbach-publications.com All source code in the book is released under GNU GPL v2. It can be used as desired under terms and conditions of GNU GPL v2. Trademarks Ⅲ MIPS is a registered trademark and YAMON is a trademark of MIPS Technologies. Ⅲ IBM and ClearCase are registered trademarks and PowerPC is a trademark of International Business Machines Corporation. Ⅲ UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited. Ⅲ X11 is a trademark of Massachusetts Institute of Technology. Ⅲ NEC is a registered trademark of NEC Corporation Ⅲ HP is a registered trademark of Hewlett-Packard Company. Ⅲ ColdFire is a registered trademark and Motorola is a trademark of Motorola, Inc Ⅲ Microblaze is trademark of Xilinx Inc Ⅲ Red Hat is a registered trademark and eCos and RedBoot are trademarks of Red Hat, Inc. Ⅲ uClinux is a registered trademark of Arcturus Networks Inc Ⅲ Linux is a registered trademark of Linus Torvalds Ⅲ GoAhead is a registered trademark of GoAhead Software, Inc Ⅲ RTLinux is a registered trademark and FSMLabs, RTLinuxPro and RTCore are trademarks of Finite State Machine Labs, Inc Ⅲ Debian is a registered trademark of Software in the Public Interest, Inc Ⅲ LMBench is a trademark of BitMover, Inc Ⅲ VRTX is a trademark of Microtech Research Inc Ⅲ VxWorks and pSOS are registered trademarks of Wind River Systems, Inc Ⅲ Trolltech is registered trademark and Qt is a trademark of Trolltech in Norway, the United States and other countries Ⅲ OpenGL is a registered trademark of Silicon Graphics, Inc Ⅲ Perforce is a registered trademark of Perforce Software, Inc Ⅲ Eclipse is trademark of Eclipse Foundation, Inc Ⅲ KDE and K Desktop Environment are trademarks of KDE Ⅲ FFmpeg is a trademark of Fabrice Bellard, originator of the FFmpeg project Ⅲ NVIDIA is a registered trademark of NVIDIA Corporation in the United States and other countries Ⅲ ViewML is a registered trademark of Century Software Inc Ⅲ QNX and Neutrino are registered trademarks of QNX Software Systems Ltd Ⅲ Nucleus is a trademark of Accelerated Technology, Inc Ⅲ Accelerated Technology is a registered trademark of Mentor Graphics Corporation Ⅲ ARM and StrongARM are registered trademarks and ARM7 and ARM9 are trademarks of Advanced RISC Machines, Ltd. Ⅲ AMD is a registered trademark of Advanced Micro Devices, Inc. Ⅲ Intel and Pentium are registered trademarks and i386 and XScale are trademarks of Intel Corporation. Ⅲ Sharp is a registered trademark of Sharp Electronics Corp. Ⅲ SPARC is a registered trademark of SPARC International, Inc., and is used under license by Sun Microsystems, Inc. Ⅲ Toshiba is a registered trademark of the Toshiba Corporation. Ⅲ MontaVista is registered trademark of MontaVista Software Inc. Ⅲ LynxOS and BlueCat are registered trademarks and LynuxWorks, SpyKer and VisualLynux are trademarks of LynuxWorks, Inc. Ⅲ Samsung is a registered trademark of Samsung Electronics America, Inc. and its related entities. Ⅲ Ericsson is a registered trademark of Ericsson, Inc. Ⅲ Atmel is registered trademarks of Atmel Corporation. Ⅲ TimeSys®, TimeStorm®, TimeStorm IDE™, TimeStorm LVS™, TimeStorm LDS™, TimeStorm LHD™, TimeSys Reservations™, TimeTrace®, Linux/RTTM and TimeWiz® are registered or unregistered trademarks of TimeSys Corporation in the United States and other countries. Ⅲ NeoMagic is registered trademark of NeoMagic Corporation. Ⅲ Transmeta is a trademark of Transmeta Corporation. Ⅲ Broadcom is a registered trademark of Broadcom Corporation and/or its subsidiaries. Ⅲ SuSE is a registered trademark of SuSE AG. vi Embedded Linux System Design and Development Ⅲ Borland is a registered trademark of Borland Software Corporation in the United States and other countries. Ⅲ Merant is a registered trademark of Merant. Ⅲ SnapGear is a registered trademark of SnapGear Inc. Ⅲ Matsushita is a trademark of the Matsushita Electric Corporation. Ⅲ I2C is a trademark of Philips Semiconductors Corporation. Ⅲ Philips® is a registered trademark of Philips Consumer Electronics Corporation. Ⅲ Cadenux is a trademark of Cadenux, LLC. Ⅲ ELinOS is a registered trademark of SYSGO AG. Ⅲ Metrowerks and CodeWarrior are trademarks of Metrowerks Corp. in the U.S. or other countries. Ⅲ FreeBSD is a registered trademark of the FreeBSD Foundation. Ⅲ IEEE and POSIX are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States. Ⅲ Xtensa is a trademark belonging to Tensilica Inc. Ⅲ Fujitsu is a registered trademark of Fujitsu, Ltd. Ⅲ Firewire is a registered trademark of Apple computer. Ⅲ SuperH is a trademark of Hitachi, Ltd. Ⅲ Windows, WinCE and Microsoft are registered trademarks and MS-DOS and DirectX .are trademarks of Microsoft Corporation. Ⅲ Solaris and Java are registered trademarks and ChorusOS is a trademark of Sun Microsystems, Inc. in the U.S. or other countries. Ⅲ Symbian is a trademark of Symbian Ltd. Dedication Raghavan In memory of my late father Amol To Lord Krsna,... my parents, my wife Parul, and my brother Amit Sriram To my family and all Linux enthusiasts vii Contents 1 Intr oduction ............................................................................................. 1 1.1 History of Embedded Linux .................................................... 2 1.1.1 Year 1999 ..................................................................... 3 1.1.2 Year 2000 ..................................................................... 4 1.1.3 Year 2001 ..................................................................... 4 1.1.4 Year 2002 ..................................................................... 5 1.1.5 Year 2003 ..................................................................... 6 1.1.6 Year 2004 ..................................................................... 6 1.2 Why Embedded Linux? ............................................................ 7 1.2.1 Vendor Independence................................................. 7 1.2.2 Time to Market............................................................ 8 1.2.3 Varied Hardware Support ........................................... 8 1.2.4 Low Cost ...................................................................... 8 1.2.5 Open Source................................................................ 9 1.2.6 Standards (POSIX®) Compliance............................. 10 1.3 Embedded Linux Versus Desktop Linux .............................. 10 1.4 Frequently Asked Questions.................................................. 11 1.4.1 Is Linux Too Large?................................................... 11 1.4.2 Is Linux Real-Time Enough?..................................... 11 1.4.3 How Can I Protect My Proprietary Software?......... 12 1.4.4 Should I Buy a Commercial Embedded Linux Distribution?....................................................
Recommended publications
  • Sistemi Operativi Real-Time Marco Cesati Lezione R13 Sistemi Operativi Real-Time – II Schema Della Lezione
    Sistemi operativi real-time Marco Cesati Lezione R13 Sistemi operativi real-time – II Schema della lezione Caratteristiche comuni VxWorks LynxOS Sistemi embedded e real-time QNX eCos Windows Linux come RTOS 15 gennaio 2013 Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT’13 R13.1 Sistemi operativi Di cosa parliamo in questa lezione? real-time Marco Cesati In questa lezione descriviamo brevemente alcuni dei più diffusi sistemi operativi real-time Schema della lezione Caratteristiche comuni VxWorks LynxOS 1 Caratteristiche comuni degli RTOS QNX 2 VxWorks eCos 3 LynxOS Windows Linux come RTOS 4 QNX Neutrino 5 eCos 6 Windows Embedded CE 7 Linux come RTOS SERT’13 R13.2 Sistemi operativi Caratteristiche comuni dei principali RTOS real-time Marco Cesati Corrispondenza agli standard: generalmente le API sono proprietarie, ma gli RTOS offrono anche compatibilità (compliancy) o conformità (conformancy) allo standard Real-Time POSIX Modularità e Scalabilità: il kernel ha una dimensione Schema della lezione Caratteristiche comuni (footprint) ridotta e le sue funzionalità sono configurabili VxWorks Dimensione del codice: spesso basati su microkernel LynxOS QNX Velocità e Efficienza: basso overhead per cambi di eCos contesto, latenza delle interruzioni e primitive di Windows sincronizzazione Linux come RTOS Porzioni di codice non interrompibile: generalmente molto corte e di durata predicibile Gestione delle interruzioni “separata”: interrupt handler corto e predicibile, ISR lunga
    [Show full text]
  • Current Status of Win32 Gdk Implementation
    Current status of Win32 Gdk implementation Bertrand Bellenot - [email protected] Features (recall) ! Same environment on every system : ! Same look and feel on every platform. ! Simplify the code maintenance : ! No need to care about a « windows specific code ». ! Simplify functionality extension : ! No need to implement the code twice, once for windows and once for other OS. ! Only use TVirtualX. Actual Status (recall) ! The actual code uses a modified version of gdk and glib, the GIMP low-level libraries ported on win32. In practice, this means that we only need to link with gdk.lib, glib.lib and iconv.dll as additional libraries (hopefully less in the future). These libraries are under LGPL, so there are no licensing issues in using and distributing them. ! As original version of gdk was not doing everything needed by root (as font orientation!), I did have to slightly modify the original code. Points fixed since last year ! Some characters were not displayed. " ! Some problems with icon’s transparency. " ! The event handling was not perfect. " ! OpenGL was not working. " Events handling architecture (actual) TSystem CINT TGClient TVirtualX Gdk Threads issue ! From gdk developper FAQ : ! Without some major restructuring in GDK-Win32, I don't think there is any chance that GTK+ would work, in general, in a multi-threaded app, with different threads accessing windows created by other threads. ! One problem is that each thread in Windows have its own message queue. GDK-Win32 currently uses just one "message pump" in the main thread. It will never see messages for windows created by other threads. Threads issue ! As gdk is not thread safe, I had to create a separate thread from within the gdk calls are made.
    [Show full text]
  • The GNOME Desktop Environment
    The GNOME desktop environment Miguel de Icaza ([email protected]) Instituto de Ciencias Nucleares, UNAM Elliot Lee ([email protected]) Federico Mena ([email protected]) Instituto de Ciencias Nucleares, UNAM Tom Tromey ([email protected]) April 27, 1998 Abstract We present an overview of the free GNU Network Object Model Environment (GNOME). GNOME is a suite of X11 GUI applications that provides joy to users and hackers alike. It has been designed for extensibility and automation by using CORBA and scripting languages throughout the code. GNOME is licensed under the terms of the GNU GPL and the GNU LGPL and has been developed on the Internet by a loosely-coupled team of programmers. 1 Motivation Free operating systems1 are excellent at providing server-class services, and so are often the ideal choice for a server machine. However, the lack of a consistent user interface and of consumer-targeted applications has prevented free operating systems from reaching the vast majority of users — the desktop users. As such, the benefits of free software have only been enjoyed by the technically savvy computer user community. Most users are still locked into proprietary solutions for their desktop environments. By using GNOME, free operating systems will have a complete, user-friendly desktop which will provide users with powerful and easy-to-use graphical applications. Many people have suggested that the cause for the lack of free user-oriented appli- cations is that these do not provide enough excitement to hackers, as opposed to system- level programming. Since most of the GNOME code had to be written by hackers, we kept them happy: the magic recipe here is to design GNOME around an adrenaline response by trying to use exciting models and ideas in the applications.
    [Show full text]
  • GTK Lesson 3: Containers
    CSci493.70 Graphical User Interface Programming Prof. Stewart Weiss Lesson 3: Containers Lesson 3: Containers 1 Container Widgets and Packing When you design an application with a graphical user interface, you put various widgets inside of one another and implicitly dene a hierarchy of what's inside of what. This is a containment hierarchy. Some of the widgets you use have specic purposes, such as buttons, text entry boxes, and menus. If you design your GUI on paper, you draw these widgets where you want them and making them the sizes that you want them to be. However, getting them to be in those specic positions with their specic sizes using a library like GTK+ requires that you use widgets whose primary purpose is for laying out other widgets. These widgets are called container widgets. In Lesson 2, we introduced the GtkContainer class, which is the ancestral class of all container widgets and which we now cover in more detail. Recall that containers can be partitioned into two categories: (1) those that can hold only a single child widget, and (2) those that can hold more than one. Containers that can contain only a single widget are called decorator containers, because their principal purpose is to add functionality and decorative eects to the child widget. Containers that can hold several children are called layout containers, because they are used primarily for laying out the child widgets within their (GDK) windows. Layout containers assign sizes and positions to their children. 1.1 The GtkContainer Class Before we look at their concrete subclasses, we will examine what functionality and properties GtkContainers possess.
    [Show full text]
  • Drawing in GTK+
    CSci493.70 Graphical User Interface Programming Prof. Stewart Weiss Drawing in GTK+ Drawing in GTK+ Background In order to understand how to draw in GTK, you rst have to understand something about how GTK draws widgets, because how GTK draws widgets has an important role in how you design your drawing application. An understanding of how GTK draws widgets is also required if you ever plan to build your own custom widgets. Windows and Clipping Most windowing systems are designed around the idea that an application's visual display lies within a rectangular region on the screen called its window. The windowing system, e.g. Gnome or KDE or Explorer, does not automatically save the graphical content of an application's windows; instead it asks the application itself to repaint 1 its windows whenever it is needed. For example, if a window that is stacked below other windows gets raised to the top, then a client program has to repaint the area that was previously obscured. When the windowing system asks a client program to redraw part of a window, it sends an exposure event to the program that contains that window. An exposure event is simply an event sent from the underlying windowing system to a widget to notify it that it must redraw itself. In this context, a "window" means "a rectangular region with automatic clipping", not a top-level application window. Clipping is the act of removing portions of a window that do not need to be redrawn, or looked at the other way, it is determining which are the only regions of a window that must be redrawn.
    [Show full text]
  • Embedded Linux Training
    Free Electrons Embedded Linux training Gregory Clement Thomas Petazzoni Michael Opdenacker Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Rights to copy © Copyright 2004-2011, Free Electrons [email protected] Electronic version of this document available on http://free-electrons.com/doc/training/embedded-linux Updates will be available on http://free-electrons.com/doc/training/embedded-linux/ Attribution ± ShareAlike 3.0 Corrections, suggestions, You are free contributions and translations are welcome! to copy, distribute, display, and perform the work to make derivative works Latest update: Feb 14, 2011 to make commercial use of the work Under the following conditions Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by-sa/3.0/legalcode Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Linux kernel Linux device drivers Free Electrons Board support code Our services Mainstreaming kernel code Kernel debugging Custom Development System integration
    [Show full text]
  • Operating System Structure
    Operating System Structure Joey Echeverria [email protected] modified by: Matthew Brewer [email protected] Nov 15, 2006 Carnegie Mellon University: 15-410 Fall 2006 Overview • Motivations • Kernel Structures – Monolithic Kernels ∗ Kernel Extensions – Open Systems – Microkernels – Exokernels – More Microkernels • Final Thoughts Carnegie Mellon University: 15-410 Fall 2006 1 Motivations • Operating systems have a hard job. • Operating systems are: – Hardware Multiplexers – Abstraction layers – Protection boundaries – Complicated Carnegie Mellon University: 15-410 Fall 2006 2 Motivations • Hardware Multiplexer – Each process sees a “computer” as if it were alone – Requires allocation and multiplexing of: ∗ Memory ∗ Disk ∗ CPU ∗ IO in general (network, graphics, keyboard etc.) • If OS is multiplexing it must also allocate – Priorities, Classes? - HARD problems!!! Carnegie Mellon University: 15-410 Fall 2006 3 Motivations • Abstraction Layer – Presents “simple”, “uniform” interface to hardware – Applications see a well defined interface (system calls) ∗ Block Device (hard drive, flash card, network mount, USB drive) ∗ CD drive (SCSI, IDE) ∗ tty (teletype, serial terminal, virtual terminal) ∗ filesystem (ext2-4, reiserfs, UFS, FFS, NFS, AFS, JFFS2, CRAMFS) ∗ network stack (TCP/IP abstraction) Carnegie Mellon University: 15-410 Fall 2006 4 Motivations • Protection Boundaries – Protect processes from each other – Protect crucial services (like the kernel) from process – Note: Everyone trusts the kernel • Complicated – See Project 3 :) – Full
    [Show full text]
  • Pygtk GUI Programming Pygtk GUI Programming Table of Contents Pygtk GUI Programming
    PyGTK GUI programming PyGTK GUI programming Table of Contents PyGTK GUI programming...............................................................................................................................1 Chapter 1. Introduzione....................................................................................................................................2 1.1. Primo approccio...............................................................................................................................2 1.2. Il toolkit PyGTK..............................................................................................................................2 1.3. PyGTK e Glade................................................................................................................................2 1.4. IDE o editor......................................................................................................................................4 1.5. Installazione.....................................................................................................................................6 1.5.1. Installazione su piattaforma GNU/Linux...............................................................................6 1.5.2. Installazione su piattaforma Windows...................................................................................6 1.6. Supporto e help................................................................................................................................6 Chapter 2. I Widget, le classi ed un
    [Show full text]
  • Workstation Operating Systems Mac OS 9
    15-410 “Now that we've covered the 1970's...” Plan 9 Nov. 25, 2019 Dave Eckhardt 1 L11_P9 15-412, F'19 Overview “The land that time forgot” What style of computing? The death of timesharing The “Unix workstation problem” Design principles Name spaces File servers The TCP file system... Runtime environment 3 15-412, F'19 The Land That Time Forgot The “multi-core revolution” already happened once 1982: VAX-11/782 (dual-core) 1984: Sequent Balance 8000 (12 x NS32032) 1985: Encore MultiMax (20 x NS32032) 1990: Omron Luna88k workstation (4 x Motorola 88100) 1991: KSR1 (1088 x KSR1) 1991: “MCS” paper on multi-processor locking algorithms 1995: BeBox workstation (2 x PowerPC 603) The Land That Time Forgot The “multi-core revolution” already happened once 1982: VAX-11/782 (dual-core) 1984: Sequent Balance 8000 (12 x NS32032) 1985: Encore MultiMax (20 x NS32032) 1990: Omron Luna88k workstation (4 x Motorola 88100) 1991: KSR1 (1088 x KSR1) 1991: “MCS” paper on multi-processor locking algorithms 1995: BeBox workstation (2 x PowerPC 603) Wow! Why was 1995-2004 ruled by single-core machines? What operating systems did those multi-core machines run? The Land That Time Forgot Why was 1995-2004 ruled by single-core machines? In 1995 Intel + Microsoft made it feasible to buy a fast processor that fit on one chip, a fast I/O bus, multiple megabytes of RAM, and an OS with memory protection. Everybody could afford a “workstation”, so everybody bought one. Massive economies of scale existed in the single- processor “Wintel” universe.
    [Show full text]
  • In-Circuit Emulator for ARM7
    ICE-ARM Technical Information Technical In-Circuit Emulator for ARM7 ■ Active, passive and tracking emulation supported ■ Interface for flexible adaption to ARM7TDMI based designs ■ Software compatible JTAG debugger available ■ HLL debugger with C and C++ support ■ Disassembler for ARM and THUMB code ■ Inline assembler for ARM and THUMB code ■ Little and big endian byte ordering ■ Support for pipelined and de-pipelined address timing ARM7TDMI ■ Operation from 3.0 to 5.0V in passive mode ARM7TDMI-AMBA and from 3.0 to 3.6V in active and tracking mode The TRACE32-ICEARM supports the ARM7TDMI macro- cell with and without AMBA interface. The flexible concept of the probe allows the adaption to customer specific ASICs or to standard microcontrollers. An extensive spec- ification is available that provides a detailed overview of our requirements. Please call or email our techinal sup- port to get this document. ICE-ARM 21.02.17 TRACE32 - Technical Information 2 In-Circuit Emulator Basics of Operation Emulation Bus Break Exception Control Control Strobe/ Emulation- Dualport Target Buffer CPU Control Control Voltage Wait Control Control Port Port Buffer Analyzer Emulation module Base module Emulation Modules Modules Overview LA-7230 LA-7231 ARM7TDMI ARMICE-240 LA-7232 ARM7TDMI-AMBA ARMICE-240 ICE-ARM In-Circuit Emulator TRACE32 - Technical Information 3 Interfaces Compiler CPU Language Compier Compan Option y ARM C ARMCC ARM Ltd. AIF ARM C ARMCC ARM Ltd. ELF/DWARF ARM C REALVIEW- ARM Ltd. ELF/DWARF2 MDK ARM C GCCARM Free COFF/STABS Software Foundati on, Inc. ARM C GCCARM Free ELF/DWARF2 Software Foundati on, Inc.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Real-Time and Embedded Guide
    Real-Time and Embedded Guide Herman Bruyninckx K.U.Leuven, Mechanical Engineering Leuven Belgium [email protected] Real-Time and Embedded Guide by Herman Bruyninckx Copyright © 2000, 2001, 2002 [email protected] This Guide covers the fundamentals of (i) real-time and embedded operating systems (focusing mostly on the differences with general purpose operating systems such as Linux), and (ii) real-time programming. The emphasis is on Free Software and Open Source Software examples: RTAI, RTLinux, eCos, RT-EMS, uCLinux, . , with a more than proportional focus on RTAI. This text also talks about design issues, software patterns and frameworks for real-time applications. That is, the “high-level” aspects of these software projects. These higher levels are often poorly dealt with in publications on real-time programming, which leads to the unfortunate situation that still too many real-time programmers use only the powerful but dangerously unstructured API of their RTOS. Missing the chance to develop more structured, and, hence, more deterministic and more portable software systems. Both the low-level RTOS primitives, and the high-level design issues, are illustrated by the real-world example of a hard real-time core for feedback control and signal processing. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation, with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of this license can be found at http://www.fsf.org/copyleft/fdl.html.
    [Show full text]