Firmware-Entwicklung für Hardware Entwickler
Ziele der Schulung
In dieser 4-tägigen Schulung "Firmware-Entwicklung für Hardware Entwickler" lernen Sie Konzepte modernen Software-Engineerings. Sie sind in der Lage, gut les- und wartbaren Code zu schreiben. Sie können mit Versionierungssystemen umgehen und gute commit messages schreiben. Sie verstehen die grundlegenden Bausteine eines Mikrocontrollers sowie die Besonderheiten in der Firmware-Entwicklung und können Firmware für Mikrocontroller in C programmieren und debuggen.
Zielgruppe Seminar
- Hardware-Entwickler
Voraussetzungen
- Erfahrungen in der Hardware-Entwicklung
- Grundlagen Programmierung
Lernmethodik
Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.
Der Kurs startet mit einem Theorieteil zu Grundlagen der Software-Entwicklung. Die folgenden Teile des Kurses werden durch laufende Übungen begleitet, in welchen die TeilnehmerInnen das gelernte Wissen in der Praxis vertiefen können. Grundlage ist dabei ein STM32F4 Mikrocontroller.
Seminarinhalt
Grundlagen Software-Entwicklung
- Abstraktion
- Data & Implementation Hiding
- APIs
- Clean code
- Firmware-Testing
- Unit Tests
- Hardware in the loop tests
- CI/CD
- Testdriven development
- Grundlagen der Software-Architektur
- Grundlagen Versionierung und Repositories
Die Programmiersprache C
- Grundlagen
- Besonderheiten im Embedded Bereich
- Übungen am PC
Grundlagen Mikrocontroller
- Was ist ein Mikrocontroller?
- Adressraum eines Mikrocontrollers & memory mapped peripherals
- GPIOs
- SWD / JTAG und Kontroller flashen
Übung Board bring up und LED blinken lassen
- Mikrocontroller Dokumentation: Was findet sich wo?
- Clean code Praktiken in der Anwendung
- STM32CubeIDE & STM32CubeMX
- Firmware debuggen
- Bin, hex & elf Dateien: Was ist was und Unterschiede
Versionierungssystem benutzen und Schreiben guter commit messages
- Grundkonzepte von Versionierungssystemen
- Gängige Versionierungssysteme und ihre Unterschiede
- Schreiben guter commit messages
- Praktische Übung: LED dimmen via PWM
Es wird eine kleine Firmware geschrieben, welche eine LED via PWM dimmt.
Dabei werden fortwährend Anforderungsänderungen eingebracht, anhand derer
die Verwendung eines Versionierungssystems geübt werden kann.
Ein C Modul entwickeln mit sauberer Abstraktion
- Theorieteil
- Data- & Implementation hiding in C
- API Design
- Dependency injection
- Praktische Übung: Logging über UART
Es wird ein Modul geschrieben, welches Log-Nachrichten über eine UART
Schnittstelle versenden kann. Dabei wird das gelernte aus dem Theorieteil
angewendet und vertieft.
Objektorientierte Programmierung in C
- Theorieteil
- Objektorientiert Programmieren in einer nicht-objektorientierten Sprache: Geht das?
- Interface & Implementation Inheritance mit Funktionszeigern
- Mögliche Probleme bei objektorientierter Programmierung in C
- Praktische Übung: externen Bausteine via SPI oder I2C anbinden
Das Gelernte wird vertieft, in dem ein Treiber für einen externen Baustein
geschrieben wird, der sowohl über SPI als auch über I2C angesprochen werden
kann.
ADC, DAC & DMA
- Theorieteil
- Welche unterschiedlichen Möglichkeiten gibt es auf ADC & DAC zuzugreifen?
- Welche Vor- und Nachteile gibt es dabei?
- Interrupts und reentrance Probleme
- Stolpersteine bei der Verwendung von DMA
- Praktische Übung: Soundeffekt
Das Gelernte wird vertieft, in dem eine kleine Firmware geschrieben wird,
die über das Mikrofon des Evalboards eine Sprachnotiz aufnimmt und
mit Effekt wiedergibt.
Theorie: Daten persistent in EEPROM / FLASH speichern
- Welche Daten (Kundenparameter, Produktionsparameter, Firmware) sollten wo abgespeichert werden?
- Welche Patterns und Probleme gibt es dabei?
- Kleine Einführung in das Thema Bootloader
Firmware Architecture Grundlagen: bare metal vs. RTOS
- Grundkonzepte von RTOS
- Übersicht und Vergleich gängiger RTOS
- Vorteile und Nachteile beider Varianten
- Wann empfiehlt sich bare metal, wann RTOS
Advanced debugging
- Logging, asseertions & co
- Timing-Verhalten debuggen
- Exceptions debuggen
- Stack overflows
- Linker map file als Hilfe beim debuggen & optimieren
- Assembly lesen
Open Badge für dieses Seminar - Ihr digitaler Kompetenznachweis

Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erhalten Sie zusätzlich zu Ihrem Teilnehmerzertifikat ein digitales Open Badge (Zertifikat) – Ihren modernen Nachweis für erworbene Kompetenzen.
Ihr Open Badge ist jederzeit in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com-Konto verfügbar. Mit wenigen Klicks können Sie diesen digitalen Nachweis in sozialen Netzwerken teilen, um Ihre Expertise sichtbar zu machen und Ihr berufliches Profil gezielt zu stärken.
Übersicht: Embedded Systems Schulungen Portfolio
Seminare kurz vor der Durchführung
| Termin | Standort | Aktion |
|---|---|---|
| 16.12. - 19.12.2025 | Hamburg | |
| 19.01. - 22.01.2026 | München | |
| 09.02. - 12.02.2026 | Köln | |
| 03.03. - 06.03.2026 | Nürnberg |



