logo-mc-rgb-300x300 (MicroConsult)

MicroConsult Academy GmbH

https://www.microconsult.de/

Embedded C: Programmiermethoden und -tools für Embedded-Anwendungen (Seminar)

Datum:

16.03.2026 - 19.03.2026

Veranstaltungsort:

München, MicroConsult

Beschreibung:

Inhalt Ziele - Ihr Nutzen Teilnehmer Voraussetzungen Sie entwickeln effizient Programme in der Programmiersprache "C" für ein Embedded-System - nach den Regeln des modernen Software Engineerings. Die Anwendung von Pointern, Function Pointern und Strukturen sind Ihnen geläufig. Die Kenntnis von Programmier-/Codier-Richtlinien und Software-Qualitätsmerkmalen, funktionellen/ nichtfunktionellen Anforderungen sowie der inneren Qualität ermöglicht es Ihnen, wiederverwendbare, erweiterbare und leicht testbare Software zu erstellen. Zusätzlich kennen Sie nach Teilnahme an der Embedded-C-Schulung alle Schritte eines Software-Entwicklungsprozesses, von der Idee bis hin zur Abnahme des Systems.

Einführung

  • ANSI-C
  • Embedded-Systeme und ihre Eigenheiten
  • Software-Toolkette
  • Software-Architektur
  • Debug-Features und Bugs

Programmiersprache C für Embedded

  • Hardwarenahes Programmieren
  • Datentypen
  • Pointer, Funktionspointer
  • Strukturen, verkettete Listen
  • Ringpuffer (circular buffer), Warteschlange (queue), FIFO, LIFO
  • Programmierregeln und -richtlinien
  • Fallstricke und Stolpersteine in C

Treiberprogrammierung

  • Auswahl einer geeigneten SW-Architektur
  • HW-Abstraktion, objektbasiertes Programmieren
  • Zugriff auf Hardewareregister aus "C"
  • Interfaces, Callback Interfaces, Queues
  • Interrupt-Behandlung/-Serviceroutine, Callback-Funktion
  • Übungen: Timer-Hardwareabstraktion plus Callback

Anwendung von Pointern, Funktionspointern und verketteten Listen

  • Programmbeispiel eines Schedulers
  • Taskverwaltung mit verketteten Listen
  • Übungen: Programmierung einer Taskverwaltung

Real-Time Operating Systeme (RTOS) im Überblick

  • Typen, Funktionen, Auswahlkriterien
  • Arbeitsweise und Programmierung eines Schedulers
  • Übung: Taskwechsel

Bibliotheksmanagement

  • Anpassung von Standard-Bibliotheksfunktionen an die Hardware
  • Generierung und Verwaltung von User-Bibliotheken
  • Übung: Kreieren und Einbinden einer Bibliothek

Lokatieren von Code und Daten im (µC-) Speicher (Flash-, RAM-Adressraum)

  • Logische Sektionen (.text, .data, .bss) im Buildprozess
  • Lade,- und Ausführungsadressen
  • Steuern des Linkers über Kommandodateien

Zustandsautomaten (Finite State Machines, FSM)

  • Beschreibung und Darstellungsvarianten
  • Philosophie und Realisierung einer FSM in C
  • Übungen: Programmieren einer Ampelsteuerung

Verschiedene Aspekte des Embedded Software Engineering

  • Software-Qualitätskriterien
  • Software-Entwicklungsprozessmodelle (Wasserfall, V, agil)
  • Funktionale Sicherheit
  • Anforderungsmanagement (Requirements Engineering)
  • Verifikation und Test
  • Reifegradmodelle

Ausblick OOP-Techniken

  • Vorteile und Herausforderungen der objektorientierten Programmierung
  • UML-Diagramme

Kodierrichtlinien

  • Sinn und Zweck
  • MISRA-C Direktiven und Regeln

MicroConsult Plus: Umfangreiche Übungen auf einer Zielhardware

  • Die Übungen werden mit der Keil µVision IDE und Arm-Compiler auf einer M0-basierten 32-Bit Hardwareplattform ausgeführt und getestet.

HINWEIS: Die Kursunterlagen sind auf Englisch