Softwareentwickler C/C++, C#
- Verfügbarkeit einsehen
- 0 Referenzen
- 89€/Stunde
- 75335 Dobel (Württemberg)
- National
- de | en
- 28.07.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
8/2023 – 4/2024
Tätigkeitsbeschreibung
Entwicklung von Modultests im Medizin technischen Umfeld.
Entwicklung und Dokumentation von Modultests für die Hardware nahen unter dem RTOS QNX laufenden Softwarekomponenten eines Systems für refraktive Augenlaser Behandlungen gemäß IEC 62304 und FDA 21 CFR part 820. Projektziel, die möglichst vollständige Abdeckung der Kriterien: Function-, Statement-, Edge / Branch- und Condition-Coverage der Systemsoftware zu erreichen. Die Umsetzung der auf Python und XML basierenden Modultests wurde hierbei mit einem intern entwickelten Modultest Framework realisiert. Die Dokumentation der einzelnen gegen die funktionalen Anforderungen der Systemsoftware entwickelten Modultests erfolgte in DOORS sowie später in Polarion.
Subversion, C++, Echtzeit-Betriebssysteme, Jenkins, Jira, Python, QNX (Software)
6/2022 – 3/2023
Tätigkeitsbeschreibung
Entwicklung im Automotive Umfeld (Instrumenten-Cluster).
Fehlersuche und Stabilisierung mit partiellem Redesign einer vorhandenen
sicherheitskritischen Software-Komponente des Instrumenten-Cluster für die zukünftigen Fahrzeuglinien eines deutschen Automobilherstellers.
Implementation von Unit-Tests. Die für die Verarbeitung und Synchronisation von Laufzeit kritischen Signalen für Warn- und Statusmeldungen zuständige Software-Komponente wurde in Teilen neu implementiert, sowie in ihrem Laufzeitverhalten optimiert. Die Entwicklung der Anpassungen und Optimierungen der auf ARM-Architektur unter Linux laufenden Komponente wurde mit der Hochsprache C++ 14 realisiert. Die Implementation der Unit-Tests und das C++ mocking wurde mit dem GoogleTest Framework realisiert. Analyse der in DOORS spezifizierten Anforderungen und Funktionsabläufe erfolgte über VECTOR CANoe, sowie in Form von Unit-Tests.
C++, Embedded Linux, Embedded Systems, Git, Make (Software)
11/2020 – 5/2022
Tätigkeitsbeschreibung
Entwicklung im Embedded Linux und BOS-Funk Umfeld.
Funktionale Weiterentwicklung eines "Software defined Radio" (SDR) für die
Alarmierung von Behörden und Organisationen mit Sonderaufgaben (BOS)
über das Funkrufprotokoll POCSAG.
In einem ersten Schritt wurde das auf einem Xilinx Zynq-7000 SoC basierende als Baremetal Programm laufende System auf den Betrieb mit Embedded Linux portiert. In diesem Schritt erfolgte unter anderem die Konfiguration des von Embedded Linux benötigten Devicetree für die PL (FPGA) basierten Devices wie DMA- und GPIO-Controller. Sowie die Anpassung von Build-Scripten für die Erstellung des FSBL, den Linux-Kernel sowie zusätzlich benötigte Kernel Module, welche nicht in dem Standard Kernel enthalten sind.
In dem zweiten Schritt wurde die Baremetal Software auf die Plattform Linux portiert. Die von der Programmlogik benötigten Hardware nahen Zugriffe wurden hierbei mit Memory Mapping realisiert. Die in dem ursprünglichen Baremetal Programm benutzten API des Xilinx SoC SDK wurden für die Linux spezifischen Anforderungen in der Programmiersprache C neu implementiert. Es folgte die Umstellung der UART basierten Schnittstelle für die externe Steuerung des Systems und Kommunikation mit diesem über TCP/IP als Transportprotokoll. Die Absicherung der Kommunikation wurde mit TLS
realisiert.
ARM-Architektur, C, Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Embedded Systems, Git, Make (Software), TCP / IP, Vivado (Xilinx)
8/2019 – 10/2020
Tätigkeitsbeschreibung
Entwicklung im BOS-Funk Umfeld unter Embedded Linux.
Entwurf und Entwicklung eines Software-Systems für das Routing von
BOS-Funk Audio-Übertragungen über IP basierte Netzwerke.
Die Audiosignale der BOS-Funktechnik werden über den AD-Wandler eines auf ARM Cortex-M4 basierenden SoM digitalisiert und mittels eines Software basierten Codec encodiert. Die Übertragung der encodierten Audiodaten an die frei definierbaren IP-Endpunkte erfolgt über das Realtime-Protokoll (RTP). Auf den Endpunkten, welche mit demselben Hardware- und Software-System realisiert sind, werden die empfangenen RTP-Daten dekodiert um sie dann über den DA-Wandler des SoM an die mit diesen Endpunkten verbundene BOS-Funktechnik zu übertragen.
Die Implementation der in Echtzeit zu verarbeiteten Audiodaten wurde mit
C++ 11 sowie der Bibliothek Boost realisiert.
ARM-Architektur, C++, Embedded Linux, Embedded Systems, Git, RTP (Real-Time Transport Protocol), UML
12/2018 – 7/2019
Tätigkeitsbeschreibung
Entwicklung im Embedded Linux SBC Umfeld.
Portierung und Erweiterung einer bestehenden Anwendung für die Visualisierung von über das POCSAG-Protokoll übertragene Alarm-Nachrichten in dem Umfeld von Rettungsdiensten. Als HW Plattform kam hierbei der SBC Raspberry PI zum Einsatz. Für dass SBC OS wurde mittels des Framework YOCTO ein Embedded Linux samt Toolchain und cross compile Support erstellt, um die wirtschaftliche Entwicklung der Software auf einem Desktop Host-System zu ermöglichen. Im Zuge der Anpassung auf das neu zu implementierende Bedienkonzept mittels Infrarotfernsteuerung sowie die audiovisuelle Ausgabe über HDMI erfolgte des weiteren eine Portierung der auf QT4 basierenden Anwendung auf die Version 5 des QT-Frameworks.
ARM-Architektur, C++, Embedded Linux, Embedded Systems, Qt (Software)
3/2018 – 9/2018
Tätigkeitsbeschreibung
Entwicklung im Automotive / Tuner Umfeld.
Redesign und Entwicklung einer vorhandenen Software-Komponente des Presentation-Controller für die Diagnosefunktionalität eines Infotainment-System. Analyse und Beseitigung von Fehlern in der vorhandenen Diagnose-Komponente.
Die Visualisierung des vorhandenen Komponenten-Modells sowie der Entwurf des neuen Modells wurde in UML 2 realisiert. Die Entwicklung der Komponente wurde mit der Hochsprache C++ 11 realisiert. Der Test der in DOORS spezifizierten Anforderungen der Diagnosefunktionalität erfolgte unter Zuhilfenahme des VECTOR CAN Interface VN1610 und einem Kundenspezifischen CAN-Framework welches die produktionsrelevanten Funktionsabläufe simuliert.
Subversion, C++, Embedded Linux, Embedded Systems, Git, Linux Entwicklung, UML
6/2015 – 2/2018
Tätigkeitsbeschreibung
Entwicklung im Automotive / Tuner Umfeld.
Design und Entwicklung einer Kommunikationsschicht zwischen Device- und Presentation-Controller für Radio- und TV-Tuner eines Infotainment-System bei vorgegebenen Interfaces.
Die Entwicklung der beiden Komponenten wurde mit C++ und dem Komponentenframework MoCCA realisiert. Der Fokus lag in der Abstraktion der verschiedenen Device-Interfaces für die Tuner-Standards: AM/FM, DAB, DMBA. Sowie die TV-Standards: ISDB-T, DVB-T/DVB-T2 und DMBV. Berücksichtigt werden musste hierbei eine starke Asynchronität in der Komponentenkommunikation. Die Erstellung der Dokumentation in Form von Component Design Description (CDD) wurde mit dem UML-Tool Enterprise Architect durchgeführt. Für die automatischen Tests der Komponenten kam ein
kundenspezifisches Testframework zum Einsatz.
Subversion, C++, Embedded Linux, Embedded Systems, Enterprise Architect (EA), Linux Entwicklung, UML
12/2014 – 5/2015
Tätigkeitsbeschreibung
Integration im Automotive / Tuner Umfeld.
Anpassung / Optimierung der Build-Prozesse für die auf den jeweiligen RTOS Plattformen QNX und ITRON basierende Tuner-Software. Durchführung von Smoketests sowie Analyse von Fehlern in der Software.
C++, Echtzeit-Betriebssysteme, Embedded Systems, QNX (Software), Windows 7
5/2014 – 9/2014
Tätigkeitsbeschreibung
Softwareentwicklung im Automotive / Audio Umfeld.
Erweiterung einer Softwarelösung für das Feintuning und die Übertragung von digitalen Signalfiltern für Automotive Amplifier.
Nach der Bestandsaufnahme und Analyse der vorhandenen Funktionalität des bestehenden Quellcodes wurde die Anpassung der auf C++ und MFC basierenden Windows Anwendung an die neuen Anforderungen des Kunden unter Einsatz des für das MOST150 Interface VN2640 von VECTOR verfügbaren API gelöst.
C++, Enterprise Architect (EA), Microsoft Foundation Classes (MFC), Microsoft Visual Studio, Windows 7, Windows XP
5/2012 – 3/2014
Tätigkeitsbeschreibung
Komponentenentwicklung im Automotive-Umfeld eines Infotainment Kundenprojektes für die Daimler AG (S-Klasse).
Analyse von Fehlerereignissen, Entwicklung und Implementation von Lösungen um analysierte Fehler zu beseitigen sowie das System zu stabilisieren. Der Schwerpunkt lag hier in der Tuner Domäne. Insbesondere auf HD, TA, TI und dem Waveband handling zwischen Presentation- / Device-Controller so wie Erstellung / Analyse von MOST-Bus Protokollen unter Verwendung eines OptoLyzer und OptoLyzer-Tools als auch die manuelle Disassemblierung von MOST Protokoll Sequenzen. Ferner die Analyse eines MemoryLeak in der Audio-Video-Tuner Komponente. Zum Einsatz kamen das HBAS interne MoCCA Framework, sowie als OS das RTOS QNX.
Echtzeit-Betriebssysteme, Windows 7, C++, QNX (Software)
4/2009 – 2/2012
Tätigkeitsbeschreibung
Entwicklung eines SQL-Datenbank gestützten Systems für Computerunterstützte Übersetzung (CAT).
Entwicklung und Implementation eines Algorithmus für die Suche von Ähnlichkeiten für einen benutzerdefinierten Text in vorgegebenen Dokumentenbeständen unter Berücksichtigung von Wort-Vertauschungen sowie Flexionen.
Entwicklung und Implementation eines Algorithmus mit heuristischem Ansatz für das auf einem bestimmten Satz basierende Alignment zwischen zwei Dokumenten von denen eines die Original-Sprache und das andere die Übersetzung manifestiert.
Windows 7, .Net Framework (Microsoft), .Net, C#, SQL, UML
2/2007 – 3/2009
Tätigkeitsbeschreibung
Komponentenentwicklung im Automotive-Umfeld eines Infotainment Kundenprojektes für die Daimler AG (S-Klasse).
Design, Implementation und Bugfixing von HMI-Komponenten mit Schwerpunkt Medienhandling nach Kundenspezifikation. Entwicklung einer HMI-Komponente für die Suche nach Musikstücken über deren Metadaten mittels Fuzzylogik. Entwicklung einer HMI-Komponente für das digitalisieren von Audio-CD Tracks auf die in der Head Unit integrierte Festplatte mit parallelem anspielen des mp3-Streams im Hintergrund, sobald ein genügend großer Daten-Puffer von dem jeweiligen analogen Track vorhanden ist. Zum Einsatz kamen ferner das HBAS interne MoCCA Framework, sowie als OS das RTOS QNX.
C++, Echtzeit-Betriebssysteme, QNX (Software), UML
12/2006 – 1/2007
Tätigkeitsbeschreibung
Entwicklung eines COM-Server.
Planung und Realisierung eines COM-Server für die Einbindung der Search-Engine der Software FindWord in fremde Anwendungen. Der COM-Server wurde als Typelibrary entwickelt, um es fremden Anwendungen zu ermöglichen die Indizierung von Dokumenten, die Indexverwaltung sowie die Inhaltssuche mittels der Programmlogik von FindWord durchzuführen. Für den Test der Typelibrary wurde ein Testclient in C# / .net entwickelt.
Microsoft Windows (allg.), .Net, .Net Framework (Microsoft), C#, C++
Weitere Kenntnisse
- MS-Visual Studio: 6.0
- MS-Visual Studio .NET 2003 - 2008
- MFC, ODBC, ASP.net
- Crystal Reports
- SQLite
- MySQL
- MS SQL-Server
- Telelogic DOORS
- Perforce
Erfahrungen
- Anwendungsentwicklung: Unter DOS, Win 3.x, 9x, NT 4.0, W2k, WinXP, Win7, ASP.net, QNX.
- Komponentenentwicklung im Automotiv Infotainment Sektor.
- Planung, Realisierung, Administration von WinNT Netzwerken.
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Grundkenntnisse)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden