Embedded Software Entwicklung (C / C++)

freiberufler Embedded Software Entwicklung (C / C++) auf freelance.de
Referenzen
offline
Verfügbarkeit einsehen
National
de  |  en
auf Anfrage
95445 Bayreuth
02.06.2019

Kurzvorstellung

Seit 2005 bin ich Software Entwickler mit dem Schwerpunkt Embedded Software / Linux Systemsoftware.

Ich biete

IT, Entwicklung
  • C++
  • C
  • Embedded Linux
  • Enterprise Architect (EA)
  • Softwareentwicklung (allg.)
  • UML
  • Testautomatisierung
  • Software Architektur / Modellierung
  • Projektleitung / Teamleitung (IT)
  • FMEA (Failure Mode and Effects Analysis)
  • Objektorientierte Analyse (OOA)
  • Objektorientierte Analyse und Design (OOAD)
  • Objektorientierte Programmierung (OOP)
  • Python

Projekt‐ & Berufserfahrung

Software Architekt
Kundenname anonymisiert, Friedrichsdorf
12/2017 – 7/2018 (8 Monate)
Automobilindustrie
Tätigkeitszeitraum

12/2017 – 7/2018

Tätigkeitsbeschreibung

Die Tätigkeiten umfassen:

Softwarearchitektur Embedded Linux Basis System

• Erstellung Softwarearchitektur Basissystem Embedded Linux im Bereich Comfort and Driving Assistance
• Abstimmung der Softwareschnittstellen mit Teams für übergeordneten Layern
• Abstimmung mit Requirement Engineering Team
• Erstellung Referenzimplementierungen in C
• Fachliche Unterstützung Softwareentwicklungsteam bei Umsetzung der Softwarearchitektur
• Review / Überprüfung der eingereichten Ergebnisse


Automatisierter System - und Integrationstest
• Erstellung System - und Softwarearchitektur
• Erstellung Implementierungsplan
• Erstellung Referenzimplementierung unter Python

Eingesetzte Qualifikationen

Embedded Linux, Extreme Programming, Testautomatisierung, Enterprise Architect (EA), C, Python


Embedded Software Engineer
Kundenname anonymisiert, Freiburg
9/2015 – 11/2017 (2 Jahre, 3 Monate)
Medizinaltechnik
Tätigkeitszeitraum

9/2015 – 11/2017

Tätigkeitsbeschreibung

Dieses Projekt ist eine Neuentwicklung eines lebenserhaltendes
Medizingerätes der Software Risikoklassen B/C gemäß IEC 62304

Die Tätigkeiten umfassen:
• Abstimmung mit Auftraggeber des Medizingerätes
• Anforderungsmanagement
• Begleitung Risikoanalyse, softwareseitig
• Ergänzungen Systemdesign gemäß Ergebnissen aus Risikoanalyse
• Spezifikation Software Architektur mit Enterprise Architect in Abstimmung mit Software-Architekten der Gesamtarchitektur
• Spezifkation Software-Detailed Design mit Enterprise Architect in Abstimmung mit Software-Architekten der Gesamtarchitektur
• Spezifkation Software-Unit/Modultest
• Spezifkation/Implementierung Continous Integration Umgebung
• Kommisarische Softwareprojektkoordination für 8 Monate
• Implementierung Aktor - Ansteuerung über CAN.
• Implementierung Prototyp:
• GUI unter EmbeddedLinux in QT/QML, C++, Risikoklasse B
• Konfigurationsmanagement Embedded Linux (Kernel + Root Image)
• Implementierung Software auf STM32F4 Risikoklasse B in der Sprache C unter Keil

Eingesetzte Qualifikationen

Projektleitung / Teamleitung (IT), FMEA (Failure Mode and Effects Analysis), Testautomatisierung, Enterprise Architect (EA), Objektorientierte Analyse (OOA), Objektorientierte Analyse und Design (OOAD), Objektorientierte Programmierung (OOP), Software Architektur / Modellierung, C, C++


Softwareentwickler
Kundenname anonymisiert, Breisgau
2/2015 – 5/2015 (4 Monate)
Medizinaltechnik
Tätigkeitszeitraum

2/2015 – 5/2015

Tätigkeitsbeschreibung

Übersicht:
Design und Entwicklung der Anbindung eines Medizinalgerätes an das ORNET.org.

