This training aims to present C++ as the natural extension of C for object-oriented embedded system development. Since C++ encompasses C, this course guides participants from C to C++ in a logical manner, exploring the underlying implementation of C++. This understanding is particularly valuable when applying C++ within the resource-constrained environments typical of embedded systems. The C++ standard has recently undergone significant revisions, known as C++11, with C++14 being released subsequently. This course covers features introduced in these revisions that are especially beneficial, such as high-performance memory management, concurrency in multicore environments, and low-level hardware programming.
OBJECTIVES/BENEFITS
The primary goal of this course is to equip you with the ability to use C++ correctly and effectively.
- Introduce C++ as an object-oriented alternative for embedded systems
- Highlight the similarities and differences between C and C++
- Understand various memory management strategies, particularly move semantics introduced in C++11
- Examine the underlying mechanisms to understand how different C++ paradigms translate into machine code
- Utilise templates to create type-safe, high-level abstractions for low-level, hardware-adjacent programming (including memory-mapped I/O and interrupts), with a focus on variadic templates from C++11
- Explore useful design patterns, particularly those applicable to embedded contexts
- Engage in practical exercises to reinforce key concepts
TARGET AUDIENCE/PARTICIPANTS
This training is designed for C++ programmers who wish to begin applying C++ within an embedded systems context.
PREREQUISITES
Participants require a fundamental understanding of C++ programming, equivalent to that covered in our trainings "C++ – Level 1" and "C++ Level 2 – Introducing C++11".
PRACTICAL EXERCISES
Throughout the training, you will practice the concepts presented through a series of exercises. We will utilise the open-source and free integrated development environment provided by Eclipse.
Read more...