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)
