C++ for Embedded Systems

Print


Who should attend?

Software developers with C experience who want to develop object oriented applications in C++ for embedded systems.

Pre-requisites:

A good working knowledge of C.

Duration:

5 days ( including practical exercises )

Course Description:

This course introduces the programming language C++ for use in embedded systems, as well as the fundamentals of the object oriented way of programming. It has been designed for experienced C programmers, who do not only want to learn the syntax of a new programming language, but also want to understand how object-oriented programming works and what the advandages are over traditional C programming. Assessments of the language features with respect to memory consumption and execution time detail the benefits and the pitfalls of the object oriented approach, thus allowing the students to develop powerful solutions using the scarce resources of embedded systems efficiently. In addition, the course shows how classes and their relationships are represented using the Unified Modelling Language (UML) and thus creates an important basis for good object-oriented software design. Finally, the course also covers how hardware devices can be integrated and used in an object-oriented way. For classroom trainings, the associated exercises are conducted on an ARM-based target hardware, while for online courses, they are carried out using a corresponding software emulator. The language characteristics of this basic course are essentially based on the language standard C++98/03. The characteristics of the newer language standards (C++11, C++14, C++17, C++20) are covered in the advanced course "Modern C++"


 Course Outline:

Non-Object-Oriented Language Features and I/O

From Struct to Class

Constructors and Destructors

Operators as Class Members

Inheritance and Aggregation

Virtual Functions and Polymorphism

Assessment of the Language Features

Object-Oriented Access to Hardware devices

Practical Exercises