MTU Cork Library Catalogue

Syndetics cover image
Image from Syndetics

Programming embedded systems in C and C++ / Michael Barr.

By: Barr, Michael, 1971- [author.].
Contributor(s): Oram, Andrew [author.].
Material type: materialTypeLabelBookPublisher: Sebastopol, CA : O'Reilly, 1999Description: xvii, 174 pages : illustrations ; 24 cm.Content type: text Media type: unmediated Carrier type: volumeISBN: 1565923545 (paperback).Subject(s): Embedded computer systems -- Programming | C (Computer program language) | C++ (Computer program language)DDC classification: 005.133 BAR
Contents:
Introduction -- Your first embedded program -- Compiling, Linking and Locating -- Downloading and Debugging -- Getting to know the hardware -- Memory -- Peripherals -- Operating systems -- Putting it all together -- Optimizing your code.
Holdings
Item type Current library Call number Copy number Status Date due Barcode Item holds
General Lending MTU Bishopstown Library Lending 005.133 BAR (Browse shelf(Opens below)) 1 Available 00075694
Total holds: 0

Enhanced descriptions from Syndetics:

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.

Bibliography: (pages 165-168) and index.

Introduction -- Your first embedded program -- Compiling, Linking and Locating -- Downloading and Debugging -- Getting to know the hardware -- Memory -- Peripherals -- Operating systems -- Putting it all together -- Optimizing your code.

Table of contents provided by Syndetics

  • Preface (p. xi)
  • 1. Introduction (p. 1)
  • What Is an Embedded System? (p. 1)
  • Variations on the Theme (p. 4)
  • C: The Least Common Denominator (p. 9)
  • A Few Words About Hardware (p. 11)
  • 2. Your First Embedded Program (p. 13)
  • Hello, World! (p. 13)
  • Das Blinkenlights (p. 14)
  • The Role of the Infinite Loop (p. 18)
  • 3. Compiling, Linking, and Locating (p. 19)
  • The Build Process (p. 19)
  • Compiling (p. 21)
  • Linking (p. 23)
  • Locating (p. 25)
  • Building das Blinkenlights (p. 27)
  • 4. Downloading and Debugging (p. 30)
  • When in ROM (p. 30)
  • Remote Debuggers (p. 32)
  • Emulators (p. 35)
  • Simulators and Other Tools (p. 37)
  • 5. Getting to Know the Hardware (p. 40)
  • Understand the Big Picture (p. 40)
  • Examine the Landscape (p. 42)
  • Learn How to Communicate (p. 47)
  • Get to Know the Processor (p. 50)
  • Study the External Peripherals (p. 53)
  • Initialize the Hardware (p. 54)
  • 6. Memory (p. 57)
  • Types of Memory (p. 57)
  • Memory Testing (p. 61)
  • Validating Memory Contents (p. 74)
  • Working with Flash Memory (p. 79)
  • 7. Peripherals (p. 84)
  • Control and Status Registers (p. 84)
  • The Device Driver Philosophy (p. 86)
  • A Simple Timer Driver (p. 89)
  • Das Blinkenlights, Revisited (p. 97)
  • 8. Operating Systems (p. 100)
  • History and Purpose (p. 100)
  • A Decent Embedded Operating System (p. 101)
  • Real-Time Characteristics (p. 119)
  • Selection Process (p. 122)
  • 9. Putting It All Together (p. 124)
  • Application Overview (p. 124)
  • Flashing the LED (p. 126)
  • Printing "Hello, World!" (p. 130)
  • Working with Serial Ports (p. 131)
  • The Zilog 85230 Serial Controller (p. 137)
  • 10. Optimizing Your Code (p. 139)
  • Increasing Code Efficiency (p. 139)
  • Decreasing Code Size (p. 143)
  • Reducing Memory Usage (p. 144)
  • Limiting the Impact of C++ (p. 146)
  • Appendix Arcom's Target188EB (p. 149)
  • Glossary (p. 151)
  • Bibliography (p. 165)
  • Index (p. 169)

Author notes provided by Syndetics

Michael Barr has been an editor of Embedded Systems Programming since 1999 and a contributor since 1997; he is currently that magazine's editor-in-chief. His book about embedded software development -- Programming Embedded Systems in C and C++ (O'Reilly, 1999) -- has taught tens of thousands of engineers the subject and been translated into several languages. He is also the author of CMP Book's Embedded Systems Dictionary (2003). Michael is a lecturer at the University of Maryland and a popular Embedded Systems Conference instructor and advisor. Software he wrote helps run millions of systems around the world, ranging from satellite base stations to physical therapy equipment. Through the Netrino Consultants Network, Michael provides design advice and training. He holds MS and BS degrees in electrical engineering.

Powered by Koha