Softwareentwickler für Embedded-Systeme, C, C++
Aktualisiert am 07.01.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.02.2024
Verfügbar zu: 100%
davon vor Ort: 40%
C++
Python
Embedded C
Fehleranalyse
Java (JUnit - Mockito - DBUnit)
Lauterbach Debugger
Vector CANape
Vector CANoe
Vector CANalyzer
Dynamische Modultests
Statische Codeanalyse - QAC
CAN / Flexray
Deutsch
Muttersprache
Englisch
Gut (in Wort u. Schrift)

Einsatzorte

Ravensburg (Württemberg) (+300km)
Deutschland, Schweiz, Österreich
möglich

Projekte

3 Monate
2023-10 - 2023-12

Embedded-Software-Entwicklung in C++11 zur Anbindung von I2C- und SPI-Geräten am Raspberry Pi 3 und 4 unter Arch Linux

Embedded-Entwickler C++11 Embedded-Linux Daemon ...
Embedded-Entwickler
  • Verwenden der Zielplattformen Raspberry Pi 3 und Raspberry Pi 4 (ARM Cortex) mit Arch Linux sowie der Entwicklungsplattform Intel NUC Computer mit Linux Mint 21, Eclipse IDE für Embedded C/C++ und Git für die Versionsverwaltung.
  • Einrichten des GNU GCC Cross-Compilers und GDB Cross-Debuggers zum Arbeiten zwischen der Entwicklungsplattform und den Raspberry Pi-Zielplattformen.
  • Installieren und Konfigurieren von Linux Mint, Arch Linux sowie der benötigten Entwicklungswerkzeuge. Einrichten von Benutzerkonten, Gruppen und Geräten mit den erforderlichen Berechtigungen.
 
  • Projekt 1 - Ereignisgesteuerte Anzeige von Sensor-Daten: 
    • Anbinden des I2C-Licht-Sensors BH1750 und des I2C-OLED-Displays SSD1306 am Raspberry Pi 3 unter Verwendung von Multi-Threading und Event-Handling, um die Licht-Werte bei Änderungen ereignisgesteuert auf dem Display zu aktualisieren.

  • Projekt 2 - SPI-CAN-Modul-Kommunikation:
    • Anbinden von SPI-CAN-Modulen MCP2515 am Raspberry Pi 3 und Raspberry Pi 4 unter Verwendung der Treibermodule ?spi-bcm2835? und ?mcp2515? zur CAN-Kommunikation. 
    • Implementieren eines CAN-Sockets zur Kommunikation zwischen den Raspberry Pi-Geräten. Überprüfen der SPI-Daten und der CAN-Kommunikation mit einem Oszilloskop sowie den Open-Source-Werkzeugen ?can-utils?.
    • Anbinden des I2C-Licht-Sensors BH1750 am Raspberry Pi 3 und des I2C-OLED-Displays SSD1306 am Raspberry Pi 4. 
    • Entwickeln von Klassen zum Erzeugen von CAN-Frames und -Signalen. 
    • Eventgesteuertes Übermitteln der BH1750-Licht-Werte vom Raspberry Pi 3 zum Display am Raspberry Pi 4 via CAN.
     
    • Projekt 3 - TCP- und UDP-Sockets:
      • Implementieren und Testen von Inter-Prozess-Kommunikation (IPC) unter Verwendung von TCP- und UDP-Sockets. Dies umfasst die Entwicklung sowohl von TCP- als auch von UDP-Socket-Clients und -Servern. Evaluieren der Funktionalität durch Kommunikations-Tests zwischen Raspberry Pi 3 und Raspberry Pi 4.

  • Projekt 4 - Web-basierte Visualisierung von BME280-Sensorwerten:
    • Anbinden des I2C-Sensors BME280 am Raspberry Pi 3 zum Erfassen von Temperatur, Luftdruck und Luftfeuchtigkeit. 
    • Ereignisgesteuertes Übertragen der erfassten BME280-Sensor-Daten im JSON-Format durch einen TCP-Socket-Client auf dem Raspberry Pi 3 an einen TCP-Socket-Server auf dem Raspberry Pi 4. 
    • Installieren eines Apache-HTTP-Servers und Erstellen einer HTML-Seite auf dem Raspberry Pi 4, um die empfangenen Sensor-Daten per Web-Browser abrufen zu können.
    • Übertragen der Sensor-Daten in die Webseite mittels eines implementierten Websocket-Servers und eines in das HTML eingebetteten Websocket-Clients, geschrieben in JavaScript. Die
      Sensor-Daten werden vom TCP-Socket-Server zum Websocket-Server weitergeleitet und dann in Echtzeit an das JavaScript in der Webseite übermittelt.
    • Anpassen des Programms auf Raspberry Pi 3 und 4 als Daemon-Service und Anbinden an Systemd-Service zur automatischen Ausführung nach dem Booten.

  • Projekt 5 - SPI-MicroSD-Karten-Gerät:
    • Anbinden eines SPI-MicroSD-Karten-Gerätes am Raspberry Pi 3 mit Hilfe des MultiMediaCard-SPI-Treibermoduls mmc_spi und entsprechender Device-Tree-Konfiguration

