Select Page
4,712 reviews

Embedded C++: Object-Oriented Programming for Microcontrollers with C++/EC++ and UML

 

Master the challenges in software development for hard real-time systems: Modern embedded systems with complex microcontroller and processor architectures incorporate more and more software that has to be planned and implemented faster than ever. In many cases, requirements need to be met which are subject to standards and safety-critical aspects. Real-time capability, reusability, adjustability to changing basic conditions and readability are key factors in software.

Introduction: Object Oriented Programming Basics

  • Class and object
  • Attribute, operation, method
  • Encapsulation
  • Relation between classes
  • Benefits of the object-oriented approach using a hardware driver as an example
Object-oriented Programming in C
  • Classes, attributes, operations and objects
  • Encapsulation in C
  • Association, aggregation, composition and inheritance
  • Practical tips with proven implementation approaches
Introduction: The Programming Language C++ (EC++)
  • Migration from object-oriented C-programming to C++/EC++
  • Classes, attributes, operations and objects
  • Encapsulation in C
  • Constructors, destructor, overload
  • Modifier for data, operations and objects
  • Memory management for objects
  • Object initialization
  • Namespaces
  • Templates
  • C++ new style casts
  • Further C++ specific mechanisms and constructs
  • Assembler analysis of C++ constructs
  • Memory and runtime oriented assessment and optimization
  • Comparison with C
  • Enhancing quality features like maintainability and reusability
  • Identifying risks and avoiding pitfalls
  • Practical exercise: Implementing, instantiating and testing a class
Relations between Classes / Programming Classes in C++
  • Association
  • Aggregation
  • Composition
  • Inheritance
  • Dependency
  • Selecting the suitable relation in your design
  • Implementation variants in C++
  • Assembler analysis of C++ constructs
  • Memory and runtime oriented assessment and optimization
  • Enhancing quality features like maintainability and reusability
  • Practical exercise: Implementing the relations association, inheritance and composition in the application and when using the builder pattern
Virtual Methods and Interfaces in C++
  • Overwriting functions / operations
  • Dynamic (late) binding
  • Strictly virtual functions/ operations
  • Polymorphism
  • From the abstract class to the interface class
  • Software architecture with interfaces
  • Benefit, advantages and disadvantages of interface classes
  • Implementation with C++
  • Assembler analysis of C++ constructs
  • Memory and runtime oriented assessment and optimization
  • Enhancing quality features like maintainability and reusability
  • Practical exercise: Programming an interface class with strictly virtual functions, implementing and accessing this class
C++ Class Libraries
  • Statistical versus dynamic class libraries
  • Generation and inclusion of class libraries
  • Advantages and disadvantages of using class libraries in embedded software
  • Demonstration of an example
State Machines in C++
  • Basic implementation approaches
  • Introduction: Table-based state machine processing
  • State pattern and object-oriented state pattern
  • Demonstration of an example
Callback Structures
  • Typical embedded SW architectures and their modeling (layer model, interfaces)
  • Architecture guidelines
  • Communication between architecture elements
  • Object-oriented callback structures with callback objects
  • Demonstration of an example
  • Practical exercise: Programming a callback structure with callback object registration in the hands-on application
Hardware Drivers and Interrupts in C++
  • Driver and interrupt guidelines
  • Hardware drivers with peripheral register access object-oriented in C++
  • Interrupt concepts and interrupt service routines object-oriented in C++
  • Enhancing quality features like maintainability and reusability
  • Practical exercise: Applying an object-oriented timer driver along with a timer interrupt in your exercise application
Overview: Embedded Software Test
  • Software implementation and test
  • Test process
  • Checklist for testing object oriented software
  • Demonstration of an example with GoogleTest™
Basic Notations with UML (Unified Modeling Language)
  • Modeling classes, objects and relations with UML
  • Use case, sequence, activity and state diagrams
  • Demonstration of the exercise in the UML model, with a focus on diagrams
From Project Planning to Implementation
  • Software development process
  • Quality of embedded software systems
  • Efficient modeling of an embedded application with UML
  • Demonstration of the exercise in the UML model, with a focus on model generation and setup
Outlook
  • History and further development of C++
  • Overview of advanced C++ mechanisms
  • Embedded and generic C++ coding guidelines
  • Interesting web links
  • C++ idioms
  • Clean code development
Practical Exercises in the Workshop
  • Throughout the exercise (watch application), you will use the STM Arm microcontroller development kit along with a simulated hardware, based on an Arm Cortex®-M3 or M7 microcontroller respectively a suitable simulator. The exercise comprises both the program code and the related UML model.
MicroConsult Plus:
  • All participants have the following options to further use their exercises and the solutions developed by MicroConsult from this workshop:
  • You take the files with you on a free USB stick provided by MicroConsult, or …
  • You e-mail the files to your account, or …
  • You get access to file download on request.
  • You get all examples for C and C++ in electronic format and can easily adjust them to your development environment.
  • You moreover get a tool and software component overview for developing embedded software.
  • You get helpful notation overviews for UML (Unified Modeling Language) and SysML (Systems Modeling Language).

The EC++ workshop shows you how an object-oriented approach helps you develop higher-quality software in an embedded environment in a shorter time.
You get a compact overview of the entire development process of embedded real-time systems - software analysis, software design, software implementation and unit test - as a basis for you to implement projects with EC++.
You know how to design of software systems by using UML and implementation in the programming language C++.
You thus have the required knowledge base for meeting specific software quality requirements for embedded systems, e.g. regarding runtime and code efficiency.
Programming guidelines, such as the MISRA-C++ standard, moreover help you avoid programming errors at an early stage.
You can use state of the art object-oriented techniques to develop high-quality, complex software systems and, at the same time, save time and money.

