Technologien

Im Rahmen verschiedener Embedded- und Firmwareprojekte arbeite ich mit unterschiedlichen Hardwareplattformen, Softwaretechnologien und Entwicklungswerkzeugen.

Die folgenden Technologien kommen in meinen Projekten regelmäßig zum Einsatz.

Programmiersprachen

  • C
  • C++
  • Python

Grundkenntnisse:

  • Java
  • JavaScript
  • PHP
  • C#

Embedded-Systeme

  • Microcontroller-Systeme (ARM / STM32)
  • Embedded Linux
  • Bare-Metal Firmware
  • Bootloader und Updateverfahren
  • Gerätetreiber und Hardwareanbindung

Betriebssysteme

  • Embedded Linux
  • FreeRTOS
  • NuttX
  • µC/OS
  • ThreadX
  • Azure RTOS

Kommunikationsprotokolle

Industrie:

  • CAN
  • CANopen
  • Modbus RTU / TCP
  • RS485

IP-basierte Kommunikation:

  • TCP/IP
  • UDP
  • MQTT
  • Bonjour / Avahi
  • SIP

Audio und Signalverarbeitung

Erfahrung in der Entwicklung digitaler Audioverarbeitung auf Embedded-Systemen, unter anderem:

  • digitale Audiopipelines
  • Echtzeit-Audioverarbeitung
  • Streamingprotokolle
  • DSP-basierte Signalverarbeitung
  • Echo-Cancellation
  • Voice-Oriented-Exchange (VOX)

Entwicklungswerkzeuge

  • Git / GitLab / Bitbucket
  • Jira
  • CI/CD mit GitLab
  • Pytest und Googletest
  • J-Link Debugging

Build- und Toolchains

  • Buildroot
  • Yocto
  • IAR
  • STM32Cube
  • Makefile-basierte Buildsysteme

Hardwareentwicklung und Prototyping

  • Eagle CAD
  • gEDA
  • Rapid Prototyping (LPKF)