
Programming Embedded Systems
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Table of Contents
- Foreword
- Preface
- Why We Wrote This Book
- Intended Audience
- Organization
- Conventions, Typographical and Otherwise
- Obtaining the Examples Online
- Using Code Examples
- Comments and Questions
- Safari® Enabled
- Personal Comments and Acknowledgments
- From Michael Barr
- From Anthony Massa
- Introduction
- What Is an Embedded System?
- History and Future
- Real-Time Systems
- Variations on a Theme
- Common System Components
- Requirements That Affect Design Choices
- Embedded Design Examples
- Digital Watch
- Video Game Player
- Mars Rover
- Life As an Embedded Software Developer
- The C Language: The Lowest Common Denominator
- Other Embedded Languages
- Choosing a Language for the Book
- Consistent Coding Practices
- A Few Words About Hardware
- Getting to Know the Hardware
- Understanding the Big Picture
- Hardware Basics
- Schematic Fundamentals
- Examine the Landscape
- Memory Map
- Learn How to Communicate
- Getting to Know the Processor
- Processors in General
- The PXA255 XScale Processor
- Study the External Peripherals
- Initialize the Hardware
- Your First Embedded Program
- Hello, World!
- The Blinking LED Program
- The ledInit Function
- The ledToggle Function
- The delay_ms Function
- The Role of the Infinite Loop
- Compiling, Linking, and Locating
- The Build Process
- Compiling
- Linking
- Startup code
- Locating
- Building the Blinking LED Program
- Compile
- Link and Locate
- Format the Output File
- A Quick Look at Makefiles
- Downloading and Debugging
- Downloading the Blinking LED Program
- Debug Monitors
- RedBoot
- Downloading with RedBoot
- Running programs with RedBoot
- When in ROM.
- Managing ROM with RedBoot
- Remote Debuggers
- Debugging on the Arcom Board
- Emulators
- Other Useful Tools
- Simulators
- Hardware Tools
- Lint
- Version Control
- Dig into the Hardware
- Memory
- Types of Memory
- Types of RAM
- Types of ROM
- Hybrid Types
- Direct Memory Access
- Endian Issues
- Endianness in Devices
- Endianness in Networking
- Memory Testing
- Common Memory Problems
- Electrical wiring problems
- Missing memory chips
- Improperly inserted chips
- Developing a Test Strategy
- Data bus test
- Address bus test
- Device test
- Putting it all together
- Validating Memory Contents
- Checksums
- Cyclic Redundancy Checks
- Using Flash Memory
- Working with Flash Memory
- Flash Drivers
- Peripherals
- Control and Status Registers
- Bit Manipulation
- Testing bits
- Setting bits
- Clearing bits
- Toggling bits
- Shifting bits
- Bitmasks
- Bitfields
- Struct Overlays
- The Device Driver Philosophy
- A Serial Device Driver
- Register interface
- State variables
- Initialization routine
- Device driver API
- Testing the Serial Device Driver
- Extending the Functionality of the Serial Device Driver
- Device Driver Design
- Interrupts
- Overview
- Priorities
- Levels and Edges
- Enabling and Disabling
- Interrupt Map
- Interrupt Service Routine
- Shared Data and Race Conditions
- The Improved Blinking LED Program
- How Timers Work
- Summary of Interrupt Issues
- Putting It All Together
- Application Overview
- Working with Serial Ports
- Command-Line Interface Processing
- Operating Systems
- History and Purpose
- The Scheduler
- Real-Time Scheduling
- Scheduling Points
- Locking and Unlocking
- Tasks
- Task States
- Context switch
- The idle task
- Task Context
- Task Priorities
- Rate monotonic scheduling
- Task Mechanics
- Task Synchronization
- Mutexes and Semaphores
- Deadlock and priority inversion
- Message Passing
- Other Functionality
- Interrupt Handling
- Real-Time Characteristics
- To Use or Not to Use an RTOS
- RTOS Selection Process
- Additional Resources
- eCos Examples
- Introduction
- Task Mechanics
- Mutex Task Synchronization
- Semaphore Task Synchronization
- Message Passing
- eCos Interrupt Handling
- Embedded Linux Examples
- Introduction
- Accessing Hardware in Linux
- Task Mechanics
- Mutex Task Synchronization
- Semaphore Task Synchronization
- Message Passing
- Extending Functionality
- Common Peripherals
- Inter-Integrated Circuit Bus
- Serial Peripheral Interface
- Programmable Logic
- Programmable Logic Device
- Complex Programmable Logic Device
- Field Programmable Gate Array
- Pulse Width Modulation
- Analog circuits
- Digital control
- Networking for All Devices Great and Small
- Benefits of Network Support
- Networking Solutions for Embedded Systems
- Optimization Techniques
- Increasing Code Efficiency
- Decreasing Code Size
- Problems with Optimizing Compilers
- Reducing Memory Usage
- Power-Saving Techniques
- Processor Modes
- Clock Frequency
- External Memory Access
- Limiting the Impact of C++
- The Arcom VIPER-Lite Development Kit
- Setting Up Your Software Development Environment
- Windows Host Installation
- Cygwin Installation
- GNU Software Tools Installation
- Linux Host Installation
- GNU Software Tools Installation
- Example Code Installation
- Building the GNU Software Tools
- Extracting the Source Files
- Building the Toolchain
- Setting Up the eCos Development Environment
- The eCos Build Environment
- eCos Source Code Installation
- Building the eCos Library
- Setting Up the Embedded Linux Development Environment
- Linux Build Environment Setup
- Embedded Linux Examples
- Building the Linux Examples
- Downloading and Running the Linux Examples
- Debugging Embedded Linux Examples
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.