Profilbild von Thomas Kloeker Senior Embedded Software Developer aus Recklinghausen

Thomas Klöker

teilweise verfügbar

Letztes Update: 05.05.2025

Senior Embedded Software Developer

Firma: Thomas Klöker Systemprogrammierung
Abschluss: Dipl.-Phys.
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: Deutsch (Muttersprache) | Englisch (gut)

Schlagwörter

C++ Linux Embedded Software Fahrerassistenzsysteme Penetration Testing Computer Vision Assemblersprache Test Automation Automotive Electronics Automobilindustrie + 18 weitere Schlagwörter anzeigen

Dateianlagen

cv-tkloeker-250209-de_090225.pdf
cv-tkloeker-250209-en_090225.pdf

Skills

Ich bin Diplom-Physiker und seit 1990 (zunächst parallel zu meinem Studium) als freiberuflicher Systemprogrammierer im Projektgeschäft tätig. In dieser Zeit habe ich umfangreiche Erfahrungen in der selbstständigen Abwicklung von Softwareprojekten erwerben können. In den letzten 25 Jahren war ich hauptsächlich im Automotivebereich tätig, die letzten 7 ½ Jahre davon in Autonomous-Driving-Projekten für diversen ADAS- Steuergeräte.
Ich bin ausgewiesener Experte für die Entwicklung von Embedded Software in C/C++, sowohl für High-Level Feature-Entwicklung etwa mit Adaptive Autosar unter Linux als auch für Low-Level-Firmware-Entwicklung wie Device Drivern direkt auf dem „bare metal“. Ich habe Projekterfahrungen mit diversen Microcontrollerfamilien sammeln können und war häufig als Firefighter in der Fehlersuche oder Ressourcenoptimierung tätig. Bei diesen Tätigkeiten, die die Analyse mir zuvor unbekannter Software z.T. bis herunter auf die Assemblerebene erforderte, habe ich oft Projekte durch den Vorschlag von erfolgreichen Laufzeit- oder Speicheroptimierungsmaßnahmen maßgeblich weiterbringen können.
Ich verfüge über umfangreiche Kenntnisse und Erfahrungen auf folgenden Gebieten:
  • Firmwareentwicklung für kundenspezifische Mikrocontrollerschaltungen in C/C++ oder auch Assembler
  • Programmierung unter Echtzeitbetriebssystemen wie QNX oder FreeRtos inklusive Multicoredebugging
  • Treiber- und Anwendungsentwicklung unter Windows und Linux etwa mit Qt
  • Compiler- und Interpreterbau mit Lex und Yacc
  • Generische und komponentenorientierte Programmierung für wiederverwendbare Software
  • Automotive-Normen und –Tools für Softwareerstellung und Softwarevalidierung
  • Protokollentwicklung für Feldbusse wie Automotive Ethernet, CAN, LIN etc.
  • Embedded Systems Security Analysetechniken wie Fuzzing, Pentesting etc.
  • Grundtechniken für autonomes Fahren wie Trajectory Planning, Deep Learning, Computer Vision, Sensor Fusion, Localization etc.
  • Automatisierte Tests auf HIL-Plattformen wie dSpace z.B. über Python-Scripte
Eine meiner besonderen Stärken ist die schnelle Einarbeitung in neue Aufgabenbereiche und Fachgebiete. Ich bin immer an neuen Herausforderungen interessiert, die ich aktuell ab dem 1. 3. 2025 suche.

Projekthistorie

01/2024 - bis jetzt
Projekt Mercury Ausweichassistent
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

Mitarbeit im Feature Team für die Überarbeitung bzw. Neuentwicklung des BMW Ausweichassistenten (ESS) auf einer neuen Integrationsplattform. Implementierung von Funktionsteilen sowie zugehöriger Unit Tests, Components Tests, Benchmark-Tests und SIL-Tests.

Hardware: Qualcomm ARM 8 Kern Performance SoC

Software: Embedded Linux, CodeBeamer, Jira, Github, Bazel, VisualStudio Code, gcc, clang, GoogleTest, GoogleBenchmark, Coverity

01/2022 - 12/2023
Projekt Mercury Trajektorienplanung Level 2 / 3
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

High Level Entwicklung und Wartung von Trajektorienplanungsfunktionen für Embedded Linux und Microcontroller-Zielplattformen mit verteilter Bereitstellung für verschiedene ECU-Generationen.

Hardware: Intel Denverton, Tricore Aurix TC397 Multicore - Mikrocontroller

Software: Embedded Linux, CodeBeamer, Jira, Github, Bazel, VisualStudio Code, gcc

