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.

Farbschema

Sprache