LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code needed.
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 technolog… Read more
LIMITED OFFER
Immediately download your ebook while waiting for your print delivery. No promo code needed.
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:
With this book you will learn:
Engineers and software developers involved in embedded computing development; Linux programmers; electrical and computer engineering students
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
DA
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.