C++11 Embedded-Linux Daemon JavaScript JSON HTML EventHandling Multi-Threading IPC - Inter-Prozess-Kommunikation (TCP- / UDP-Sockets) I2C SPI Raspberry Pi 3 and 4 Arch Linux Linux Mint 21 I2C-Licht-Sensor BH1750 I2C-OLED-Display SSD1306 SPI-MicroSD-Karten-Gerät SPI-CAN-Modul MCP2515 I2C-Sensor BME280 (Temperatur / Luftdruck / Luftfeuchtigkeit) Eclipse IDE (Embedded C/C++) GNU GCC ARMCompiler GDB Cross-Debugger + GDB-Server Git-Versionsverwaltung nano ssh can-utils Oszilloskop / Logic Analyzer Rigol MSO2202A Löt-Equipment
7 Monate
2023-02 - 2023-08

Testautomatisierung, Fehleranalyse und Validierung von 3D-Scanner-Tools (Structured Light Scanner)

SW-Tester PolyWorks + Scripting Language Jira Confluence ...
SW-Tester
  • Umsetzen und Anpassen diverser Tests für das PolyWorks-Scanner-Plugin in der PolyWorksSkriptsprache
    • Optimieren des bestehenden Test-Konzeptes bzgl. Wiederverwendbarkeit, Lesbarkeit und Anwendung

    • Implementieren eines HTML-Test-Report-Generators


  • Analysieren, Bewerten und Dokumentieren von fehlerhaften Funktionalitäten bei Scan-, Kalibrierund Konfigurations-Tools


  • Validieren von Scanner-, Kalibrier- und Konfigurations-Tools für 3D-Scanner
Structured Light Scanner
PolyWorks + Scripting Language Jira Confluence HTML Mercurial SCM (TortoiseHg) Scanner (PrimeScan SmartScan StereoScan Neo) Kalibrier-Equipment Scrum
Hexagon AICON ETALON GmbH
Meersburg
1 Jahr 7 Monate
2021-06 - 2022-12

SW-Entwicklung in C++11 für Motor- und HMI-Komponenten eines E-Bikes

Embedded-Entwickler Embedded C++11 Infineon Aurix TriCore µC CAN ...
Embedded-Entwickler

