Linux for Embedded and Real-time Applications - 4th Edition - ISBN: 9780128112779, 9780128112786

Linux for Embedded and Real-time Applications

4th Edition

Authors: Doug Abbott
eBook ISBN: 9780128112786
Paperback ISBN: 9780128112779
Imprint: Newnes
Published Date: 15th November 2017
Page Count: 304
Sales tax will be calculated at check-out Price includes VAT/GST
25% off
25% off
25% off
25% off
25% off
20% off
20% off
25% off
25% off
25% off
25% off
25% off
20% off
20% off
25% off
25% off
25% off
25% off
25% off
20% off
20% off
25% off
25% off
25% off
25% off
25% off
20% off
20% off
53.59
40.19
40.19
40.19
40.19
40.19
42.87
42.87
49.95
37.46
37.46
37.46
37.46
37.46
39.96
39.96
45.95
34.46
34.46
34.46
34.46
34.46
36.76
36.76
39.95
29.96
29.96
29.96
29.96
29.96
31.96
31.96
Unavailable
Price includes VAT/GST
× DRM-Free

Easy - Download and start reading immediately. There’s no activation process to access eBooks; all eBooks are fully searchable, and enabled for copying, pasting, and printing.

Flexible - Read on multiple operating systems and devices. Easily read eBooks on smart phones, computers, or any eBook readers, including Kindle.

Open - Buy once, receive and download all available eBook formats, including PDF, EPUB, and Mobi (for Kindle).

Institutional Access

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Description

Linux for Embedded and Real-Time Applications, Fourth Edition, provides a practical introduction to the basics, covering the latest developments in this rapidly evolving technology. Ideal for those new to the use of Linux in an embedded environment, the book takes a hands-on approach that covers key concepts of building applications in a cross-development environment. Hands-on exercises focus on the popular open source BeagleBone Black board. New content includes graphical programming with QT as well as expanded and updated material on projects such as Eclipse, BusyBox – configuring and building, the U-Boot bootloader – what it is, how it works, configuring and building, and new coverage of the Root file system and the latest updates on the Linux kernel..

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 capabilities
  • Covers the popular open source target boards, the BeagleBone and BeagleBone Black
  • Includes new and updated material that focuses on BusyBox, U-Boot bootloader and graphical programming with QT

Readership

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

Table of Contents

Chapter 1: The Embedded and Real-time Space
What is Embedded?
What is Real-Time?
How and Why Does Linux Fit In?
Open Source
 Portable and Scalable
Where is Linux Embedded?
Open Source Licensing
Legal Issues
Alternatives to Linux
 Free RTOS
 MicroC/OS
Resources
Chapter 2: Installing Linux
Distributions
Debian GNU/Linux
Fedora
CentOS
SUSE
Ubuntu
Hardware Requirements
Installation Scenarios
Stand-Alone
Dual-Booting
Virtualization
DVD or Live CD
Installation Process
 Disk Partitioning
 Package Selection
Resources
Chapter 3: Introducing Linux
Running Linux – KDE
 File Manager
 Shell Window
Protected Mode Architecture
Real Mode
Protected Mode
“Flat” vs. Segmented Memory Models
Paging
The Linux Process Model
 The fork() Function
 The execve() Function
The Linux File System
File Permissions
The “root” User
File System Hierarchy Standard
“Pseudo” File Systems
 /proc
 /sys
“Mounting” File Systems
The Shell
Getting Help
man pages
Google
The Linux Documentation Project
Resources
Chapter 4: The Host Development Environment
Cross Toolchains
Getting  and Installing the Toolchain
 Building a Toolchain from Source—crosstool-NG
Network Configuration
Network Address
NFS Server
exports File
The minicom Terminal Emulator
The Target Root File System
Resources
Chapter 5: Eclipse
Overview
 Plug-ins
 Workbench
Obtaining and Installing Eclipse
Starting Eclipse
The C Development Environment – CDT
 Creating a New Project
