Experience Embedded

Professional Training, Consulting and Project Support

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

Modern embedded systems with complex 16 and 32 bit microcontroller architectures incorporate more and more software which, however, 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. Reusability, adjustability to changing frame conditions and readability are key factors.

  • Content
     
  • Objectives
  • Participants
  • Requirements

In the EC++ training, you will see how object oriented techniques help you create higher-quality software for embedded applications in a shorter time. You get a compact overview of the entire development process - software analysis, design, implementation and test, with a focus on software system design using UML and implementation in C++. Specific software quality requirements for embedded systems are another key issue, e.g. regarding runtime and code efficiency, as well as identifying and thus avoiding programming errors by using programming guidelines, such as offered by the MISRA C++ standard..

Software architects, software developers

Very good knowledge of (embedded) C-programming. Basic microcontroller knowledge of advantage.

Introduction: Object Oriented Programming Basics

  • Objects, classes, attributes, operations, encapsulation
  • Relations
  • Benefits of object oriented software development

Object Oriented Programming in C

  • Classes and encapsulation in C
  • Association, aggregation, composition and inheritance
  • From a structure to a class

The Programming Language C++ (EC++)

  • Migration from object-oriented C-programming to C++/EC++
  • Class, constructor, destructor, overload, etc.
  • Association, aggregation, composition and inheritance
  • Polymorphism, virtual operations and interfaces

C++ for Embedded Applications

  • Class libraries
  • Typical embedded SW architectures, visualization (layer model, interfaces)
  • Hardware drivers, interrupts, callback structures
  • State machine programming
  • Assembler analysis of C++ constructs
  • Memory and runtime oriented assessment and optimization
  • Increasing maintainability and reusability

Overview: Embedded Software Test

  • Software implementation and test
  • Test process
  • Test aspects for object oriented software

Basic Notations with UML (Unified Modeling Language)

  • Modeling classes, objects and relations with UML
  • Use case, sequence, activity and state diagrams

From Project Planning to Implementation

  • Software development process
  • Quality of embedded software systems
  • Modeling an embedded application with UML

Practical Exercise

  • C++ programming in the OOP context
  • Programming of classes, objects and relations
  • Programming of interfaces, callback structures and drivers
  • Using an embedded target


The price includes lunch,

drinks, training documentation and certificate.


Information for HR

You can book up to 5 participants on one training with our online order form.
If you wish to book more participants on several trainings, please contact us!
Please also note our bonus program when booking several trainings and/or participants at once.


Information for HR

Related trainings

Embedded C++ Advanced: Object-oriented Programming for Microcontrollers with C++/EC++
Training Code: E-EC++/FOR

Embedded C Training: Programming Methods and Tools for Embedded Applications
Training Code: E-EMB-C

Embedded Multicore Microcontrollers: Practical Application
Training Code: E-µC-MULTI

UML Training: UML Basics and Introduction to Model-Based Software Development
Training Code: E-UML-G


Related trainings

Trainings

Price *Duration
2.250,00 €4.5 days
Training code: E-EC++

* All prices are exclusive of applicable VAT.


> Registration form download (PDF)
> Training details as PDF

Inhouse Training

In customized workshops, we integrate your specific project tasks and our training program, considering your requirements as regards content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

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

Content

Introduction: Object Oriented Programming Basics

  • Objects, classes, attributes, operations, encapsulation
  • Relations
  • Benefits of object oriented software development

Object Oriented Programming in C

  • Classes and encapsulation in C
  • Association, aggregation, composition and inheritance
  • From a structure to a class

The Programming Language C++ (EC++)

  • Migration from object-oriented C-programming to C++/EC++
  • Class, constructor, destructor, overload, etc.
  • Association, aggregation, composition and inheritance
  • Polymorphism, virtual operations and interfaces

C++ for Embedded Applications

  • Class libraries
  • Typical embedded SW architectures, visualization (layer model, interfaces)
  • Hardware drivers, interrupts, callback structures
  • State machine programming
  • Assembler analysis of C++ constructs
  • Memory and runtime oriented assessment and optimization
  • Increasing maintainability and reusability

Overview: Embedded Software Test

  • Software implementation and test
  • Test process
  • Test aspects for object oriented software

Basic Notations with UML (Unified Modeling Language)

  • Modeling classes, objects and relations with UML
  • Use case, sequence, activity and state diagrams

From Project Planning to Implementation

  • Software development process
  • Quality of embedded software systems
  • Modeling an embedded application with UML

Practical Exercise

  • C++ programming in the OOP context
  • Programming of classes, objects and relations
  • Programming of interfaces, callback structures and drivers
  • Using an embedded target

Wishlist


No trainings