Entwicklung von Anwendungs- und Basissoftware in C++ (Infineon Aurix TriCore ?C) für die Motor- und HMI-Komponenten eines E-Bikes:

  • Implementieren von Modulen und Funktionen gemäß Anforderungen:
    •  Umsetzen von sicherheitsrelevanten Funktionen gem. ISO 26262
    • Berechnen und Weiterleiten diverser Fahrraddaten per CAN-Bus 
    • Einbauen und Anpassen von Security-Access für UDS 
    • Umsetzen von UDS-Diensten gem. ISO 14229 zum Lesen und Schreiben von Daten 
    • Bereitstellen von Daten für den Einsprung in den Bootloader via UDS 
    • CAN-Signal-Anbindung und -Umwandlung (Rohwerte / physikalische Werte) 
    • Einbauen und Anpassen einer Ende-zu-Ende Kommunikationsabsicherung (E2E-Protection mit CRC u. AliveCounter) für sicherheitsrelevante CAN Botschaften gem. ISO 26262 
    • Konfiguration des ZF-ErrorHandlers 
    • Anpassungen von Makefiles sowie von Memory Sections
  • Durchführen von funktionalen Tests und Beheben diverser Codefehler

E-Bike
Embedded C++11 Infineon Aurix TriCore µC CAN ISO 26262 Eclipse ZF-SoftCar (SIL) Git (SmartGit) Bitbucket Codebeamer Lauterbach-Debugger (T32 / Trace32) CANalyzer CANape ZF MobiDig diagnostic tool Unified Diagnostic Services (UDS / ISO 14229) CMake Unit-Tests Scrum
ZF Friedrichshafen AG / BrakeForceOne GmbH
Friedrichshafen
1 Jahr 3 Monate
2020-01 - 2021-03

Basis-Software-Entwicklung in C für Body-Domain-Controller

Entwickler Embedded C SPC5 Chorus µC CAN ...
Entwickler

Basis-Software-Entwicklung für Body-Domain-Controller (SPC5 Chorus ?C):

  • Anpassen bestehender und Implementieren neuer Funktionen (C-Code)
    • Debug-Info-Handler zur Ausgabe diverser Debug-Informationen per CAN-Bus
    • Berechnung des Task-Stack-Verbrauchs
  • Analysieren, Bewerten und Beheben von Fehlern (funktionale Fehler, Laufzeitverhalten)
  • Durchführen und Dokumentieren von funktionalen Tests
  • Durchführen von statischer Codeanalyse mit QAC (MISRA)

Body-Domain-Controller
Embedded C SPC5 Chorus µC CAN FlexRay Ideas (Eclipse-IDE) PTC Integrity CANoe iSYSTEM-Debugger (winIDEA) QAC Tresos Scrum
Conti Temic microelectronic GmbH
Markdorf
5 Jahre 10 Monate
2014-04 - 2020-01

Basis-Software-Entwicklung (C-Code) in über 10 Projekten der Systeme EPS (Electric Power Steering), AKC (ActiveKinematicsControl-System) und ERC (Electromechanical Roll Control):

Entwickler Embedded C ISO 26262 Infineon Aurix TriCore µC ...
Entwickler

  • Entwicklung mit C / AUTOSAR in mehr als 10 Projekten der Systeme EPS, AKC und ERC
  • Umsetzung von Kunden-Anforderungen unter Berücksichtigung von ISO 26262, Fehleranalyse sowie Fehlerbehebung:
    • Erstellen neuer Komponenten, z.B.: Berechnung TaskStack-Verbrauch, OverlayControl-Handling (), Varianten-/Datensatz-Handling, CRC-Checks, Spannungs- und Temperaturüberwachung, Hardware-Muster-Erkennung

    • Anpassen des ROM / RAM-Layouts und des Sektions-Handlings

    • Anbinden von CAN- und FlexRay-Signalen per Vector DaVinci Configurator und Developer

    • Aufbereiten der CAN und FlexRay-Signale (Rohwerte / physikalische Werte), z.B. Strom- / Spannungs-Werte, Berechnung von Radfrequenzen

    • Bearbeiten des ZF-ErrorHandlers und Erweitern der DTC-Umweltdaten zur Ausgabe per UDS

    • Durchführen und Dokumentieren von funktionalen Tests

    • Durchführen von dynamischen Modultests (MCDC Code-Coverage) mit VectorCAST

    • Durchführen von statischer Codeanalyse mit QAC und Polyspace

  • Erstellen von Fluss-Diagrammen sowie Black-Box-Views mit Enterprise-Architect

  • Erstellen von Python-Skripten und Anpassen der CAN / FlexRay-Bus-Simulation

