Synchronous and asynchronous software architecture
Unidirectional and bidirectional communication
Callback structure with and without operating system resources
Hardware Drivers and Interrupts in C++
Object-oriented concepts and programming of standard peripheral drivers
Object-oriented concepts and programming of interrupt handler
Register bank access
Callback structures in an interrupt context
Application examples and recommendations for using these features in embedded software
Exercise: Integrating a hardware driver and an interrupt service in the application
Select C++ Library Objects
std::string and std::string_view
iosteam and iomanip
std::stringstream
std::function, std::optional, std::variant and std::any
Application examples and recommendations for using these features in embedded software
Practical Exercises in the Workshop
You will use the Arm Keil MDK (microcontroller development kit) along with real or simulated hardware, based on an Arm Cortex-M3 microcontroller throughout the exercise (watch application).
MicroConsult Plus:
Participants can download their exercises and the solutions developed by MicroConsult for this workshop.
You get all C++ examples in electronic format and can easily adjust them to your development environment.
You get a checklist with scalable recommendations for using C++ in embedded software.
You get a tool and software component overview for developing embedded software.
You get helpful notation overviews for UML and SysML.
Lernziele
You know the application and efficiency of advanced C++ constructs (namespaces, templates, exception handling, runtime type identification, new style casts, multiple inheritance, memory management).
You are able to make informed decisions on using these constructs in your application.
You have an overview of the elements and mechanisms of the STL (Standard Template Library) and can use them.
You can adapt patterns (state patterns, Singleton patterns, observer patterns, smart pointer patterns and layer patterns) to your applications and implement them.
Zielgruppe
The EC++ advanced training addresses programmers, software developers, software designers and software architects who use advanced C++ constructs in embedded software development.
Voraussetzungen
Basic knowledge of object oriented C++ is a must; basic knowledge of UML of advantage.
C++ for Embedded Applications
History
Specific quality requirements on embedded software