Firmware-Entwicklung für Software Entwickler
Ziele der Schulung
In dieser 4-tägigen Schulung "Firmware-Entwicklung für Software Entwickler" erwerben Sie praxisnahes Wissen für die Entwicklung und das Debugging von Firmware für Mikrocontroller. Sie lernen, wie Sie sich in Schaltungen zurecht finden, strukturierte Firmware in C entwickeln und Fehler mit Hardwarebezug systematisch analysieren.
Neben den elektrotechnischen Grundlagen und dem Umgang mit Schaltplänen arbeiten Sie mit Mikrocontrollern, Schnittstellen wie UART, SPI und I2C sowie Tools wie der STM32CubeIDE und Oszilloskopen. Sie setzen sich mit Speichertechnologien, Interrupts und Firmware-Architekturen auseinander und wenden moderne Debugging-Methoden zur Fehlerbehebung und Optimierung an.
Nach der Schulung sind Sie in der Lage, Firmware effizient zu programmieren, Hardware gezielt zu testen und Embedded-Systeme sicher in Betrieb zu nehmen.
Zielgruppe Seminar
Software-Entwickler
Voraussetzungen
- Programmier-Erfahrung in einer höheren Sprache
- Kentnisse in Software-Engineering
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 Elektro-Technik. 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 Elektro-Technik
- Grundgrößen und einfache Bausteine und Schaltungstechniken
- Schaltpläne lesen und sich mit dem Layout auf dem Board zurecht finden
- Gefahren durch elektrische Ströme
- ESD
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?
- Verwendung von Labornetzteil und Multimeter
- STM32CubeIDE & STM32CubeMX
- Firmware debuggen
- Bin, hex & elf Dateien: Was ist was und Unterschiede
Timer / Counter
- Theorieteil
- Funktionsweise eines Timers/Counters
- Anwendungen von Timern/Countern
- Blockschaltbilder in Mikrocontroller Dokumentation lesen
- Praktische Übung: LED dimmen via PWM
- Verwendung des Oszilloskops
UART
- Theorieteil
- Nachrichtenkodierung bei UART
- Anwendungsbeispiele von UART
- RS232; RS485 und co
- Praktische Übung: Logging über UART
- Dekodierung von UART mittels Oszilloskop
SPI & I2C
- Theorieteil
- Nachrichtenkodierung und Unterschiede bei/zwischen SPI & I2C
- Implementierung von SPI & I2C im STM32F4
- Anwendungsbeispiele
- Praktische Übung: externe Bausteine via SPI & I2C anbinden
- Objektorientierte Programmierung in C
- Dokumentation von ICs lesen und verstehen
- SPI & I2C mittels Oszilloskop debuggen
ADC, DAC & DMA
- Theorieteil
- Funktionsweise ADC & DAC
- Implementierung von ADC & DAC im STM32F4
- Welche unterschiedlichen Möglichkeiten gibt es auf ADC & DAC zuzugreifen?
- Welche Vor- und Nachteile gibt es dabei?
- Funktionsweise DMA
- Implementierung von DMA im STM32F4
- Interrupts und reentrance Probleme
- Mögliche 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
- Funktionsweise von EEPROM & Flash
- Unterschiede EEPROM & Flash
- Anwendungsbeispiele
- 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
- Was bedeutet bare metal in der Firmware Entwicklung
- Grundkonzepte RTOS
- Übersicht und Vergleich gängiger RTOS
- Vorteile und Nachteile beider Varianten
- Wann empfiehlt sich bare metal, wann RTOS
Grundlagen: Testing von Firmware (unit tests und hardware in the loop tests)
- Wie können unit tests für Peripheral Treiber geschrieben werden
- Hardware in the loop testing: Grundlagen und Beispiele
Advanced debugging
- Logging, assertions & co
- Timing-Verhalten debuggen
- Exceptions debuggen
- Stack overflows
- Linker map file als Hilfe beim debuggen & optimieren
- Assembly lesen
- Fädeldrähte
Schaltplan und Layout review aus Firmware-Sicht
- Häufig anzutreffende Fehler
- Benötigte Fehleranalysemechanismen für die Firmware-Entwicklung
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 | |
| 26.01. - 29.01.2026 | München | |
| 17.02. - 20.02.2026 | Köln | |
| 02.03. - 05.03.2026 | Nürnberg |