Im aktuellen Projekt wird ein Medizinalgerät in das ORNET.org
integriert.
Die Tätigkeiten umfassen:
* Konzeption
* Anforderungsanalyse
* Modellierung gemäß Datenmodell nach DIN EN ISO 11073
* Softwareentwurf (UML)
* Implementierung
* Testspezifikation
* Testimplementierung (Unit/Modul - Tests)
* Dokumentation (Englisch)

Eingesetzte Qualifikationen

Embedded Linux, Testdesign (IT), UML, Softwareentwicklung (allg.), C++, Requirement Analyse


Software Entwickler / Architekt / Testengineer
Kundenname anonymisiert, Nürnberg
5/2014 – 1/2015 (9 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

5/2014 – 1/2015

Tätigkeitsbeschreibung

Im Rahmen der Prozesssicherheit wurde eine Toolchain entwickelt, welche die Bestückung der einzelnen Bauteile mit Software gemäß Kundenwunsch sicher stellt.
Kernstück ist ein Editor, mit dessen Hilfe XML basierende Software Stücklisten erstellt werden, die einen automatisierten, fehlerfreien Download der Kundensoftware auf die entsprechenden Umrichter garantieren.

Umgebung:
Visual Studio, Enterprise Architect

Technologien:
C#, XML, WPF

Tätigkeiten:
Konzeption, Implementierung, Testspezifikation, Testimplementierung, Testdurchführung

Eingesetzte Qualifikationen

XML, C#


Systementwickler
Kundenname anonymisiert, Bayreuth
3/2014 – 10/2014 (8 Monate)
Dienstleistungsbranche
Tätigkeitszeitraum

3/2014 – 10/2014

Tätigkeitsbeschreibung

Für ein Projekt im Astronomiebereich wurde für ein bildgebendes Verfahren ein angepasstes Linux Image für X86 basierte Embedded Controller zusammen gestellt.

Auf Basis einer bestehenden Linux Distribution wurde ein Linuxsystem Image erstellt, das besonders auf Echtzeitfähigkeit, langfristige Wartbarkeit, und leichte Portierung auf verschiedene Rechnersysteme getrimmt wurde.

Die Aufgaben im einzelnen umfassten:

Auswahl und Einkauf geeigneter Embedded Controller gemäss Spezifikation

Konfiguration Linux-Kernel mit RT-Preemptive Patch.

Verifikation Echtzeitfähigkeit gemäss Spezifikation

Optimierung Kernel Image auf Grösse, Startgeschwindigkeit

Erstellung von Patches für OpenSource Software wie ntpd

Erstellung TestSuite für Regressionstests

Erstellung von Debian Paketen, welche angepasste Software und Konfigurationen in das Debian Packaging System übernehmen.


Umgebung:
Ubuntu, Clonezilla, grub, bash, dpkg, ncurses, GNU Toolchain, Eclipse


Tätigkeiten:
Konzeption, Implementierung, Testspezifikation, Testimplementierung, Testdurchführung

Eingesetzte Qualifikationen

RTLinux, Ubuntu, Debian, Apache Subversion (SVN), Bash (Shell), Eclipse


Software Entwickler / Architekt / Testengineer
Kundenname anonymisiert, Nürnberg
1/2013 – 4/2014 (1 Jahr, 4 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

1/2013 – 4/2014

Tätigkeitsbeschreibung

Für eine Umrichterfamilie mit verschiedenen Zwischenkreisspannungen wurden ein bestehender Bootloader mit In-Target-Software-Update Funktionalität und das auf einem PC laufende Software-Update-Tool erweitert.
Devioce und Host kommunizieren per CAN-Schnittstelle über das CAN Calibration Protocol (CCP/XCP). Dabei war eine sichere Kommunikaton über verschiedene CAN - Karten sicher zustustellen.
Zur Verifikation der neuen Funktionalität wurden Unit/Integrationstests spezifiziert und implementiert, welche verschiedene Kombinationen von CAN-Karten und Betriebsmodi automatisiert abtesten.

Umgebung:
Visual Studio, Eclipse, TI-Compiler, Enterprise Architect, Subversion

Technologien:
C, C#, CAN, CAN Calibration Protocol

Tätigkeiten:
Konzeption, Implementierung, Testspezifikation, Testimplementierung, Testdurchführung

Eingesetzte Qualifikationen

UML, Enterprise Architect (EA), C, C#, Eclipse


Software Entwickler / Architekt / Testengineer
Kundenname anonymisiert, Nürnberg
5/2012 – 11/2012 (7 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

5/2012 – 11/2012

Tätigkeitsbeschreibung

Für eine Umrichterfamilie mit verschiedenen Zwischenkreisspannungen wurde eine Testspezifikation zur Validierung der Hardwarefunktionalität inklusive der entsprechenden Prüfsoftware für den Factory Acceptance Test entwickelt. Die Prüfsoftware läuft auf einem im zu testenden Gerät eingebauten Mikrocontroller TMS320F28335 von TI. Konfigurationsparameter der Prüfsoftware wurden zusammen mit der Prüfvorschrift in XML hinterlegt.

Umgebung:
Eclipse, TI-Compiler, Enterprise Architect, Subversion

Technologien:
C++, CAN, UML, XML

Tätigkeiten:
Testspezifikation, Testimplementierung, Inbetriebnahme in der
Produktion

Eingesetzte Qualifikationen

Testdesign (IT), UML, XML, Softwareentwicklung (allg.), C++, Apache Subversion (SVN), Eclipse, Mikrocontroller, CAN-Bus (controller area network)


Software Entwickler
Kundenname anonymisiert, Köln
3/2012 – 6/2012 (4 Monate)
Schienenfahrzeuge
Tätigkeitszeitraum

3/2012 – 6/2012

Tätigkeitsbeschreibung

Für ein visuelles Anzeigesystem wurde gemäss CENELEC-Normen [EN 50126], [EN 50128] und [EN 50129] das Kommunikationsprotokoll über die RS232 Schnittstelle entwickelt.
Besonderes Augenmerk lag bei der Entwicklung auf den Sicherheitsaspekten.

Technologien:
C, GNU Toolchain, Linux, ARM Cortex-M3 based embedded controller

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, ARM-Architektur


Software Entwickler / Architekt / Testengineer
Kundenname anonymisiert, Nürnberg
10/2011 – 4/2012 (7 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

10/2011 – 4/2012

Tätigkeitsbeschreibung

Für den Modul Endtest eines Umrichters wurde ein Endtestsoftware für einen Umrichter erweitert. Neben Testfällen für Sensoren und Aktoren wurde auch ein Lasttest, basierend auf einen PID Controller, entwickelt, mit dem auf Grund der Wärmeentwicklung unter Vollast Rückschlüsse auf den korrekten Verbau der Wärmeleitkomponenten gezogen werden können.
Die Kommunikation zwischen TI DSP und Endtest Stand erfolgt CAN basiert über das KWP2000 Protokoll.
Weiterhin wurden basierend auf Lastmessungen XML-Prüfvorschriften für den Endtest erstellt.
Bei den Testabläufen werden unter anderem MOSFETs / IGBTs an den Leistungsanschlüssen via EPWM bedient und über Temperatursensoren, deren Kennlinien durch kubische Polynome nachgebildet sind, das Temperaturverhalten des Targets unter Last ausgewertet. Dabei werden 3 Phasen – AC Motoren mit einer Aufnahme von knapp 400 A RMS simuliert.

Umgebung:
Visual Studio, Eclipse, TI-Compiler, Enterprise Architect, Subversion

Technologien:
C, C++, C#, CAN, KWP2000

Tätigkeiten:
Spezifikation, Implementierung, Inbetriebnahme in der Produktion

Eingesetzte Qualifikationen

XML, C++, Eclipse


Testingeneur
Kundenname anonymisiert, Nürnberg
6/2011 – 8/2011 (3 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

6/2011 – 8/2011

Tätigkeitsbeschreibung

Entwicklung automatisierter Tests für einen Meterdaten-Sammler nach dem Open-Metering Standard. Das zu testende Gerät nimmt Daten von Meterdaten-Erfassungsgeräten per Wireless M-Bus entgegen, speichert diese Daten zwischen und gibt sie über verschiedene Kommunikationskanäle weiter. Getestet wurde sowohl die Funkschnittstelle zwischen den Meterdaten-Erfassungsgeräten und die Übertragung dieser Daten, sowie die Software-Update-Funktionalität des Gerätes. Besonderes Augenmerk wurde auf Rainy-Day-Testfälle gelegt (plötzlicher Spannungsausfall, Störungen der Kommunikationsverbindungen, usw.). Die Tests wurden als nahezu vollständig automatisierte Black-Box-Tests auf Basis der Systemanforderungen entwickelt. Die Testbeschreibungen sind zusammen mit den Anforderungen in einem Enterprise Architect-Modell hinterlegt und verknüpft.

Umgebung:
Visual Studio, NUnit, Enterprise Architect

Technologien:
C#, UML, TCP/IP, FTP, Wireless M-Bus

Tätigkeiten:
Testkonzeption und Testfallbestimmung, Testimplementierung, Testdurchführung

Eingesetzte Qualifikationen

UML, Enterprise Architect (EA), C#, TCP/IP, FTP, Architektur (allg.)


Software Entwickler
Kundenname anonymisiert, Bayreuth
8/2010 – 5/2011 (10 Monate)
Forschung
Tätigkeitszeitraum

8/2010 – 5/2011

Tätigkeitsbeschreibung

Erweiterung der Software für einen Motorcontroller mit CAN-Bus-Interface. Der Motorcontroller hat die Aufgabe, diverse Achsen für unterschiedliche Anwendungen im VLT (Very Large Telescope) der ESO anzusteuern (z. B. Filterräder, Shutter, mechanische Instrumentenkomponenten). Die Ansteuerung erfolgt über CAN-Bus und CANopen (Device Profile 402).

Umgebung:
GNU Toolchain, PXROS, CAN-Library von Vector (auf PC-Seite), CAN-Library von SYS TEC electronic GmbH (auf Device-Seite)

Technologien:
C, Assembler, Hardware Treiber, CAN-Bus

Tätigkeiten:
Implementierung, Test

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, C, Elektronik, CAN-Bus (controller area network), CANopen


Software Entwickler
Kundenname anonymisiert, Bayreuth
5/2010 – 7/2010 (3 Monate)
Forschung
Tätigkeitszeitraum

5/2010 – 7/2010

Tätigkeitsbeschreibung

Modifikation einer Embedded-Software zur Ansteuerung eines adaptiven-Optik-Systems.
Die Anwendung läuft auf Motorola PowerPC MPC2604 und MPC6100 unter VxWorks 5.5 und 6.4.
Es wurden Anpassungen auf Bootscript-, Treiber- und Applikationsebene in C und C++ durchgeführt.
Die Treiber für ein Time Interface Board und ein Fibre-Link-Board wurden dabei überarbeitet.

Umgebung:
PPC MPC2604, PPC MPC6100, VxWorks 5.5/6.4

Technologien:
VMEBus, C, C++, VxWorks

Tätigkeiten:
Implementation, automatisierte Tests und Dokumentation (englisch).

Eingesetzte Qualifikationen

VxWorks, C++


Software Entwickler
Kundenname anonymisiert, Bayreuth
3/2010 – 4/2010 (2 Monate)
Forschung
Tätigkeitszeitraum

3/2010 – 4/2010

Tätigkeitsbeschreibung

Mitarbeit an der Softwareentwicklung und dem Hardwareaufbau eines Hochspannungsvertärkers.
Die Kommunikation mit dem Leitrechner erfolgt über Fibrechannel, seriell und Ethernet.
Im Rahmen dieses Projekts wurden Arbeiten zur Anpassung der Applikation und Kommunikation an neuere Baugruppen durchgeführt.

Umgebung:
WINDRIVER TORNADO 2.0, VXWORKS 5.4

Technologien:
C, C++, VMEBUS

Tätigkeiten:
Implementierung, Test

Eingesetzte Qualifikationen

VxWorks, C++


Software Entwickler
Kundenname anonymisiert, Bayreuth
1/2010 – 3/2010 (3 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

1/2010 – 3/2010

Tätigkeitsbeschreibung

Für verschiedene Prozessoren (MCF5329, MPC8640) wurden Board Support Packages für VxWorks 6.x erstellt/angepasst.
Unter anderem wurden hierzu Treiber für folgende Bausteine erstellt:
NOR Flash. I2C. RTC via I2C. EEPROM via I2C. Ethernet / MII, UART. ATA via PCIexpress/VxBus

Umgebung:
WINDRIVER WORKBENCH, GDB MIT HARDWAREDEBUGGER
BDI2000,

Technologien:
C, VXBUS, I2C, RS232, NOR FLASH, ETHERNET, ATA, PCIEXPRESS

Tätigkeiten:
Implementierung, Test

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung


Softwarentwickler
Kundenname anonymisiert, Bayreuth
12/2009 – 12/2009 (1 Monat)
Dienstleistung
Tätigkeitszeitraum

12/2009 – 12/2009

Tätigkeitsbeschreibung

Durchführung einer Vergleichsuntersuchung zum Echtzeitverhalten des Linux RT-Preempt-Patches und der Xenomai-Erweiterung auf Basis des Linux-Kernels 2.6.34.
Besonderes Augenmerk lag dabei auf dem Zeitverhalten der beiden Ansätze in Grenzsituationen (z. B: Volllast) und die Bewertung ihrer Eignung für die Erfüllung von Echtzeitanforderungen.
Die Untersuchungen wurden auf einem x86-Target durchgeführt und die Ergebnisse in einem Untersuchungsbericht aufgezeichnet.

Technologien:
C++, Embedded Linux, Xenomai, RT-Preempt Patch, GNU Toolchain, GDB

Eingesetzte Qualifikationen

Embedded Linux, Linux (Kernel), C++


Softwareentwickler
Kuka (RX), Bayreuth
5/2009 – 11/2009 (7 Monate)
Automatisierung / Robotik
Tätigkeitszeitraum

5/2009 – 11/2009

Tätigkeitsbeschreibung

Für Simulationszwecke wurden Teile der Robotersteuerung (Embedded) auf Windows portiert.
Die besondere Herausforderung bestand darin, das Laufzeitverhalten der einzelnen Tasks dabei nicht zu verändern, damit aussagekräftige Simulationsergebnisse erzielt werden können.

Die Tätigkeiten umfassten:

* Implementierung
* Test

Technologien:
MS Visual Studio, Windriver Workbench / GDB, VxWorks 6.3, C/C++, IPC-Konzepte

Eingesetzte Qualifikationen

VxWorks, Visual Studio, Softwareentwicklung (allg.), C, C++


Software Entwickler / Architekt / Testengineer
Kundenname anonymisiert, St. Gallen
3/2007 – 5/2009 (2 Jahre, 3 Monate)
Medizinaltechnik
Tätigkeitszeitraum

3/2007 – 5/2009

Tätigkeitsbeschreibung

Im Rahmen des Projektes wurden diverse Erweiterungen und Refactorings für eine Beatmungsgerätefamilie durchgeführt.
Die Beatmungsgeräte bestehen aus einem Mehrprozessorsystem, welches über RS232 kommuniziert.
Aus sicherheitstechnischen Gründen sind Regelung / Überwachung der Beatmungsparameter und Anzeige derselben auf verschiedenen Prozessoren implementiert.
Dabei werden in Abhängigkeit von dem Beatmungsmodus verschiedene Sensoren wie Fluss, Druck und Infrarot Sensoren ausgewertet und Aktoren wie Ventile und Ventilatoren angesteuert.
Die Tätigkeiten wurden nach der Norm ISO13485 durchgeführt.

Umgebung:
Visual Studio, CodeWarrior

Technologien:
Phillips VueLink, C++, I2C, QADC, Flash-Treiber, Bootloader

Tätigkeiten:
Einführung neuer / Anpassung bestehender Beatmungsmodi.
Analyse, Design, Interfacespezifkation, Implementierung, Systemintegration, Test.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, C++


Zertifikate

Teilnahmebescheinigung 2. Tägiges TÜV Seminar zur IEC 62304
Juni 2017

Stanford University - Online Course / Machine Learning
September 2014

Ausbildung

Technische Informatik
(Dipl. Inf. (FH))
Jahr: 
Ort: Regensburg

Qualifikationen

Programmiersprachen:
C, C++, Java, C#, Python, Perl, XML, HTML, SQL, Assembler, Bash

CASE-Tools:
Rational Rose, Visio, Enterprise Architect

Entwicklungsumgebungen:
Make, GNU Toolchain, Freescale Codewarrior, Maven, CruiseControl, Windriver Workbench, Eclipse, Visual Studio, Code Composer Studio

Betriebssysteme (als Zielplattform):
VxWorks 6, Linux / Embedded Linux, Windows, Windows CE

Standardsoftware:
MS Office, SourceSafe, Subversion, CVS

Branchenkennnisse:
Medizintechnik, Automation allgemein, Forschung

HW-Technologien:
EEPROM, Serial IO, RS232, Analog IO, Flash Memory

Protokolle:
I2C, TCP/IP, UDP/IP, CAN, CANopen, Phillips VueLink

Verwendete Prozessoren:
Atmel AVR-Controller, MCF5282, MCF5329,
TI TMS320F28335

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Gut)
Reisebereitschaft
National
Arbeitserlaubnis
  • Europäische Union
Home-Office
bevorzugt
Profilaufrufe
1706
Berufserfahrung
14 Jahre und 11 Monate (seit 08/2005)
Projektleitung
1 Jahr

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden »