Softwareentwickler embedded Systems

gewünschte Einsatzorte:
deutschlandweit
bevorzugt in Mülheim, Frankfurt/M, Köln, Essen
Wohnort:
Mülheim
Rollen:

Softwareentwickler

Skills:
Hardware
Mehrjährige Projekterfahrung Embedded Systems
NXP LPC43xx, LPC11Cxx, ARM Cortex-M4/M0, ARM7TDMI, TI DSP C2812, PowerPC, Renesas SH2A, R8C, Atmel AVR, Hitachi H8, Z80, 6502
Betriebssysteme
Linux, Keil RTX, µ-Itron, Unix, VxWorks, Windows
Programmiersprachen
C/C++ , Java , Assembler, Python, Rust
Entwicklungstools
gcc, gdb, make, diff, autotools, patch, Eclipse, Ant, JUnit, JMock, JCoverage, EMMA, Checkstyle, jad, git, Subversion, Polarion, PTC (MKS), CVS, Keil MDK, TI CodeComposer, IAR Workbench, Renesas HEW, Visual C+, PCAN-Explorer, Wireshark, CANoe, Optolyzer, Rhapsody, Rational Rose, Enterprise Architect , CM Synergy, Change Synergy, LTSpice, Oszilloskope, Logikanalysator
Datenkommunikation
Ethernet, IPv4, UDP, TCP, ZigBee, CAN, Bluetooth, USB, SPI, I2C, TCN, MOST, FlexRay, LIN
Fachliche Schwerpunkte
Hardwarenahe Softwareentwicklung, Embedded Systeme, Datenkommunikation
Ausbildung:
Studium der Informatik mit Nebenfach Elektrotechnik an der Universität Dortmund

Diplomarbeit: Induktives Theorembeweisen für Hornklauseln
Abschluss 1991

Wissenschaftlicher Mitarbeiter am Max-Planck-Institut für Informatik, Saarbrücken

2000 Promotion zum Dr.-Ing. (Informatik) an der Universität des Saarlandes, Saarbrücken,
Thema: Superposition Theorem Proving for Commutative Algebraic Theories

Name
Beschreibung
Projekte:
10/2016 - 03/2018
dSPACE GmbH, Paderborn
Aufgabe:

Mitarbeit an Systemsoftware für Echtzeit-Linux auf einem Embedded PC: 100BASE-T1 Ethernet, UDP-Socket-Kommunikation, Anbindung Congatec-Treiber, USB-Stick für System-Recovery, UEFI-Boot, Konfiguration Marvel 88E63xx Ethernet-Switch, Erweiterung C++-Systemsoftware, Fehlersuche Kernel-Treiber, Netzwerkkonfiguration IPv4, VLAN

Systemumgebung:
Linux RT_PREEMPT, Busybox, Congatec Embedded PC, dSPACE, Simulink

Programmiersprachen:
C, C++, Bash, Python

Entwicklungstools:
Eclipse, GCC, dSPACE Tools, PTC
Rolle(n): Software-Entwickler
03/2016 - 06/2016
Elster GmbH, Lotte
Aufgabe:
Betreuung von Tests für intelligente Gaszähler:
- Tests gemäß Great Britain Companion Specification
- Analyse der Testergebnisse (ZigBee Smart Energy, IEEE 802.15.4)
- Entwicklung von Software für die Erzeugung von Prepaid-Aufladecodes für Tests (AES-GCM, Diffie-Hellman mit Elliptischen Kurven)

Systemumgebung:
Gaszähler, ZigBee, Microsoft Windows, Linux

Programmiersprachen:
Python

Entwicklungstools:
Ember Insight Desktop, Polarion
Rolle(n): Testanalytiker
08/2012 - 11/2015
Cloos Innovations GmbH, Herborn
Aufgabe:
Mitarbeit an Software für Schweißstromquellen:
- Portierung von Regelungssoftware von TI DSP TMS320F2812 auf NXP LPC4357 Cortex M4/M0 Multicore
- Entwicklung von Hardwaretreibern auf LPC4357 (externer ADC/DAC über SGPIO/SPI, Ansteuerung H-Brücke mit SCT, Tests mit Sigma-Delta-ADC)
- Softwarepflege auf TI DSP F2812 und NXP ARM7TDMI LPC2378/LPC2478 (Fehlerbehebung, Zeitoptimierung, Regelungstechnik, Signalverarbeitung)
- Messung von Widerstand und Induktivität des Schweißkreises durch die Stromquelle (Entwicklung und Implementierung des Messverfahrens, Validierung durch Vergleichsmessungen)
- Software für Hardware-Modul mit LPC11C14: Sanftanlauf per Phasenanschnitt, Messung von Netzfrequenz, Netzspannung, Temperaturen per NTC, Kommunikation über CAN
- TCP über Anybus CompactCom M30/M40 Socket Interface

Systemumgebung:
NXP ARM Mikrocontroller, TI DSP, Keil RTX, CAN

Programmiersprachen:
C, Assembler

Entwicklungstools:
Keil MDK, TI CodeComposer, Eclipse, PEAK PCAN-Explorer, Subversion, Git
Rolle(n): Software-Entwickler
12/2011 - 05/2012
Wincor-Nixdorf International GmbH, Paderborn
Aufgabe:
Mitarbeit an Testsoftware und Tests für CEN/XFS Schnittstellen (CDM, CIM) auf Cash-Recycling-Systemen.

Systemumgebung:
Windows-PC, Cash-Recycling-Systeme.

Programmiersprachen:
C++

Entwicklungstools:
Eclipse, Visual C++, MKS
Rolle(n): Software-Entwickler
01/2010 - 05/2011
Continental Automotive GmbH, Wetzlar
Aufgabe:

Entwicklung der Telefonbuch- und Anruflistenfunktion für eine automotive Zentraleinheit, insbesondere Implementierung von Datenstrukturen für Sortieren und schnellen Zugriff.

Systemumgebung:
Renesas SH2A-Prozessor, µ-Itron, Bluetooth-Modul.

Programmiersprachen:
C/C++, Java für Code-Generierung

Entwicklungstools:
Eclipse, Renesas C/C++, Renesas HEW, Visual C++, Rhapsody, CM Synergy, Change Synergy
Rolle(n): Software-Entwickler
07/2008 - 12/2009
Bombardier Transportation GmbH, Mannheim
Aufgabe:

Wartung von Bahntechnik Diagnose-Systemkomponenten und dazugehörigen Tests, u.a. Portierung von VxWorks/Visual C nach Linux/gcc.

Systemumgebung:
Embedded x86-, PowerPC- und ARM-Systeme.
Proprietäre Frameworks basierend auf VxWorks bzw. Linux und QT.

Programmiersprachen:
GNU C/C++

Entwicklungstools:
GNU Make, GNU compiler tools, Visual C, Eclipse, coLinux, Wireshark, Mitrac Tools
Rolle(n): Software-Entwickler
04/2008 - 05/2008
Delphi Deutschland GmbH, Wiehl-Bomig
Aufgabe:
Entwicklung der Software für den Prototypen einer Automobil-Innenraumbeleuchtung mit Leuchtdioden.
- 14-Kanal Software PWM zum Dimmen der Leuchtdioden
- Einlesen von Tasten über A/D-Wandler
- Einbindung eines LIN-Treibers.

Systemumgebung:
Renesas R8C/20 Mikrocontroller, LIN
PC mit CANoe zur LIN-Simulation

Programmiersprachen:
IAR C

Entwicklungstools:
IAR Workbench, GNU Make, Eclipse, Subversion
CANoe, Intronix Logikanalysator
Rolle(n): Software-Entwickler
09/2007 - 02/2008
TÜV NORD Mobilität, Essen
Aufgabe:
Mitarbeit an einem Testsystem für Interoperabilität von FlexRay-Kommunikationskontrollern:
 - Implementierung und Wartung der Coderzeugung zur Steuerung der Tests
 - Implementierung der Flexray-Zeitsynchronisation auf den Boards zur Teststeuerung

Systemumgebung:

PC mit Java 6 und Eclipse
Board zur Teststeuerung mit Linux-Controller, 24 -Bit-Spezialprozessor im FPGA, AD9954 zur Taktmanipulation
Diverse Microcontroller / FlexRay-Kommunikationskontroller (NEC, FreeScale, TI, Infineon)

Programmiersprachen:
Java, Assembler

Entwicklungstools:
Eclipse, Subversion, Bugzilla, JUnit
Oszilloskope (LeCroy,  Yokogawa)
Rolle(n): Software-Entwickler
03/2005 - 08/2007
Siemens VDO, Wetzlar
Aufgabe:

Verschiedene Aufgaben im Zusammenhang mit der Programmierung von MOST bzw. BAP/CAN Gerätetreibern für High-End Auto-Multimedia-Systeme:

 - Implementierung der Aktivierung von DTCP zwischen DVD-Changer und Verstärker
 - Design und Implementierung eines Treibers für die iPod- bzw. USB-Anbindung über MOST
 - Integration eines Treibers für BlueTooth-Audio
- Implementierung und Wartung eines Treibers für die iPod-bzw. USB-Anbindung über BAP/CAN

Systemumgebung:
VxWorks, Java 1.1, PersonalJava + extensions, OSGi, Java Media Framework

Programmiersprache:
Java

Entwicklungstools:
Eclipse, Ant, JUnit, JMock, JCoverage, EMMA, Checkstyle, DJ, jad, Optolyzer, Rational Rose, Enterprise Architect, CM Synergy, Change Synergy, Beyond Compare

Referenz:
Siemens AG, Abteilung Siemens VDO Infotainment Solutions, Holger Föhre
Rolle(n): Software-Entwickler