1. A First Look at Embedded Systems
1.1 Examples of Embedded Systems
1.2 Typical Hardware
Chapter Summary
2. Hardware Fundamentals for the Software Engineer
2.1 Terminology
2.2 Gates
2.3 A Few Other Basic Considerations
2.4 Timing Diagrams
2.5 Memory
Chapter Summary
Problems
3. Advanced Hardware Fundamentals
3.1 Microprocessors
3.2 Buses
3.3 Direct Memory Access
3.4 Interrupts
3.5 Other Common Parts
3.6 Built-Ins on the Microprocessor
3.7 Conventions Used on Schematics
3.8 A Sample Schematic
3.9 A Last Word about Hardware
Chapter Summary
Problems
4. Interrupts
4.1 Microprocessor Architecture
4.2 Interrupt Basics
4.3 The Shared-Data Problem
4.4 Interrupt Latency
Chapter Summary
Problems
5. Survey of Software Architectures
5.1 Round-Robin
5.2 Round-Robin with Interrupts
5.3 Function-Queue-Scheduling Architectur
5.4 Real-Time Operating System Architecture
5.5 Selecting an Architecture
Chapter Summary
Problems
6. Introduction to Real-Time Operating Systems
6.1 Tasks and Task States
6.2 Tasks and Data
6.3 Semaphores and Shared Data
Chapter Summary
Problems
7. More Operating System Services
7.1 Message Queues, Mailboxes, and Pipes
7.2 Timer Functions
7.3 Events
7.4 Memory Management
7.5 Interrupt Routines in an RTOS Environment
Chapter Summary
Problems
8. Basic Design Using a Real-Time Operating System
8.1 Overview
8.2 Principles
8.3 An Example
8.4 Encapsulating Semaphores and Queues
8.5 Hard Real-Time Scheduling Considerations
8.6 Saving Memory Space
8.7 Saving Power
Chapter Summary
Problems
9. Embedded Software Development Tools
9.1 Host and Target Machines
9.2 Linker/Locators for Embedded Software
9.3 Getting Embedded Software into the Target System
Chapter Summary
10. Debugging Techniques
10.1 Testing on Your Host Machine
10.2 Instruction Set Simulators
10.3 The assert Macro
10.4 Using Laboratory Tools
Chapter Summary
Problems
11. An Example System
11.1 What the Program Does
11.2 Environment in Which the Program Operates
11.3 A Guide to the Source Code
11.4 Source Code
Summary
Problems
Afterword
Further Reading
Index