^
Начало
Установить закладку
+ Настройки
14 | 16 | 18 | 20 | 22 | 24
Ширина текста:
50% | 60% | 70% | 80% | 90% | 100%
Шрифт:
Цвет текста:
Установить
Цвет фона:
Установить
Сбросить настройки
Programming Embedded Systems in C and C++
Preface
Why I Wrote This Book
Intended Audience
Organization
Conventions, Typographical and Otherwise
Obtaining the Examples Online
How to Contact Us
Personal Comments and Acknowledgments
Chapter 1. Introduction
1.1 What Is an Embedded System?
1.1.1 History and Future
1.1.2 Real-Time Systems
1.2 Variations on the Theme
1.2.1 Digital Watch
1.2.2 Video Game Player
1.2.3 Mars Explorer
1.3 C: The Least Common Denominator
1.3.1 Other Embedded Languages
1.3.2 Choosing a Language for the Book
1.4 A Few Words About Hardware
Chapter 2. Your First Embedded Program
2.1 Hello, World!
2.2 Das Blinkenlights
2.2.1 toggleLed
2.2.2 delay
2.3 The Role of the Infinite Loop
Chapter 3. Compiling, Linking, and Locating
3.1 The Build Process
3.2 Compiling
3.3 Linking
3.4 Locating
3.5 Building das Blinkenlights
Chapter 4. Downloading and Debugging
4.1 When in ROM …
4.2 Remote Debuggers
4.3 Emulators
4.3.1 ROM Emulators
4.4 Simulators and Other Tools
Chapter 5. Getting to Know the Hardware
5.1 Understand the Big Picture
5.2 Examine the Landscape
5.2.1 Memory Map
5.2.2 I/O Map
5.3 Learn How to Communicate
5.3.1 Interrupt Map
5.4 Get to Know the Processor
5.4.1 Processors in General
5.4.2 Intel's 80188EB Processor
5.5 Study the External Peripherals
5.6 Initialize the Hardware
Chapter 6. Memory
6.1 Types of Memory
6.1.1 Types of RAM
6.1.2 Types of ROM
6.1.3 Hybrid Types
6.2 Memory Testing
6.2.1 Common Memory Problems
6.2.1.1 Electrical wiring problems
6.2.1.2 Missing memory chips
6.2.1.3 Improperly inserted chips
6.2.2 Developing a Test Strategy
6.2.2.1 Data bus test
6.2.2.2 Address bus test
6.2.2.3 Device test
6.2.2.4 Putting it all together
6.3 Validating Memory Contents
6.3.1 Checksums
6.3.2 Cyclic Redundancy Codes
6.4 Working with Flash Memory
6.4.1 Flash Drivers
Chapter 7. Peripherals
7.1 Control and Status Registers
7.2 The Device Driver Philosophy
7.3 A Simple Timer Driver
7.4 Das Blinkenlights, Revisited
Chapter 8. Operating Systems
8.1 History and Purpose
8.2 A Decent Embedded Operating System
8.2.1 Tasks
8.2.1.1 Task states
8.2.1.2 Task mechanics
8.2.2 Scheduler
8.2.2.1 Scheduling points
8.2.2.2 Ready list
8.2.2.3 Idle task
8.2.2.4 Scheduler
8.2.3 Context Switch
8.2.4 Task Synchronization
8.2.4.1 Critical sections
8.3 Real-Time Characteristics
8.4 Selection Process
Chapter 9. Putting It All Together
9.1 Application Overview
9.2 Flashing the LED
9.3 Printing "Hello, World!"
9.4 Working with Serial Ports
9.5 The Zilog 85230 Serial Controller
Chapter 10. Optimizing Your Code
10.1 Increasing Code Efficiency
10.2 Decreasing Code Size
10.3 Reducing Memory Usage
10.4 Limiting the Impact of C++
Appendix A. Arcom's Target188EB
Glossary
A
B
C
D
E
F
G
H
I
L
M
N
O
P
R
S
T
V
W
Bibliography
12.1 Books
12.2 Magazines and Conferences
12.3 World Wide Web
Colophon