Vorderachslenkung Hinterachslenkung Wankstabilisierung
Embedded C ISO 26262 Infineon Aurix TriCore µC Lauterbach-Debugger (T32 / Trace32) CAN FlexRay CANape CANalyzer CANoe Vector DaVinci Configurator / Developer (AUTOSAR) Vector Geny ClearCase ClearTeam-Explorer ClearQuest PTC Integrity INCA DOORS Eclipse QAC VectorCAST Unit-Tests MCDC-Coverage Polyspace Diagnose-Tools DSA und Ediabas + ZGW-Hardware von BMW Unified Diagnostic Services (UDS / ISO 14229) Diagnostic Trouble Code (DTC) Enterprise-Architect Python EPS-PowerPack/-Aktuator AKC-Systeme Scrum
ZF Friedrichshafen AG
Friedrichshafen
2 Monate
2019-08 - 2019-09

Nachbau einer 433MHz-Rolladen-Fernbedienung durch Reverse-Engineering

Embedded-Entwickler Embedded C Arduino-UNO-Board 433MHz Sender und Empfänger ...
Embedded-Entwickler
  • Lesen, Dekodieren und Interpretieren von Sender-Impulsen mittels eines 433MHz-Empfängers und eines Oszilloskops / Logic Analyzers (Rigol MSO2202A).

  • Nachbau des Somfy-Senders mittels eines 433MHz-Senders, eines Arduino-UNO-Boards und der Sender-Impuls-Umsetzung in C-Code (Bare-Metal-Programmierung). Die Sender-Impulse werden vor dem Senden, wie bei der originalen Somfy-Rolladen-Fernbedienung, generiert und verschlüsselt.
Embedded C Arduino-UNO-Board 433MHz Sender und Empfänger Wiederstände Rigol MSO2202A Oszilloskop Original Somfy Rolladen mit 433MHz Fernbedienung Löt-Equipment
2 Jahre 3 Monate
2012-01 - 2014-03

Basis-Software-Entwicklung in C für SMR-Radar-Sensoren

Entwickler Lauterbach-Debugger CANape CANalyzer ...
Entwickler
Basis-Software-Entwicklung (C-Code) für Radar-Sensoren (Short and Midrange Radar):
  • Entwicklung in der Basis-Software (C-Code) für Radar-Sensoren (Short and Midrange Radar):
  • Fehleranalyse und Fehlerbehebung mittels Lauterbach-Debugger, Oszilloskop, CANape,CANalyzer und Eclipse
  • Automatisierung von Lauterbach-Test-Skripten mit T32-Practice-Language:
    • Zeitmessungen von Tasks, Timeouts sowie Interrupt-Sperren
    • Prüfen des EEPROM-Verbrauchs und der Rom/Ram-Blockgrößen
    • Sicherstellen der MCAL-Register-Konfigurationen
    • Prüfen der Software-Kontroll-Zustände und entsprechender Zustandsübergänge
    • Prüfen des Dem-Error-Handlings
  • Statische Code-Analyse - QAC (MISRA)
  • Bereitstellen von Autosar-RTE-Schnittstellen für die Applikations-SW mit CESSAR
  • Konfiguration der SW-Stände mit MKS / Integrity
  • Erstellen von Fluss-, Abhängigkeits- und Sequence-Diagrammen mit Rhapsody
Radar-Sensoren
Lauterbach-Debugger CANape CANalyzer MKS DOORS Rhapsody Oszilloskop Tresos XCP-DownloadTool QAC Eclipse CESSAR T32-Practice-Language MTS (Mess-Tool) Embedded C CAN Scrum
ADC-GmbH / Continental
Lindau (Bodensee)
2 Jahre 2 Monate
2009-11 - 2011-12

