Select Page
4,712 reviews

Embedded Software Design and Patterns with C

 

Modern embedded systems with complex microcontroller and processor architectures incorporate more and more software that has to be planned and implemented faster than ever. System functions are increasingly shifted to software. Consequently, software has to be based on architecture and design. Today, you will use efficient software design methods with C-programming. 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 enhanced readability are key factors in software.

Embedded Software Design - Introduction

  • Definition of software design
  • Integration in the development process
  • The role of a software designer
Object Orientation in C
  • Classes and objects
  • Relations: dependency, association, aggregation, composition, inheritance
  • Interfaces and virtual functions
  • Practical exercise: You design and implement classes and objects with different relations, execute them on an embedded target and test them. Each exercise will be part of the set-up of a measurement device application.
Select Design Principles Implemented in C
  • DRY, KISS, avoid premature optimization
  • SLA, SRP, dependency inversion
  • Principle of least surprise
  • Open/closed principle, Law of Demeter, YAGNI
  • Source code conventions, MISRA
Select Design Patterns
  • Software architecture patterns: layer, blackboard, pipes and filters, client server, model view controller (MVC), microkernel
  • Software design patterns: builder/manager, facade, strategy
  • Hardware access patterns: HW proxy, HW adapter, mediator, observer, debouncing, interrupt, polling
  • Safety and reliability, one's complement, CRC, smart data, channel, protected single channel, multi-channel (dual, triple), sanity check, monitor-actuator
  • Practical exercise: You use some of the above-mentioned patterns in the measurement device application
State Machines
  • Design
  • Implementation variants: switch-case, table, state pattern
  • Practical exercise: You design and implement the object-oriented state machine in the measurement device application
Operating System
  • Overview of mechanisms: task management, scheduler, synchronization, communication, resource management, time management, interrupt management, memory management
  • Practical example: Applying the mechanisms in the measurement device application
Callback Structures
  • Communication between architecture elements
  • Design rules
  • Synchronous, asynchronous
  • Callback structure procedural and object-oriented
  • Callback structure with and without operating system
  • Variation options
  • High-quality software architecture with callback structures
  • Practical exercise: You design and implement an object-oriented callback structure in the measurement device application
Hardware Driver Concepts and Interrupts
  • Architecture guidelines
  • Software layer patterns
  • Practical examples of software layer architectures
  • Object-oriented driver concepts
  • Interrupt handling
  • Practical tips: Standards and sources for driver concepts
  • Practical exercise: You design and implement a driver and the related driver access in the measurement device application
Select Refactorings in C
  • Preconditions for successful refactoring
  • Small steps, big steps
  • Smells
  • Refactoring patterns
Practical exercise
  • For the underlying practical exercise (measurement device application), you will use the Arm Keil MDK (microcontroller development kit) with real hardware based on an Arm Cortex™-M3 microcontroller.
MicroConsult Plus
  • All participants have the following options to further use their exercises and the solutions from this workshop:
  • You take a copy of your exercises and the solutions developed by MicroConsult with you on a You e-mail the files to your account, or …
  • You get access to file download on request.
  • You get all examples for C and UML models 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) in A3 format.

You get to know the programming principles and design patterns that are essential for embedded software development. You learn how to program them in C and use them in your projects.
You learn all about object-oriented programming and implementation, including state machines in C, and get familiar with the mechanisms of an embedded/real-time operating system.
This way, you can implement hardware drivers, interrupt concepts and callback structures in C.

The training "Embedded Software Design and Patterns with C" addresses programmers, software developers, software designers and software architects using C for embedded software applications

Knowledge of C programming is required; a basic knowledge of microcontrollers is 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
20.07. - 23.07.2026 Live Online German 2.600,00 € 4 Days
20.07. - 23.07.2026 Live Online English 2.600,00 € 4 Days
12.10. - 15.10.2026 Munich German 2.600,00 € 4 Days
18.01. - 21.01.2027 Munich German 2.600,00 € 4 Days

*Price per participant, in Euro plus VAT.
Training code: E-ESD-C

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.