Efficient Use of C++ in Embedded Systems

Who should attend?

Software developers who want to extend their existing C++ knowledge, acquired in non-embedded environments, for use in embedded systems.


A good working knowledge of C++.


3 days

Course Description:

Using C++ efficiently in embedded systems requires a detailed understanding of the diverse features of the language and the amount of resources they need. This course examines the individual language features of C++ based on descriptive examples with respect to memory and runtime requirements, the most important criteria in embedded and realtime systems. Problems identified by this evaluation are discussed and possible solutions are shown. The results of this analysis build a solid foundation for the choice of the most advantageous implementation for the application case under consideration. As a second focus this course illustrates how hardware devices can be mapped into objects thus allowing a seamless integration in embedded object oriented applications. The associated practical exercises are performed on an ARM-based target board.

Course Outline:

Assessment of the Language Features

  • Object model
  • Object creation and deletion
  • Temporary Objects
  • Inheritance
  • Virtual functions
  • Dynamic memory management

Mapping Hardware Devices into Objects

  • Traditional solutions
  • Struct-based solution
  • Hardware device as a C++ object
  • Interrupt handling

Practical Exercises

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.