| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
About This Book and the Accompanying CD-ROM | |
| |
| |
| |
A First Look at Embedded Systems | |
| |
| |
Examples of Embedded Systems | |
| |
| |
Typical Hardware | |
| |
| |
Chapter Summary | |
| |
| |
| |
Hardware Fundamentals for the Software Engineer | |
| |
| |
Terminology | |
| |
| |
Gates | |
| |
| |
A Few Other Basic Considerations | |
| |
| |
Timing Diagrams | |
| |
| |
Memory | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
Advanced Hardware Fundamentals | |
| |
| |
Microprocessors | |
| |
| |
Buses | |
| |
| |
Direct Memory Access | |
| |
| |
Interrupts | |
| |
| |
Other Common Parts | |
| |
| |
Built-Ins on the Microprocessor | |
| |
| |
Conventions Used on Schematics | |
| |
| |
A Sample Schematic | |
| |
| |
A Last Word about Hardware | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
Interrupts | |
| |
| |
Microprocessor Architecture | |
| |
| |
Interrupt Basics | |
| |
| |
The Shared-Data Problem | |
| |
| |
Interrupt Latency | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
Survey of Software Architectures | |
| |
| |
Round-Robin | |
| |
| |
Round-Robin with Interrupts | |
| |
| |
Function-Queue-Scheduling Architecture | |
| |
| |
Real-Time Operating System Architecture | |
| |
| |
Selecting an Architecture | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
Introduction to Real-Time Operating Systems | |
| |
| |
Tasks and Task States | |
| |
| |
Tasks and Data | |
| |
| |
Semaphores and Shared Data | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
More Operating System Services | |
| |
| |
Message Queues, Mailboxes, and Pipes | |
| |
| |
Timer Functions | |
| |
| |
Events | |
| |
| |
Memory Management | |
| |
| |
Interrupt Routines in an RTOS Environment | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
Basic Design Using a Real-Time Operating System | |
| |
| |
Overview | |
| |
| |
Principles | |
| |
| |
An Example | |
| |
| |
Encapsulating Semaphores and Queues | |
| |
| |
Hard Real-Time Scheduling Considerations | |
| |
| |
Saving Memory Space | |
| |
| |
Saving Power | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
Embedded Software Development Tools | |
| |
| |
Host and Target Machines | |
| |
| |
Linker/Locators for Embedded Software | |
| |
| |
Getting Embedded Software into the Target System | |
| |
| |
Chapter Summary | |
| |
| |
| |
Debugging Techniques | |
| |
| |
Testing on Your Host Machine | |
| |
| |
Instruction Set Simulators | |
| |
| |
The assert Macro | |
| |
| |
Using Laboratory Tools | |
| |
| |
Chapter Summary | |
| |
| |
Problems | |
| |
| |
| |
An Example System | |
| |
| |
What the Program Does | |
| |
| |
Environment in Which the Program Operates | |
| |
| |
A Guide to the Source Code | |
| |
| |
Source Code | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
Afterword | |
| |
| |
Further Reading | |
| |
| |
Index. 020161569XT04062001 | |