Real-Time C++ [electronic resource] : Efficient Object-Oriented and Template Microcontroller Programming /
Kormanyos, Christopher.author.
With this book, Christopher 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. For this third edition, the most recent specification of C++17 in ISO/IEC 14882:2017 is used throughout the text. Several sections on new C++17 functionality have been added, and various others reworked to reflect changes in the standard. Also several new sample projects are introduced and existing ones extended, and various user suggestions have been incorporated. 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.
Part I Language Technologies for Real-Time C++ -- 1 Getting Started with Real-Time C++ -- 2 Working with a Real-Time C++ Program on a Board -- 3 An Easy Jump-Start in Real-Time C++ -- 4 Object-Oriented Techniques for Microcontrollers -- 5 C++ Templates for Microcontrollers -- 6 Optimized C++ Programming for Microcontrollers -- Part II Components for Real-Time C++ -- 7 Accessing Microcontroller Registers -- 8 The Right Start -- 9 Low-Level Hardware Drivers in C++ -- 10 Custom Memory Management -- 11 C++ Multitasking -- Part III Mathematics and Utilities for Real-Time C++ -- 12 Floating-Point Mathematics -- 13 Fixed-Point Mathematics -- 14 High-Performance Digital Filters -- 15 C++ Utilities -- 16 Extending the C++ Standard Library and the STL -- 17 Using C-Language Code in C++ -- 18 Additional Reading -- Part IV Appendices -- A A Tutorial for Real-Time C++ -- B A Robust Real-Time C++ Environment -- C Building and Installing GNU GCC Cross Compilers -- D Building a Microcontroller Circuit.
With this book, Christopher 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. For this third edition, the most recent specification of C++17 in ISO/IEC 14882:2017 is used throughout the text. Several sections on new C++17 functionality have been added, and various others reworked to reflect changes in the standard. Also several new sample projects are introduced and existing ones extended, and various user suggestions have been incorporated. 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.
Special purpose computers.
Computer system failures.
Architecture, Computer.
Software engineering.
Microprogramming .
Special Purpose and Application-Based Systems.
System Performance and Evaluation.
Computer System Implementation.
Software Engineering.
Control Structures and Microprogramming.