Konfiguration und Integrationsplanung für Electric-Power-Steering-Projekte

Clear-Case Clear-Quest CANalyzer ...

Konfiguration von 5 parallel laufenden Software-Projekten (C-Code) für Servolectric-Systeme unter ClearCase:

  • Erarbeiten von Konfigurations-Strategien, Anpassen der Build-Umgebung
  • Mitwirken bei der Planung von Software-Releases und Änderungsanforderungen (ChangeRequests / CRs) unter ClearQuest. Sicherstellen eingeplanter CRs
  • Überprüfen und Bewerten integrierter Software-Stände am "Lenkungswagen"
  • Durchführen von dynamischen Modultests (Code-Coverage) mit einem ZF-internen Test-Tool
Vorderachslenkungen
Clear-Case Clear-Quest CANalyzer Lauterbach-Debugger INCA CAN-Flash Beyond Compare Enterprise-Architect Axalant PolySpace T1 (Laufzeitmessung) Python C VBA
ZF-Lenksysteme (heute Bosch Automotive Steering)
Schwäbisch-Gmünd
6 Monate
2008-09 - 2009-02

Integration von Gesamt-Software-Ständen in C für Doppelkupplungsgetriebe

Integrator CANalyzer Lauterbach-Debugger INCA ...
Integrator
Software-Integration von Gesamt-Software-Ständen (C-Code) für Doppelkupplungsgetriebe
  • Sicherstellen eingeplanter Änderungs-Anforderungen und Dokumentation des Integrationsverlaufs unter Verwendung von Clear-Case und Clear-Quest

  • Überprüfen und Bewerten der Software-Stände mit SoftCar (ZF), INCA, CANalyzer und Lauterbach-Debugger
Doppelkupplungsgetriebe
CANalyzer Lauterbach-Debugger INCA Embedded C ClearCase ClearQuest CAN ZF-SoftCar (SIL)
ZF Friedrichshafen AG
Friedrichshafen
11 Monate
2007-10 - 2008-08

Fehleranalyse interner Diagnosefunktionen in C, Hardware- / Software-Tests

Tester, Entwickler CTE ATS CANalyzer ...
Tester, Entwickler

Hardware- / Software-Integrations-Tests (gem. DO-178B) zur Verifikation einer Aktuator-Software (C Code / Interne Diagnose eines dual-redundanten Systems):

  • Durchführen von Fault-Insertion-Tests an der Hardware
  • Erstellen automatisierter Test-Sequenzen mit ATS (unter Verwendung von CANalyzer / CAPL)
  • Lokalisierung und Behebung von Software-Fehlern (Analyse von CAN-/ARINC-Signalen)
  • Bearbeiten von Anforderungs- und Test-Dokumenten. Konfiguration von Code, Tests und Dokumenten (Adobe Frame-Maker, STS)
Aktuatorsteuerung
CTE ATS CANalyzer A429BAST minicom Eclipse "System"-Simulator C CAN ARINC CAPL
Liebherr Aerospace Lindenberg GmbH
Lindenberg im Allgäu

Aus- und Weiterbildung

1 Monat
2009-07 - 2009-07

Seminar C#


1 Monat
2008-05 - 2008-05

Seminar ?ISTQB Certified Tester - Foundation Level?

ISTQB Certified Tester,
ISTQB Certified Tester

Position

Softwareentwickler für Embedded-Systeme, C, C++

Kompetenzen

Top-Skills

C++ Python Embedded C Fehleranalyse Java (JUnit - Mockito - DBUnit) Lauterbach Debugger Vector CANape Vector CANoe Vector CANalyzer Dynamische Modultests Statische Codeanalyse - QAC CAN / Flexray

Produkte / Standards / Erfahrungen / Methoden