Adding Source Code to the Project
Content Assist
Code Templates
Automatic Closing
The Program
Building the Project
Debugging with CDT
The Debug View
Variables View
Breakpoints View
Memory View
Finish Debugging
Summary
Resources
Chapter 6: The Hardware
The ARM Architecture
Open Source Hardware
BeagleBoard and Derivatives
Raspberry PI and Derivatives
Arduino
MinnowBoard
Setting Up the Beagle Bone
 Flash Memory and File Systems
Boot the Board
What can go wrong?
Beagle Bone Capes
The bootloader—u-boot
Resources
Part 2: Application Programming in a Cross-Development Environment
Chapter 7: Accessing Hardware from User Space
Review
ARM I/O Architecture
User LEDs
Accessing I/O from Linux—Our First Program
Creating a Yocto Project in Eclipse
The Target Execution Environment
The LED Program
 The Makefile
A Data Acquisition Example
 Accessing the I2C bus
Linux Device Drivers
The Low level I/O API
Resources
Chapter 8: Debugging Embedded Software
Remote Debugging with Eclipse
 Remote Debug Launch Configuration
A Thermostat
Host Workstation as Debug Environment
 Advanced Breakpoint Features
Debugger Services Framework
Installing SSH
Ad a Password for Root
Configuring RSE
Debugging with RSE
Resources
Chapter 9: Posix Threads
Threads
 Thread Attributes
Synchronization—Mutexes
Mutex Attributes
Problems with Solving the Resource Sharing Problem—Priority Inversion
Communication—Condition Variables
 Condition Variable Attributes
Thread Termination and Cancellation
 Cleanup Handlers
Pthreads Implementation
Upgrading the Thermostat
 Changes Required in thermostat.c
Debugging Multithreaded Programs
Resources
Chapter 10: Embedded Networking
Sockets
The Server Process
The Client Process
Socket Attributes
A Simple Example
The Server
The Client
A Remote Thermostat
 Multiple Monitor Threads
Embedded Web Servers
Background on HTTP
The boa Web Server
A Web-enabled Thermostat
Embedded email
Other Application-level Protocols
Resources
Chapter 11: Graphics Programming with QT
Part 3: Components and Tools
Chapter 12: Integrated Build Environments
The Problem
Open Embedded
Yocto
Linaro
Chapter 13: Configuring and Building the Kernel
Getting Started
Kernel Version Numbering
“Upstream” vs “Downstream” kernels
The Kernel Source Tree
Kernel Makefile
Configuring the Kernel—make config, menuconfig, xconfig
xconfig options
.config file
Behind the Scenes—What’s Really happening
Building the Kernel
 Workstation Digression
Booting the New Kernel
Resources
Chapter 14: BusyBox and Linux Initialization
Introducing BusyBox
Configuring and Installing BusyBox
BusyBox Settings
Applets
Building and Installing
Using BusyBox
System Initialization
Stage 1 Boot Loader
U-Boot
Linux Kernel
User Space Initialization
sysinit
systemd
Resources
Chapter 15: U-Boot Boot Loader and Getting Ready to Ship
U-Boot
Background
Configuring and Installing U-Boot
Testing a New U-Boot
Barebox—the successor to u-Boot
Creating a Flash File System
 Thoughts on Flash Partitions
 The Device Tree—Bringing Structure to Hardware Description
Resources
Chapter 16: Source Code Control—GIT
Background
Introducing Git
 File States and Life Cycle
 Branching and Merging
Configuring Git
Graphical Git—Eclipse
 Creaging a New Repository
Resources
Chapter 17: Real-time Linux
What is Real-time
 Hard vs. Soft Real-time
Why isn’t Linux Real-time?
Preemption Improvement
The Linux Scheduler
PREEMPT_RT patch
Interrupt Abstraction
RTAI and RTLinux
Xenomai
ADEOS
Wrap Up
Resources

Details

No. of pages:
304
Language:
English
Copyright:
© Newnes 2018
Published:
Imprint:
Newnes
eBook ISBN:
9780128112786
Paperback ISBN:
9780128112779

About the Author

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

Ratings and Reviews