Linux for embedded and real-time applications [E-Book] / Doug Abbott
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...
Saved in:
Full text |
|
Personal Name(s): | Abbott, Doug, author |
Edition: |
3rd ed. |
Imprint: |
Oxford :
Newnes,
2012
|
Physical Description: |
1 online resource (384 pages) : illustrations. |
Note: |
englisch |
ISBN: |
0124159966 9780124159969 |
Series Title: |
/* Depending on the record driver, $field may either be an array with
"name" and "number" keys or a flat string containing only the series
name. We should account for both cases to maximize compatibility. */?>
Embedded technology series
|
Subject (LOC): |
- Machine generated contents note: pt. 1 Introduction and Getting Started
- ch. 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
- Resources
- ch. 2 Installing Linux
- Distributions
- Debian GNU/Linux
- Fedora
- Red Hat Enterprise Linux
- SUSE
- Ubuntu
- Hardware Requirements
- Installation Scenarios
- Stand-Alone
- Dual-Booting
- Virtualization
- DVD or Live CD?
- Installation Process
- Disk Partitioning
- Package Selection
- Resources
- ch. 3 Introducing Linux
- Running Linux
- KDE
- File Manager
- Shell Window
- Linux Features
- 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
- The /proc File System
- The Filesystem Hierarchy Standard
- "Mounting" File Systems
- System Configuration
- The Shell
- Getting Help
- Resources
- ch. 4 The Host Development Environment
- Cross-Development Tools
- The GNU Tool Chain
- GCC
- Make
- GDB
- Install Software
- What's on the DVD?
- Install Cross-Tool Chain
- Install Root File System
- The Terminal Emulator, minicom
- Networking
- Network Address
- What About Wireless?
- Network File System
- Trivial File Transfer Protocol
- Resources
- ch. 5 The Hardware
- Embedded Hardware
- ARM Single Board Computer
- Specifications
- What About Other Boards?
- BeagleBoard
- Gumstix
- Raspberry Pi
- Setting Up the Mini2440
- Flash Memory and File Systems
- Flash Memory
- NAND and NOR
- Root File System in Flash
- Preparing the Board
- Sample Code
- Factory_Images
- The Script Files
- The Procedure
- Final Steps
- What Can Go Wrong?
- The Boot Loader
- Resources
- ch. 6 Eclipse Integrated Development Environment
- Overview
- Plug-ins
- Workbench
- Installation
- Using 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
- pt. 2 Application Programming in a Cross-Development Environment
- ch. 7 Accessing Hardware from User Space
- Review
- ARM I/O Architecture
- LEDs and Pushbuttons
- Accessing I/O from Linux
- Our First Program
- Creating a Project
- The Target Execution Environment
- The led Program
- The Makefile
- A Data Acquisition Example
- Resources
- ch. 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
- Add a Password for Root
- Configuring RSE
- Debugging with RSE
- Resources
- ch. 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 Implementations
- Upgrading the Thermostat
- Linux Device Drivers
- The Low Level I/O API
- Changes Required in thermostat
- Debugging Multithreaded Programs
- Resources
- ch. 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
- A Web-Enabled Thermostat
- Dynamic Web Content
- Forms and the POST Method
- Build and Try it
- A "Real" Web Server
- Boa
- Embedded E-mail
- Other Application-Level Protocols
- Resources
- ch. 11 Configuring and Building the Kernel
- Getting Started
- Kernel Version Numbering
- The Kernel Source Tree
- Kernel Makefile
- Patching the Kernel
- 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
- ch. 12 Kernel Modules and Device Drivers
- Kernel Modules
- A Module Example
- "Tainting" the Kernel
- Kernel Modules and the GPL
- Building Kernel Modules
- The Role of a Module
- What's a Device Driver Anyway?
- Linux Device Drivers
- The /dev Directory
- The Low-Level User Space I/O APIs
- Internal Driver Structure
- Driver Data Structures
- init() and exit()
- open() and release()
- read() and write()
- Building and Running the Driver
- Debugging Kernel Code
- printk
- Proc Files
- Handling Interrupts
- Registering an Interrupt Handler
- Probing for the Interrupt
- Deferred Processing
- the "Bottom Half"
- Building Your Driver into the Kernel
- Resources
- pt. 3 Components and Tools
- ch. 13 BusyBox and Linux Initialization
- Introducing BusyBox
- Configuring and Installing BusyBox
- BusyBox Settings
- Applets
- Building and Installing
- Using BusyBox
- A Thermostat Display
- ANSI Terminal Escape Sequences
- Thermostat Display
- Ncurses Library
- User Space Initialization
- Stage 1 Boot Loader
- U-Boot
- Linux Kernel
- Init Process
- Resources
- ch. 14 U-Boot Boot Loader and Getting Ready to Ship
- U-Boot
- Background
- Installing and Configuring U-Boot
- Testing a New U-Boot
- "JTAGing" the NOR
- Creating a Flash File System
- More Thoughts on Flash Partitions
- The Flat Device Tree
- Resources
- ch. 15 Source Code Control
- GIT
- Background
- Introducing Git
- File States and Life Cycle
- Branching and Merging
- Configuring Git
- Graphical Git
- Creating a New Repository
- Resources
- ch. 16 Build Tools
- Buildroot
- OpenEmbedded
- Getting Started
- Personal Observations
- Android
- Application Development
- Platform Development
- Wrap Up
- Resources.