Real-Time C++

Efficient Object-Oriented and Template Microcontroller Programming

  • Christopher Kormanyos

Table of contents

  1. Front Matter
    Pages i-xxiii
  2. Language Technologies for Real-Time C++

    1. Front Matter
      Pages 1-1
    2. Christopher Kormanyos
      Pages 3-18
    3. Christopher Kormanyos
      Pages 19-31
    4. Christopher Kormanyos
      Pages 33-45
    5. Christopher Kormanyos
      Pages 47-70
    6. Christopher Kormanyos
      Pages 71-95
    7. Christopher Kormanyos
      Pages 97-123
  3. Components for Real-Time C++

    1. Front Matter
      Pages 125-125
    2. Christopher Kormanyos
      Pages 127-136
    3. Christopher Kormanyos
      Pages 137-150
    4. Christopher Kormanyos
      Pages 151-171
    5. Christopher Kormanyos
      Pages 173-185
    6. Christopher Kormanyos
      Pages 187-198
  4. Mathematics and Utilities for Real-Time C++

    1. Front Matter
      Pages 199-199
    2. Christopher Kormanyos
      Pages 201-224
    3. Christopher Kormanyos
      Pages 225-246
    4. Christopher Kormanyos
      Pages 247-263
    5. Christopher Kormanyos
      Pages 265-279
    6. Christopher Kormanyos
      Pages 281-295

About this book

Introduction

The C++ language has powerful object-oriented and template features that can improve software design and portability while simultaneously reducing code complexity and the risk of error. Furthermore, C++ compiles highly efficient native code. This unique and effective combination makes C++ well-suited for programming microcontroller systems that require compact size, high performance and safety-critical reliability.

With this book, Chris Kormanyos delivers a highly practical guide to programming real-time embedded microcontroller systems in C++. It is divided into three parts plus several appendices. Part I provides a foundation for real-time C++ by covering language technologies, including object-oriented methods, template programming and optimization. Next, part II presents detailed descriptions of a variety of C++ components that are widely used in microcontroller programming. It details some of C++’s most powerful language elements, such as class types, templates and the STL, to develop components for microcontroller register access, low-level drivers, custom memory management, embedded containers, multitasking, etc.  Finally, part III describes mathematical methods and generic utilities that can be employed to solve recurring problems in real-time C++. The appendices include a brief C++ language tutorial, information on the real-time C++ development environment and instructions for building GNU GCC cross-compilers and a microcontroller circuit.

The most recent specification of C++11 in ISO/IEC 14882:2011 is used throughout the text. To facilitate portability, no libraries other than those specified in the language standard itself are used. Efficiency is always in focus and numerous examples are backed up with real-time performance measurements and size analyses that quantify the true costs of the code down to the very last byte and microsecond.

The target audience of this book mainly consists of students and professionals interested in real-time C++. Readers should be familiar with C or another programming language and will benefit most if they have had some previous experience with microcontroller electronics and the performance and size issues prevalent in embedded systems programming.

Keywords

C++ Embedded Systems Low-level Programming Microcontroller Programming Object-Oriented Programming Real-time Programming System Performance

Authors and affiliations

  • Christopher Kormanyos
    • 1
  1. 1.Independent ResearcherReutlingenGermany

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-642-34688-0
  • Copyright Information Springer-Verlag Berlin Heidelberg 2013
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-642-34687-3
  • Online ISBN 978-3-642-34688-0
  • About this book
Industry Sectors
Pharma
Automotive
Biotechnology
Electronics
Telecommunications
Energy, Utilities & Environment
Aerospace