Webinar

Embedded Software Design and Patterns with C

Inhalte

  • 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 aYou 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.

 

Lernziele

  • 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.

 

Zielgruppe

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

 

Voraussetzungen

  • Knowledge of C programming is required; a basic knowledge of microcontrollers is of advantage.
  • 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,...
Mehr Informationen

Termine und Orte

Datum Dauer Preis
Webinar
20.07.2026 - 23.07.2026 32 h 32 h Details Details Jetzt buchen

SG-Seminar-Nr.: 9353492

Anbieter-Seminar-Nr.: E-ESD-C

Termin

20.07.2026 - 23.07.2026

Online

Günstige Preise

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

€ 3.094,00

Alle Preise inkl. 19% MwSt.

Jetzt buchen
Seminar merken

Der Anbieter ist für den Inhalt verantwortlich.

Veranstaltungsinformation

  • Webinar
  • Englisch
    • Keine
  • 32 h
  • Anbieterbewertung   (40)

Ihre Vorteile

mehr erfahren
  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service
Datum Dauer Preis
Webinar
20.07.2026 - 23.07.2026 32 h 32 h Details Details Jetzt buchen