← Startseite
Technologien und Plattformen
Programmiersprachen, Hardware-Plattformen, Bus-Systeme und Werkzeuge — die Auswahl folgt den Anforderungen des Projekts, nicht meiner Vorliebe.
Diese Seite gibt einen kompakten Überblick über die Technologien, mit denen ich arbeite. Die Liste ist nicht erschöpfend — sie nennt die Plattformen, Sprachen und Werkzeuge, die in meinen Projekten häufig vorkommen oder die ich für Embedded-Entwicklung als besonders relevant einstufe. Falls Ihre konkrete Plattform hier nicht aufgeführt ist, bedeutet das nicht zwangsläufig fehlende Erfahrung; in Embedded-Projekten lassen sich Konzepte oft auf andere Plattformen übertragen, sobald die Aufgabenstellung klar ist.
Sprachen
1. Programmiersprachen und Hardware-Beschreibungssprachen
Auswahl der Sprache nach Aufgabe: hardware-nah und ressourcensparend in C oder Assembler, objektorientiert in C++, FPGA-Logik in VHDL und SystemVerilog, Werkzeuge und Auswertungen in Python.
- C — Hauptsprache für Mikrocontroller-Firmware, von Bare-Metal bis FreeRTOS
- C++ — für komplexere Embedded-Anwendungen mit Objektstrukturen, MISRA-konform einsetzbar
- Assembler — bei extremen Restriktionen, Hardware-Treibern, Boot-Code und Reverse Engineering
- VHDL — FPGA-Designs mit hoher Strukturklarheit
- SystemVerilog — moderne FPGA-Entwicklung, Testbenches, Verifikation
- Verilog — klassische FPGA-Beschreibung
- Python — Testautomatisierung, Werkzeug-Skripte, Datenauswertung, Web-Backends
- Kotlin — für begleitende Android-Apps zu Embedded-Geräten
- JavaScript / HTML / CSS — Web-Frontends und Konfigurations-Interfaces
MCU
2. Mikrocontroller-Plattformen
Erfahrung mit allen im Embedded-Markt etablierten Mikrocontroller-Plattformen — vom Hochleistungs-ARM-Cortex bis zum kostenoptimierten Atmel-Chip, sowohl als reine Mikrocontroller als auch in Form von Board-Plattformen wie Arduino oder BeagleBone.
- ARM Cortex-M — die Standardplattform für mittlere Anforderungen
- ARM Cortex-A — wenn Linux oder mehr Rechenleistung gefragt sind
- ESP32 — Wi-Fi/Bluetooth-fähige Embedded-Anwendungen
- Atmel / Microchip AVR — z. B. ATmega-Familie für preissensitive Projekte
- Arduino — schneller Prototypen-Aufbau, Lehre und Demonstrationen
- BeagleBone — ARM-Cortex-A-Plattform mit Linux für anspruchsvollere Anwendungen
- Mikrocontroller mit minimalem Speicher — bare-metal, ohne Echtzeit-Betriebssystem (Stihl-Projekt als Beispiel, siehe Referenzen)
- weitere Plattformen auf Anfrage
FPGA
3. FPGA-Plattformen
FPGA-Entwicklung von der Spezifikation bis zur Verifikation. Schwerpunkt auf Xilinx-Produkten, vertraut mit den modernen Toolchains und Verifikationsmethoden.
- Xilinx Artix-7 — kosteneffiziente FPGAs für Steuerungs- und Signalverarbeitungsaufgaben
- Xilinx Zynq — kombinierte ARM+FPGA-Plattform für komplexe Systeme
- Vivado — Toolchain für Synthese, Implementierung und Programmierung
- Icarus Verilog / Verilator — Open-Source-Simulatoren für schnelle Iterationen
- SystemVerilog Testbenches — strukturierte Verifikation von FPGA-Designs
Bus
4. Bus-Systeme und Kommunikationsprotokolle
Erfahrung mit den im Automotive-, Industrie- und Embedded-Umfeld etablierten Bus-Systemen — von hardware-naher Implementierung bis zur Diagnose.
- CAN / CAN FD — Automotive- und Industrie-Standard
- MOST — Infotainment-Bus mit Erfahrung aus dem Audi-Projekt (siehe Referenzen)
- Ethernet / EtherCAT — Echtzeit-fähige Industriekommunikation
- SPI / I²C / UART — Standard-Schnittstellen für Sensoren und Peripherie
- UDS (ISO 14229) — Diagnose-Protokoll für Steuergeräte
- WebSocket / MQTT — für IoT- und Cloud-Anbindungen
RTOS
5. Echtzeit-Betriebssysteme und Frameworks
Auswahl der Software-Architektur nach Projektanforderung — von bare-metal auf knappen Mikrocontrollern bis zu kompletten Echtzeit-Betriebssystemen mit Multi-Core-Architektur.
- Bare-Metal — wenn Speicher und Determinismus zählen
- FreeRTOS — der De-facto-Standard für RTOS auf Mikrocontrollern
- Multi-Core-Architekturen — Verteilung von Aufgaben auf mehrere Kerne
- Linux Embedded — auf Plattformen wie BeagleBone, wenn Anwendungen davon profitieren
Werkzeuge
6. Werkzeuge, Test-Frameworks und IDEs
Werkzeuge sind Mittel zum Zweck. Ich arbeite mit dem, was zum Projekt passt — und kann mich in unbekannte Toolchains zügig einarbeiten, sofern sie projektrelevant sind.
- Vector CANoe / CAPL — Standard für Automotive-Tests und Bus-Simulation
- LabView — Mess- und Steuerungs-Software
- Robot Framework — End-to-End-Testautomatisierung
- HIL-Setups — Hardware-in-the-Loop für integrierte Systemtests
- Pulsonix — Schaltplan- und Layout-Tool für Leiterplatten
- Vivado — Xilinx-FPGA-Toolchain
- Git / GitLab — Versionsverwaltung und Code-Review
- Wireshark — Netzwerk- und Bus-Analyse
Web/App
7. Web- und App-Technologien (für begleitende Software)
Wenn Embedded-Geräte eine Konfigurations-Oberfläche, ein Dashboard oder eine mobile App benötigen, kann ich die begleitende Software ebenfalls liefern.
- JavaScript / HTML / CSS — Web-Frontends
- Chart.js — Datenvisualisierung im Browser
- Python / Flask — Web-Backends
- Node.js — Server-Komponenten
- Socket.IO / WebSocket / MQTT — Echtzeit-Datenübertragung
- Kotlin — Android-Apps für Embedded-Geräte
- REST-APIs — standardisierte Schnittstellen zwischen Embedded und Cloud
Was nicht in dieser Liste steht
Diese Seite nennt die häufig genutzten Technologien — sie ist kein vollständiger Katalog. Wenn Ihre Plattform, Ihre Sprache oder Ihr Tool hier nicht aufgeführt ist, lohnt es sich trotzdem, das Projekt zu besprechen. In Embedded-Entwicklung zählt am Ende weniger, welche konkrete Toolchain man kennt, sondern wie schnell man sich in eine neue Toolchain einarbeitet und wie tief man die zugrundeliegenden Konzepte verstanden hat.