Programming Embedded Systems in C and C ++

Free Download

Authors:

Edition: 1

ISBN: 1565923545, 9781565923546, 9781565929227

Size: 963 kB (985783 bytes)

Pages: 187/187

File format:

Language:

Publishing Year:

Category: Tags: , ,

Michael Barr1565923545, 9781565923546, 9781565929227

Embedded software is in almost every electronic device designed today. There is software hidden away inside our watches, microwaves, VCRs, cellular telephones, and pagers; the military uses embedded software to guide smart missiles and detect enemy aircraft; communications satellites, space probes, and modern medicine would be nearly impossible without it. Of course, someone has to write all that software, and there are thousands of computer scientists, electrical engineers, and other professionals who actually do.Each embedded system is unique and highly customized to the application at hand. As a result, embedded systems programming is a widely varying field that can take years to master. However, if you have some programming experience and are familiar with C or C++, you’re ready to learn how to write embedded software. The hands-on, no-nonsense style of this book will help you get started by offering practical advice from someone who’s been in your shoes and wants to help you learn quickly.The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Even if you’ve done some embedded programming before, you’ll still benefit from the topics in this book, which include: * Testing memory chips quickly and efficiently * Writing and erasing Flash memory * Verifying nonvolatile memory contents with CRCs * Interfacing to on-chip and external peripherals * Device driver design and implementation * Optimizing embedded software for size and speed”

Table of contents :
Dedication……Page 4
Why I Wrote This Book……Page 5
Intended Audience……Page 6
Organization……Page 7
Conventions, Typographical and Otherwise……Page 8
How to Contact Us……Page 9
Personal Comments and Acknowledgments……Page 10
1.1 What Is an Embedded System?……Page 11
1.1.1 History and Future……Page 12
1.2 Variations on the Theme……Page 13
1.2.1 Digital Watch……Page 16
1.2.3 Mars Explorer……Page 17
1.3 C: The Least Common Denominator……Page 18
1.3.2 Choosing a Language for the Book……Page 19
1.4 A Few Words About Hardware……Page 20
2.1 Hello, World!……Page 22
2.2 Das Blinkenlights……Page 23
2.2.1 toggleLed……Page 24
2.2.2 delay……Page 26
2.3 The Role of the Infinite Loop……Page 27
3.1 The Build Process……Page 28
3.2 Compiling……Page 30
3.3 Linking……Page 32
3.4 Locating……Page 34
3.5 Building das Blinkenlights……Page 36
4.1 When in ROM ………Page 39
4.2 Remote Debuggers……Page 40
4.3 Emulators……Page 44
4.4 Simulators and Other Tools……Page 45
5.1 Understand the Big Picture……Page 48
5.2 Examine the Landscape……Page 50
5.2.1 Memory Map……Page 51
5.2.2 I/O Map……Page 54
5.3 Learn How to Communicate……Page 55
5.3.1 Interrupt Map……Page 56
5.4 Get to Know the Processor……Page 57
5.4.1 Processors in General……Page 58
5.4.2 Intel’s 80188EB Processor……Page 59
5.6 Initialize the Hardware……Page 61
6.1 Types of Memory……Page 64
6.1.1 Types of RAM……Page 65
6.1.2 Types of ROM……Page 66
6.1.3 Hybrid Types……Page 67
6.2.1 Common Memory Problems……Page 68
6.2.2 Developing a Test Strategy……Page 72
6.3.1 Checksums……Page 82
6.3.2 Cyclic Redundancy Codes……Page 83
6.4 Working with Flash Memory……Page 87
6.4.1 Flash Drivers……Page 88
7.1 Control and Status Registers……Page 93
7.2 The Device Driver Philosophy……Page 94
7.3 A Simple Timer Driver……Page 97
7.4 Das Blinkenlights, Revisited……Page 106
8.1 History and Purpose……Page 109
8.2 A Decent Embedded Operating System……Page 110
8.2.1 Tasks……Page 111
8.2.2 Scheduler……Page 115
8.2.3 Context Switch……Page 122
8.2.4 Task Synchronization……Page 124
8.3 Real-Time Characteristics……Page 130
8.4 Selection Process……Page 131
9.1 Application Overview……Page 134
9.2 Flashing the LED……Page 136
9.3 Printing “Hello, World!”……Page 141
9.4 Working with Serial Ports……Page 142
9.5 The Zilog 85230 Serial Controller……Page 149
10.1 Increasing Code Efficiency……Page 151
10.2 Decreasing Code Size……Page 154
10.3 Reducing Memory Usage……Page 156
10.4 Limiting the Impact of C++……Page 157
Appendix A. Arcom’s Target188EB……Page 160
A……Page 161
C……Page 162
D……Page 164
E……Page 166
H……Page 167
I……Page 168
M……Page 170
O……Page 172
P……Page 173
R……Page 176
S……Page 178
V……Page 180
W……Page 181
12.1 Books……Page 182
12.2 Magazines and Conferences……Page 183
12.3 World Wide Web……Page 184
Colophon……Page 186

Reviews

There are no reviews yet.

Be the first to review “Programming Embedded Systems in C and C ++”
Shopping Cart
Scroll to Top