»
Linux for Embedded and Real-time Applications
 
 

Linux for Embedded and Real-time Applications, 3rd Edition

 
Linux for Embedded and Real-time Applications, 3rd Edition,Doug Abbott,ISBN9780124159969
 
 
 

  

Newnes

9780124159969

9780123914330

296

235 X 191

Get hands-on experience of embedded Linux, including Android application development, with this essential update

Print Book + eBook

USD 59.94
USD 99.90

Buy both together and save 40%

Print Book

Paperback

In Stock

Estimated Delivery Time
USD 49.95

eBook
eBook Overview

EPUB format

VST (VitalSource Bookshelf) format

PDF format

USD 49.95
Add to Cart
 
 

Key Features

  • Provides a hands-on introduction for engineers and software developers who need to get up to speed quickly on embedded Linux, its operation and its capabilities – including Android
  • Updated and changed accompanying tools, with a focus on the author’s specially-developed Embedded Linux Learning Kit

Description

This new edition of Linux for Embedded and Real-Time Applications provides a practical introduction to the basics and the latest developments in this rapidly evolving technology. Ideal for those new to using Linux in an embedded environment, it takes a hands-on approach and covers key concepts plus specific applications.

Key features include:

  • Substantially updated to focus on a specific ARM-based single board computer (SBC) as a target for embedded application programming
  • Includes an introduction to Android programming

With this book you will learn:

  • The basics of Open Source, Linux and the embedded space
  • How to set up a simple system and tool chain
  • How to use simulation for initial application testing
  • Network, graphics and Android programming
  • How to use some of the many Linux components and tools
  • How to configure and build the Linux kernel, BusyBox and U-Boot bootloader

Readership

Engineers and software developers involved in embedded computing development; Linux programmers; electrical and computer engineering students

Doug Abbott

Doug Abbott is a consultant with over thirty years’ experience, specializing in hardware and software for industrial and scientific data acquisition and embedded product applications. Doug is also a popular instructor and seminar leader, who teaches classes in PC technology and real-time programming for University of California Berkeley Extension. He has taught the techniques of real-time programming and multi-tasking operating systems to hundreds of professional engineers. Doug Abbott is the principal of Intellimetrix, a consulting firm in Silver City, NM, specializing in hardware and software for industrial and scientific data acquisition and embedded product applications. Among his past and pre-sent clients are Agilent Technologies, Tektronix, Sandia National Laboratory and numerous smaller high-tech com-panies in Silicon Valley. Mr. Abbott has over thirty years experience in various aspects of computer hardware and software design and has been an independent consultant for the past fifteen years. Prior to founding Intellimetrix, he managed software de-velopment for DSP Technology, Inc, a leading supplier of high-speed instrumentation. Doug is also a popular instructor and seminar leader, who teaches classes in PC technology and real-time program-ming for University of California Berkeley Extension. He has taught the techniques of real-time programming and multi-tasking operating systems to hundreds of professional engineers. These classes can also be customized and made available for on-site presentation. Mr. Abbott received an MSEE degree from the University of California at Berkeley.

Affiliations and Expertise

President, Intellimetrix, Inc., Silver City, NM, USA

View additional works by Doug Abbott

Linux for Embedded and Real-time Applications, 3rd Edition

Dedication

Preface

Audience and Prerequisites

Personal Biases

Organization

Part 1: Introduction and Getting Started

Chapter 1. The Embedded and Real-Time Space

What Is Embedded?

What Is Real-Time?

How and Why Does Linux Fit In?

Where Is Linux Embedded?

Open Source Licensing

Resources

Chapter 2. Installing Linux

Distributions

Hardware Requirements

Installation Scenarios

DVD or Live CD?

Installation Process

Resources

Chapter 3. Introducing Linux

Running Linux—KDE

Linux Features

Protected Mode Architecture

The Linux Process Model

The Linux File System

System Configuration

The Shell

Getting Help

Resources

Chapter 4. The Host Development Environment

Cross-Development Tools—The GNU Tool Chain

Install Software

The Terminal Emulator, minicom

Networking

Resources

Chapter 5. The Hardware

Embedded Hardware

ARM Single Board Computer

What About Other Boards?

Setting Up the Mini2440

Flash Memory and File Systems

Preparing the Board

The Boot Loader

Resources

Chapter 6. Eclipse Integrated Development Environment

Overview

Installation

Using Eclipse

The C Development Environment—CDT

The Program

Building the Project

Debugging with CDT

Finish Debugging

Summary

Resources

Part 2: Application Programming in a Cross-Development Environment

Chapter 7. Accessing Hardware from User Space

Review

ARM I/O Architecture

Accessing I/O from Linux—Our First Program

The led Program

A Data Acquisition Example

Resources

Chapter 8. Debugging Embedded Software

Remote Debugging with Eclipse

A Thermostat

Host Workstation as Debug Environment

Debugger Services Framework

Resources

Chapter 9. Posix Threads

Threads

Synchronization—Mutexes

Communication—Condition Variables

Thread Termination and Cancellation

Pthreads Implementations

Upgrading the Thermostat

Debugging Multithreaded Programs

Resources

Chapter 10. Embedded Networking

Sockets

A Simple Example

A Remote Thermostat

Embedded Web Servers

A “Real” Web Server—Boa

Embedded E-mail

Other Application-Level Protocols

Resources

Chapter 11. Configuring and Building the Kernel

Getting Started

Kernel Makefile

Patching the Kernel

Configuring the Kernel—make config, menuconfig, xconfig

Behind the Scenes—What’s Really Happening

Building the Kernel

Booting the New Kernel

Resources

Chapter 12. Kernel Modules and Device Drivers

Kernel Modules

What’s a Device Driver Anyway?

Linux Device Drivers

Debugging Kernel Code

Handling Interrupts

Building Your Driver into the Kernel

Resources

Part 3: Components and Tools

Chapter 13. BusyBox and Linux Initialization

Introducing BusyBox

Configuring and Installing BusyBox

Using BusyBox

A Thermostat Display

User Space Initialization

Resources

Chapter 14. U-Boot Boot Loader and Getting Ready to Ship

U-Boot

Creating a Flash File System

Resources

Chapter 15. Source Code Control—GIT

Background

Introducing Git

Configuring Git

Graphical Git

Resources

Chapter 16. Build Tools

Buildroot

OpenEmbedded

Android

Wrap Up

Resources

Appendix A: U-Boot Commands

Information Commands

Memory Commands

NOR Flash Memory Commands

NAND Flash Memory Commands

Execution Control Commands

Download Commands

Environment Variable Commands

Environment Variables

Appendix B: Why Software Should Not Have Owners

 
 
Free Shipping
Shop with Confidence

Free Shipping around the world
▪ Broad range of products
▪ 30 days return policy
FAQ

Contact Us