The EC++ training addresses programmers, software developers, software designers and software architects who use C++ for embedded software applications based on object-oriented concepts.

A very good knowledge of C-programming is required; basic microcontroller knowledge of advantage.

Empty do not delete
Onsite training: Individual workshops – tailored precisely to your project

In tailor-made workshops, we combine your specific project tasks with our training offerings. We take your requirements regarding content, time, location, duration, technical environment, and delivery method into account.

We will be happy to answer your questions.

Contact

Coaching with added value - expert knowledge for your project success

Our coaching offers have the great advantage that our experts contribute their knowledge and experience directly to your solution process and thus directly contribute to your project success.

Coaching Overview

= Guaranteed to run
Date Location Language Price Duration
22.06. - 25.06.2026 Munich English 2.600,00 € 4 Days
07.09. - 10.09.2026 Live Online German 2.600,00 € 4 Days
07.12. - 10.12.2026 Munich German 2.600,00 € 4 Days

*Price per participant, in Euro plus VAT.
Training code: E-EC++

Empty do not delete

All inclusive!

The training price includes:
Lunch, soft drinks, tea and coffee, fruit, snacks,
training documentation and your MicroConsult training certificate.

Seminar location

In-person training:

MicroConsult Academy GmbH
Charles-de-Gaulle-Str. 6
81737 Munich, Germany
+49 89 450617-71

>> Directions and hotel information

Live online trainings:

Take place online via WebEx or Zoom.

Organizational details

Reservation / booking

You can make a non-binding training seat reservation at any time; we will keep the reservation for you for up to max. three weeks before the training starts.

To confirm your participation in a training, please submit a binding booking.

You can make the non-binding reservation as well as the binding booking online on the respective training page (button "Booking" or "Non-binding reservation").

Please also note our Bonus program when booking several trainings and/or participants at once.

Seminar location

MicroConsult Academy GmbH
Charles-de-Gaulle-Str. 6
81737 Munich, Germany
Phone: +49 89 450617-71 >> Directions

Training times (face-to-face training)

Please note:
Some trainings have different start/end times, so please take note of the times we send you with our order confirmation before the training.

One-day training: 08:30 – 17:00 h

Two-day training: Day 1: 9:30 – 17:30 h / Day 2: 8:30 – 17:00 h

Three-day training: Day 1: 9:30 – 17:30 h / Day 2-3: 8:30 – 17:00 h

Four-day training: Day 1: 9:30 – 17:30 h / Day 2-4: 8:30 – 17:00 h

4.5-day training: Day 1: 9:30 – 17:30 h / Day 2-4: 8:30 – 17:00 h / Last day: 8:30 – 13:00 h

Five-day training: Day 1: 9:30 – 17:30 h / Day 2-4: 8:30 – 17:00 h / Last day: 8:30 – 15:00 h

The structure of our live-online trainings is different to face-to-face trainings. Please refer to our registration confirmation for training times.

Training certificate

After the training, you will receive your MicroConsult Training Certificate to document the know-how you acquired.

Training documentation

High-quality, extensive training documentation is included in the training price.

Material

All you have to bring is thirst for knowledge and curiosity. Our seminar rooms are fully equipped with everything needed to run the training - including your training documentation and stationery.

Catering

Hospitality is important to us. That's why we invite you to lunch at a nearby restaurant. We've also taken care of your refreshments: hot and cold drinks are available all day, and so are snacks and fresh fruit.

Training environment

Our training rooms offer an open and friendly atmosphere and feature high-quality and modern training equipment.

Company Image Training Room New

Location

The MicroConsult training center is conveniently located and can be reached easily be public transport or by car. Several hotels are in close vicinity.

Click here for directions and hotel information.

 

Do you need assistance?

Please don't hesitate to contact us. For questions concerning the organization of face-to-face or online trainings, please contact our Service Office, phone +49 (0)89 450617-71. Or send an e-mail to training@microconsult.com.

Bonus program

The group advantage: Binding registration of a group for a training

Number of persons

Amount of the discount

2 to 3 people 5 %
4 to 5 people 10 %
from 6 people 15 % also when split into 2 dates
more than 8 people upon request

The training bonus: Binding registration of a person for several training courses

Number of training sessions

Amount of the discount

2 training sessions 5 %
3 training sessions 8 %
More than 3 training sessions upon request

What else is important

This bonus scheme applies exclusively to our open training sessions.

To take advantage of the special conditions, a closed, binding registration and the participation of all booked persons on the agreed dates are required. The basis for the calculation is the current price list on www.microconsult.de.

The individual discount models cannot be combined with one another. A date change by us or the participation of a substitute participant will not affect the terms and conditions.

Valid only for direct bookings through us; our bonus program does not apply to bookings through external training portals.

Please contact us, our Service Office is available at +49 (0)89 450617-71. Or you can also use the Contact form.

Together we will find the optimal solution for you!

Related trainings

Customer testimonials

Do need additional information?
Feel free to get in touch!

Nora Pohle

Sales

kontakt@microconsult.com

+49 89 450617 - 71

Your benefits at a glance:

  • 100 % practical: You will learn what really matters in everyday project work – with real tools and proven methods from experts from the real project world.
  • How and where you want: Choose between live online or face-to-face training, conducted in our training center or at your location.
  • Small groups, big impact: Maximum 12 participants – so there is room for your questions, your topics, your practice.
  • Understandable instead of intellectual: Complex content becomes tangible – with examples, interactive exercises and a clear thread.
  • Combinable: Ideal as an individual seminar or part of a training series.
  • Sustainable learning success: You will receive high-quality documents for further work.
  • Flexible participation: Cancel or rebook free of charge up to 3 weeks before the appointment – your booking remains transferable.