09/2021 - 12/2021
BCP2021 Body Controller / Gateway
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

Laufzeitanalysen mit Gliwa T1 und Lauterbach Debugger insbesondere für die BSW-Cores führten zu geprüften Optimierungsvorschlägen für Einsparungen bis zu 5 % der Gesamtsystemlast pro Core.

Hardware: ST Chorus SPC58xHx Multicore - Mikrocontroller, Automotive Ethernet Switches, Lauterbach Debugger

Software: FreeRtos Echtzeitbetriebssystem, ESR-Labs BSW, LWIP TCP/IP-Stack, Gliwa T1 Timing Measurement, DiabData C/C++, UltraEdit Editor, Lauterbach Trace32

11/2020 - 08/2021
IP-Next / IP-Fahren Integrationsplattformen
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

Proof of Concept für Paravirtualisierung (unabhängige virtuelle ECUs) auf Aurix Multicore-Microcontrollern, vom Rest des Systems isolierter Core (Security Island) für Vehicle-To-Grid-Kommunikationsstacks mit OpenV2G / WolfSSL (TLS) / LWIP (TCP/IP) auf FreeRtos Echtzeitbetriebssystem. Test gegen RiseV2G-Referenzimplementierung in Java auf Windows PC.

Hardware: Tricore Aurix TC397 Multicore - Mikrocontroller, Automotive Ethernet Switches, Lauterbach Debugger

Software: FreeRtos Echtzeitbetriebssystem, LWIP TCP/IP-Stack, WolfSSL-TLS-Implementierung, OpenV2G / RiseV2G Vehicle-to-Grid Communication Stacks, Rpmsg-Inter-Core-Communication, Tasking C/C++, UltraEdit Editor, Lauterbach Trace32

07/2018 - 10/2020
xPad Fahrerassistenzsteuergerät
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

Design und Implementierung einer leichtgewichtigen Virtualisierungstechnologie (SmartVip) zur binären Trennung von Funktionsanteilen in Classic Autosar auf Aurix Multicore Mikrocontroller, Security-Analysen, Entwicklung IAM PDP in Adaptive Autosar auf Intel Denverton unter Linux, Fehlersuche GNU Mips C/C++ Compiler, Entwicklung von automatisierten Tests von SOME/IP-Busobjekten in Python mit Scapy.

Hardware: Tricore Aurix TC397 Multicore - Mikrocontroller, Intel Denverton, Mobileye EyeQ5, Automotive Ethernet Switches, Lauterbach Debugger

Software: Vector classic Autosar (Microsar), Tasking C/C++, Linux, Vector adaptive Autosar, UltraEdit Editor, Lauterbach Trace32, Scapy

09/2017 - 06/2018
SAS2018 Fahrerassistenzsteuergerät
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

Analyse diverser Teile eines aktuell im Serienanlauf befindlichen neuen Fahrassistenzsteuergerätes hinsichtlich Laufzeitoptimierung, um auch einen geplanten neuen Funktionshub bis 2020 noch mit derselben Hardware bedienen zu können. Innerhalb eines guten halben Jahres konnte tatsächliches Optimierungspotential in Höhe von ca. 18 % der Gesamtsystemlast anhand von durchgeführten Softwareverbesserungen aufgezeigt werden.

Hardware: Tricore Aurix TC297 Multicore - Mikrocontroller, Lauterbach Debugger

Software: Tasking C/C++, UltraEdit Editor, Lauterbach Trace32

01/2016 - 08/2017
BMS-O Motorsteuerung
BMW Group (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

Mitarbeit im BMS-MP – Team zur Entwicklung der nächsten Motorsteuerungsgeneration für BMW Motorräder. Portierung vorhandener Softwarefunktionen auf neue Hardwareplattform, Entwicklung eines eigenen Hardware-Abstraction-Layers für den Tricore TC1797 bzw. TC1793 sowie eigener Komplextreiber für die Erfassung von Kurbel- und Nockenwellensignalen sowie zur Ausgabe winkelsynchroner Ansteuerimpulse für Zündung und Einspritzung.

Hardware: Tricore TC1797/TC1793  - Mikrocontroller, BDM-Debugger UDE von PLS, ES581 von ETAS

Software: Hitech GNU C/C++, CodeWright Editor, ETAS Inca Applikationswerkzeug

Zertifikate

Self Driving Car Engineer Nanodegree
2017

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz
Profilbild von Thomas Kloeker Senior Embedded Software Developer aus Recklinghausen Senior Embedded Software Developer
Registrieren