This training aims to introduce C++ as an extension of C, focusing on its application in object-oriented embedded system development. Since C++ encompasses C, this course naturally transitions participants from C to C++, delving into how C++ is implemented. This understanding is particularly valuable when using C++ in resource-limited embedded environments. The C++ standard has recently undergone significant revisions, known as C++11 and the upcoming C++14. This course covers new features introduced by these revisions, such as high-performance memory management, concurrency for multicore environments, and low-level hardware programming.
GOAL/BENEFITS
The primary goal of this class is to enable you to use C++ effectively and correctly.
- Introduce C++ as an object-oriented language suitable for embedded systems
- Highlight the similarities and differences between C and C++
- Understand various memory management strategies, particularly the move semantics introduced in C++11
- Examine how different C++ paradigms translate into machine code
- Use templates to create type-safe high-order abstractions for low-level hardware programming, including memory-mapped I/O and interrupts, especially leveraging variadic templates from C++11
- Explore useful design patterns applicable in embedded contexts
- Engage in exercises to practice the concepts learned
AUDIENCE/PARTICIPANTS
This training is designed for C++ programmers who plan to start using C++ in an embedded system context.
PREVIOUS KNOWLEDGE
The course requires a basic understanding of C++ programming, equivalent to the knowledge gained from our "C++ – Level 1" and "C++ Level 2 – Introducing C++11" trainings.
PRACTICAL EXERCISES
Throughout the training, you will practice the presented concepts through a series of exercises. We will use the open-source and free Eclipse integrated development environment.
Read more...