Book description
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
So whether you're writing your first embedded program, designing the latest generation of hand-held whatchamacalits, or simply managing the people who do, this book is for you.
Table of contents
- Table of Contents
- Preface
- Introduction
- Your First Embedded Program
- Compiling, Linking, and Locating
- Downloading and Debugging
- Getting to Know the Hardware
- Memory
-
Peripherals
- Control and Status Registers
-
The Device Driver Philosophy
- 1. A data structure that overlays the memory-mapped control and status registers of the device
- 2. A set of variables to track the current state of the hardware and device driver
- 3. A routine to initialize the hardware to a known state
- 4. A set of routines that, taken together, provide an API for users of the device driver
- 5. One or more interrupt service routines
- A Simple Timer Driver (1/2)
- A Simple Timer Driver (2/2)
- Das Blinkenlights, Revisited
- Operating Systems
- Putting It All Together
- Optimizing Your Code
- Arcom’s Target188EB
- Glossary (1/3)
- Glossary (2/3)
- Glossary (3/3)
- Bibliography
- Index (1/2)
- Index (2/2)
Product information
- Title: Programming Embedded Systems in C and C++
- Author(s):
- Release date: January 1999
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781565923546
You might also like
video
Embedded Systems Object-Oriented Programming in C and C++
This Embedded Systems Object-Oriented Programming course will help you develop the skills you need to be …
book
Secure Coding in C and C++, Second Edition
Learn the Root Causes of Software Vulnerabilities and How to Avoid Them Commonly exploited software vulnerabilities …
book
Advanced C and C++ Compiling
Learning how to write C/C++ code is only the first step. To be a serious programmer, …
book
Programming with STM32: Getting Started with the Nucleo Board and C/C++
Create your own STM32 programs with ease! Get up and running programming the STM32 line of …