CANalyzer
CANape
CANoe
ClearCase
ClearQuest
DOORS
Eclipse
INCA
Jira
PTC Integrity
Rhapsody
Tresos
Entwicklungs-Tools:
  • Vector Geny, DaVinci Configurator / Developer
  • IBM Rational Rhapsody 7.6.1 (for C)
  • ElectroBit - Tresos Sudio 2008(Pin- / Register-Konfig. für MCAL)
  • Conti CESSAR (für AUTOSAR-Schnittstellen)
  • Eclipse f. Entwicklung in Java (Git, Maven) und C
  • MS Visual Studio 8
  • Beyond Compare

Bus-Simulation / Analyse:

  • Vector CANape, CANoe, CANalyzer (CAPL)
  • INCA (ETAS)
  • A429-BAST - ARINC 429 Bus Analyzer and Simulation Tool

Test-Tools:

  • VectorCAST (dynamische Modul-Tests)
  • QAC (statische Modul-Tests gem. MISRA)
  • Polyspace
  • ZF Softcar


Sonstige Tools:

  • Jenkins Build-Server
  • Enterprise Architect
  • IBM Telelogic DOORS 9.3
  • Axalant


Versions- und Release-Verwaltung:

  • IBM Rational ClearCase u. ClearQuest
  • MKS / PTC Integrity
  • Git (SmartGit)
  • Intland Codebeamer



Betriebssysteme

Arch Linux
Windows
98/ 2000 / XP / 7 / 10
Linux Mint
Linux SuSe

Programmiersprachen

Assembler 80x86
C
C++
GTK+ (GUI)
HTML
K-Shell
Lisp
OpenGL
Perl
Python
SQL
Visual Basic
XML
VBA
Java
JUnit, Mockito, DBUnit, Swing, JDBC
Bourne-Shell
Practice-Language für Lauterbach-Debugger
C#
Windows-Forms, WPF, ADO.NET
CSS
JavaScript
Basics

Datenkommunikation

ARINC
CAN
FlexRay

Hardware

ARINC429-BAST Card
E-Tester / Diagnostic Tester (Daimler)
Embedded-Echtzeit-Systeme
Lauterbach Debugger (T32)
Multimeter
Oszilloskop
Agilent MSO7104A, Rigol MSO2202A
iSYSTEM-Debugger (winIDEA)
Vector-HW für CAN u. FlexRay Simulation
MTS
Measurement, Testing and Simulation / MI Hardware ? Measurement Interface (Conti)


Berechnung / Simulation / Versuch / Validierung

  • Hardware-in-the-Loop Simulation (HIL)
  • CTE - Classification Tree Editor zur Darstellung von Testfällen
  • ATS - Automated Test Sequenzer zur Test-Automatisierung
  • CANalyzer (CAPL)
  • A429-BAST - ARINC 429 Bus Analyzer and Simulation Tool
  • SoftCar - ZF-Simulations-Tool
  • INCA (ETAS)
  • PolySpace
  • T1 (Laufzeitmessung - GLIWA GmbH)
  • Hudson Integrations-Server
  • CruiseControl Integrations-Server
  • Trac (Projekt- und Problem-Report-Werkzeug)

Design / Entwicklung / Konstruktion

  • Hummingbird Connectivity 2006
  • AutoCAD 2000
  • MS Office 2003 / 2007
    VMWare / Virtual PC
  • Adobe Photoshop CS4
  • Adobe FrameMaker
  • minicom
  • MS Visual Studio.NET 2003
  • Eclipse 3.1
  • Microsoft Visual C# 2008 Express Edition
  • Gnu Make
  • Ant
  • TotalCommander
  • IBM Rational ClearCase / ClearQuest   (Versionskontrolle und Release-Planung)
  • STS (Versionierung u. Bug-Tracking)
  • Subversion
  • Enterprise Architect
  • GreenStudio (ZF-Lenksysteme Flash-Werkzeug)
  • CAN-Flash (Vector Informatik)
  • CANalyzer (Vector Informatik)
  • Hexview (Vector Informatik)
  • Beyond Compare
  • Axalant

Branchen

  • Automotive
  • Aerospace

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.