Embedded Software Engineering, Firmware-Entwicklung, Bootware-Entwicklung, Fehlerbehebung
Aktualisiert am 21.12.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.01.2025
Verfügbar zu: 100%
davon vor Ort: 25%
Embedded Software
Firmware Entwicklung
Bootware Entwicklung
C
C++
MISRA-C
Rust
Git
Scrum
CANopen
EtherCAT
PROFINET
PROFIBUS
Funktionale Sicherheit
CMake
Python
Wireshark
CSS
HTML5
JavaScript
C#
PHP
Deutsch
Muttersprache
Englisch
Verhandlungssicher
Russisch
Grundkenntnisse

Einsatzorte

Einsatzorte

Jena (+50km)
Deutschland, Schweiz, Österreich
möglich

Projekte

Projekte

1 Jahr 5 Monate
2023-08 - 2024-12

Firmwareentwicklung für Industrie-Saugroboter

embedded Software Ingenieur Yocto Linux bash skripts C ...
embedded Software Ingenieur

In diesem Projekt habe ich bei der Firmwareentwicklung eines Saugroboters für industrielle Anwendungen unterstützt. Ich bin relativ spät in das Projekt gekommen, um als Troubleshooter schwere Fehler zu finden und dabei zu unterstützen, die  Verfügbarkeit des Gesamtsystems zu erhöhen. Die Entwicklung des Roboters war schon sehr weit fortgeschritten, aber die Software erfüllte bisher nicht das  gewünschte Geräteverhalten, das für den Produktstart wichtig war.


Das Unternehmen, für das ich arbeitete, verfolgt in der Produktentwicklung den agilen Ansatz. Themen wurden in Dailys live abgestimmt und in Plannings erfolgte die Planung des kommenden Sprints, was einer Periode von 2 Wochen entsprach. Im späteren Projektverlauf ging es darum, Fehler und unerwünschtes Verhalten, das während der Produkttests festgestellt wurde, zu beheben. In dieser Phase wurden die Plannings ausgesetzt und es wurden akute Fehler, die während der Tests auftraten, in den Dailys besprochen und deren Behebung geplant. Einmal im Quartal fand ein Stage-Planning statt, bei dem ich ein besseres Gefühl für die Produktstrategie und die unternehmerischen Ziele erlangen konnte.

Ich konnte den Update-Prozess der sMCU Controller während eines Firmware-Updates stabilisieren und so robust gestalten, dass es keine Ausfälle des Gerätes durch korrupte Firmware mehr gab.

Die Verfügbarkeit des Gesamtsystems konnte ich durch eine Verbesserung im Geräteverhalten bei Erkennung einer Sturzkante erhöhen. Bisher war immer eine direkte Nutzerinteraktion notwendig, um den Reinigungsvorgang fortzusetzen. Ich habe das Geräteverhalten dahingehend verändert, dass der Roboter nach Erkennen einer Kante zunächst zeitweise misst, ob die Bedingungen für einen möglichen Sturz noch gegeben sind. Wenn das nicht mehr der Fall war, so gab es seitens der safety Steuerung im Gerät wieder eine Freigabe und die Reinigung konnte selbstständig fortgesetzt werden.


Das Arbeiten und Nachverfolgen an den konkreten Themen erfolgte über ein Ticketsystem, wodurch Aufgaben klar abgegrenzt und dokumentiert werden  konnten.


Zu meinen Tätigkeiten gehörte es:

  • Zugewiesene Tickets abzuarbeiten
  • Beim Feststellen neuer Probleme oder Auffälligkeiten, Tickets zu generieren und zu beschreiben.
  • Finale Ergebnisse aus meinen Arbeiten an geeigneter Stelle zu dokumentieren.
  • Fehlverhalten in der I2C-Kommunikation zwischen Echtzeit Controller und Safety-Controller untersuchen und beheben.
  • Registerauszug der Registerwerte der Safety-Controller während eines Safety Ereignisses via I2C auslesen und die Informationen im Journal des Linux-Systems im Markdown Tabellenformat bereitstellen.
  • Optimieren der Startreihenfolge von Systemd Services, um einen fehlerfreien und zuverlässigen Systemstart bei unterschiedlichen Startvoraussetzungen zu erreichen.
  • Anpassung diverser Service-Beschreibungsdateien.
  • Erstellen von Bash Scripts, um das Geräteverhalten für diverse Labortests und Messungen zu steuern.
  • Optimierung des bestehenden Skriptes, das den Firmware-Updateprozess der Safety-Controller steuert.
  • Analyse großer Journal-Logs zur Identifizierung spezifischer Fehlerfälle, die seitens der QA in Tickets beschrieben und bereitgestellt wurden.
  • Abstimmung mit chinesischen Fertiger zur Behebung von Problemen während des Updateprozesses neu hergestellter Geräte.
  • Erstellen von Testsoftware für die Safety Controller, zur Erhöhung der Geräteverfügbarkeit.
  • Besprechung und Implementierung von Verbesserungen bestehender Sicherheitsfunktionen.
  • Erstellung von Unit-Tests auf Basis des Google-Test Frameworks.
  • Erstellung von Gerätetests in Python und Integration der Testfälle ins Robot-Framework.
  • Implementierung eines Interfaces zur Kalibrierung der Drop-Sensoren, die sich unterhalb des Roboters befinden.

Yocto Linux bash skripts C C++ Python Systemd Services Google-Test Framework Robot-Framework Docker
Vorwerk
Remote und Wuppertal
2 Monate
2023-07 - 2023-08

Webseite erstellt für naraart-design.com

Software Entwickler html PHP 8 JavaScript ...
Software Entwickler
Ziel des Projekts war es, die bestehende Webpräsenz meiner Ehefrau

zu überarbeiten.

Die Webpräsenz von Nanaart-Design sollte einen frischen Anstrich erhalten. Meiner Frau war es wichtig, dass die Webseite modern und individuell sein sollte. Beim Erstellen der Webseite habe ich bewusst auf die Verwendung fertiger CMS Systeme verzichtet, um dem Anspruch des individuellen Designs gerecht zu werden.

Auf diese Weise bleiben mir alle Freiheitsgrade in der Gestaltung und der Funktionalität der Webseite erhalten. Für die Umsetzung des Projektes habe ich mich auf die Verwendung der 4 Basistechnologien der Webentwicklung beschränkt.

Verwendete Basistechnologien für die Webseite:
  • HTML für die Beschreibung der Inhalte
  • CSS für das Styling der Webseite
  • JavaScript für die Steuerung interaktiver Elemente auf der Webseite
  • PHP für die dynamische Steuerung von Inhalten

Das grundlegende Design der Webseite besteht aus drei Teilen, einem Kopfbereich, einem Fußbereich und einem Hauptbereich. Der Kopf- und Fußbereich sollen auf jeder Seite gleich sein. Zur Vermeidung doppelten Codes habe ich mich dafür entschieden eine Basisseite zu erstellen, die alle drei Berreiche repräsentiert. In Abhängigkeit der Seite auf der sich der Benutzer befindet wird der Hauptberreich dynamisch nachgeladen.

Durch diese Maßnahme sind Anpassungen im Kopf- und Fußbereich der Seite immer für alle Seiten wirksam.

Das responsive Design der Webseite wurde über CSS realisiert. Ab einer bestimmten Bildschirmbreite wird die Webseite passend für Mobile Endgeräte dargestellt. Die Seitenelemente passen sich dynamisch der Fensterbreite an. Medieninhalte, wie Grafiken, Bilder und Videos werden getrennt vom Code der Webseite vorgehalten, was hauptsächlich in der Codeverwaltung und beim Seitenupload jede Menge Platz spart. Auf die Medieninhalte wird über eine seperate URL zugegriffen, dadurch wird erreicht, dass diese Inhalte leicht austauschbar sind, ohne Änderungen am Quellcode der Webseite selbst vorzunehmen.


html PHP 8 JavaScript CSS3
freib. Grafikdesignerin Narine Peters
Jena
2 Jahre 4 Monate
2021-03 - 2023-06

Firmware für neue Gerätegeneration

Product Owner, Scrum Developer C CMake git ...
Product Owner, Scrum Developer

Ziel dieses Projektes ist es, die Firmware für eine neue Gerätegeneration mit einem Multicore Prozessor als Zentrale Einheit zu entwickeln.
In einem ersten Schritt mussten die Basistreiber für die Hardware Peripherien entwickelt werden. Des Weiteren musste ein Konzept entwickelt werden, wie Informationen zwischen den Cores ausgetauscht werden können und welche Informationen aus Laufzeitgründen in einem Shared-RAM zwischen den beiden C28x Cores zur Verfügung gestellt werden müssen.
Zu meinen Aufgaben zählte unter anderem die Betreuung des gesamten Firmware Projektes als Scrum Product Owner. In dieser Rolle habe ich das Backlog mit Aufgaben gepflegt und einzelnen Features vor priorisiert, die dann während der Sprintplanung Berücksichtigung fanden.
Neben der Rolle des Product Owner hatte ich auch noch die Rolle des Developer inne und selbst einige Themen bearbeitet.
Unter anderem habe ich den Basis-Treiber für die Interprozessorkommunikation entwickelt. Mein Treiber hat Methoden zur Verfügung gestellt, der es den andern Entwicklern ermöglicht eigene IPC-Services (inter prozessor communication - services) zu implementieren.
Mein früher entwickelter SDO-Handler kam zum Einsatz, um SDO Anfragen an die korrekte CPU weiterzuleiten. Meine Philosophie ist es, dass die Daten dort vorgehalten werden, wo sie benötigt werden. Doppelte Datenvorhaltung sollte weitestgehend vermieden werden.
In meiner Rolle als Developer habe ich noch die folgenden Implementierungen realisiert:
  • Blackchannel Implementierung zur integrierten Safety Optionskarte, um einen Austausch zyklischer Safety Daten zwischen dem sicheren Feldbus und der Safety Optionskarte zu realsieren
  • SPI Treiber für mehrere IO-Expander Chips.
  • Ablaufregime für Lesen und Schreiben der Zustände der erweiterten IO-Expander Chips in einem zyklischen Intervall
  • IPC-Services zum Laden und Speichern von remanenten Parametern in einem EEPROM, der von einer CPU verwaltet wird.
  • EtherCAT Treiber inklusive Datenaustausch zyklischer Prozessdaten zwischen den einzelnen Cores und dem Feldbus
  • FSoE Umsetzung in der Firmware in verständliche Parameteranfragen an die safety Optionskarte
  • USB Treiber 
Dieses Projekt war mein bisher größtes Projekt, für einige Sprints bestand unser Team aus bis zu vier Software Entwicklern.

Servoverstärker mit Functional Safety
C CMake git GitLab Multi-Core TI-DSPs
Jena
1 Jahr 2 Monate
2020-02 - 2021-03

Bootware für neue Servoverstärker Generation mit Multicore Controller

Projektverantwortlicher und Embedded Software Ingenieur C Multicore Prozessoren TI-DSPs ...
Projektverantwortlicher und Embedded Software Ingenieur

Ziel dieses Projektes war es, eine Bootware für einen neuen Multicore Controller aus der TMS Familie von Texas Instruments zu entwickeln.
Dieser Prozessor hat 2 C28x DSP Cores und einen ARM Cortex M4 Core. Jeder Core hat einen internen Programmflash. Jeder Core Flash kann immer nur von dem Core programmiert werden, zu dem er gehört. Im Wesentlichen besteht das Bootware-Projekt also aus drei Firmware Projekten, die den Bootloader bilden.
Die Hauptfirmware läuft auf dem Master-Core (CPU1), dieser Core startet als Erstes und muss die Bootware für die anderen Cores über den internen Message-RAM verteilen und die Cores anschließend starten lassen. Weil das gesamte Bootware-Projekt zu viel Programmflash des CPU1 Cores in Anspruch genommen hätte, wurden Teile der Bootware in einem externen Daten-Flash gespeichert. Der kritische Code, der beim Start-up ausgeführt wird, belegt nur 2 Flashsektoren und lädt die fehlenden Programmteile aus dem externen Flash in den CPU RAM nach.
Anschließend wird der Start-up Code der jeweiligen Co-CPUs in die Message RAMs geladen und die Cores werden gestartet. Sobald die Cores gestartet sind, fordern diese Ihre fehlenden Programmteile mittels Interprozessorkommunikation bei CPU1 an. CPU1 lädt diese Programmteile aus dem externen Daten-Flash und stellt sie dem jeweiligen Core zur Verfügung.
Diese Abfolge des Controller-Starts verlangt ein ausgeklügeltes Mapping verschiedener Firmwareteile in den jeweiligen Linker Files, um zu verhindern, dass Programmteile ausgeführt werden, die noch nicht aus dem externen Daten-Flash in den RAM geladen wurden.

Servoverstärker mit Functinal Safety
C Multicore Prozessoren TI-DSPs CMake Advanced Linker File Skills git GitLab
Jena
1 Jahr 1 Monat
2019-01 - 2020-01

Treiber für interne Kommunikation mit einer im Produkt integrierten Safety Optionskarte

Projektverantwortlicher Software und Embedded Software Ingenieur C UART
Projektverantwortlicher Software und Embedded Software Ingenieur

Eine neue Safety Optionskarte sollte in den Servoverstärker integriert werden. Die Kommunikationsschnittstelle zwischen der FS-Karte und der Firmware bestand aus einer UART und einer Protokollspezifikation, die zur Verfügung gestellt wurde.
Meine Aufgabe war es, den Kommunikationstreiber zur FS-Karte auf Basis der Interface-Spezifikation zu implementieren.
Die Herausforderung bestand darin, Interface Objekte auf CANOpen Basis zu implementieren. Hinter diesen Objekten wurden entsprechende Callback Methoden implementiert, welche die Objekt-IDs in für die FS-Karte verständliche Parameter Anfragen umgesetzt haben.
Des Weiteren musste der bestehende SDO-Handler so erweitert werden, dass Anfragen nicht direkt ein Ergebnis liefern konnten, weil auf die Antwort der FS-Karte gewartet werden musste, um eine entsprechende SDO-Response an den Client zu senden. Hierzu musste die bestehende und bewährte Umsetzung dieses SDO-Händlers völlig neu entwickelt werden, weil eine Erweiterung in der alten Implementierung nicht möglich war.

C UART
Jena
7 Monate
2018-05 - 2018-11

Dokumentenvorlagen für den firmeninternen Functional Safety Entwicklungsprozess

Functional Safety Ingenieur VBA Dokumentenvorlagen FS-Dokumentation
Functional Safety Ingenieur

Nachdem ich meine Zertifizierung zum "Functional Safety Certified Engineer Development" vom TüV Nord erhalten hatte, wurde ich damit beauftragt, die nötigen Vorlagen für die Dokumentation einer sicherheitsgerichteten Entwicklung anzufertigen.
Ich habe in Excel eine Dokumentenübersicht erstellt und die nötigen Dokumentenvorlagen für den Entwicklungsprozess nach DIN 61508 erstellt.
Dieser Dokumentensatz dient als Basis für jede FS-Entwicklung.
Zur Versionierung des Dokumentensatzes im jeweiligen Entwicklungsprojekt wurde von mir Git empfohlen.
Um den Entwicklungsingenieur im Rahmen der Safety Entwicklung zu unterstützen, wurden innerhalb der Dokumente und in der Dokumentenübersicht mittels VBA diverse Unterstützungen von mir implementiert.

VBA Dokumentenvorlagen FS-Dokumentation
Jena
1 Jahr 1 Monat
2017-05 - 2018-05

EtherCAT to CAN Gateway - Multiaxes

Projektverantwortlicher Embedded Software Ingenieur C EtherCAT Wireshark ...
Projektverantwortlicher Embedded Software Ingenieur

In diesem Projekt ging es darum, das bestehende EtherCAT to CAN-Gateway, das bereits als Optionskarte für Kompaktantriebe verwendet wurde, für Mehrachsbetrieb zu erweitern.
Mit Hilfe dieses Gateway ist es möglich, sämtliche CANOpen Geräte des Kunden an den EtherCAT Feldbus anzuschließen und diese Echtzeitfähig bis 1ms Zyklen zu betreiben.
Über das ESI-File wurde festgelegt, wie viele Geräteachsen an der CAN Schnittstelle zu finden sind. Die maximale Anzahl unterstützter CAN Knoten wurde aus Performancegründen auf vier begrenzt.
Für eine Drei-Achs-Variante konnten Zykluszeiten bis 1 ms erreicht werden. Die Vier-Achs-Variante konnte Zykluszeiten bis 2 ms erreichen.

EtherCAT to CAN Gateway
C EtherCAT Wireshark CANOpen TI-DSPs
Jena
10 Monate
2016-07 - 2017-04

Konzept und Treiber Basis für OLED Display Treiber

Embedded Software Ingenieur C SPI VB-Script
Embedded Software Ingenieur


Für eine neue Generation von Antriebsreglern soll ein OLED Display zur Anzeige des Gerätezustandes am Servoverstärker selbst zum Einsatz kommen. Aufgabe in diesem Projekt war es, einen Prototyp des Displays in Betrieb zu nehmen und einen ersten Treiber zur Ansteuerung der Anzeige zu entwickeln.
Ich vertiefte mein Verständnis darüber, wie OLED-Displays auf hardwarenaher Ebene angesteuert werden. Hierbei spielten die Anforderungen des Display-Controllers und die Umsetzung der elektrischen Signale eine wesentliche Rolle.
Darüber hinaus habe ich gelernt, wie Bit-Maps für verschiedene Schriftarten erzeugt werden können. Dieser Prozess umfasste sowohl die Auswahl geeigneter Fonts als auch die Umsetzung dieser in eine für das Display lesbare Form.
Der TI-DSP auf dem dieser Treiber lief, hat als kleinste Speichereinheit 16-Bit, um Speicher zu sparen, habe ich ein entsprechendes VB-Script geschrieben, welches das Bitmap eines Fonts passend in das 16-Bit Format presst.
Ein weiterer wichtiger Aspekt des Projekts war die Beschäftigung mit der Spezifikation der Displayansteuerung über SPI. Ich erlangte tiefe Einblicke in das Zusammenspiel zwischen Timing, Datenformat und den speziellen Anforderungen der OLED-Displayansteuerung.


C SPI VB-Script
Jena
1 Jahr 5 Monate
2015-02 - 2016-06

EtherCAT to CAN Umsetzer für ECOCOMPACT

Projektverantwortung für die Software C SPI EtherCAT ...
Projektverantwortung für die Software

Um einen Kompaktantrieb an den EtherCAT Feldbus anschließen zu können, wurde eine Erweiterungsplatine entwickelt, die mittels CAN-Bus an den Kompaktantrieb intern angeschlossen war.
Meine Aufgabe war es, die Firmware für diese Optionskarte zu schreiben. Der EtherCAT-ASIC war hier für mich erstmals via SPI mit dem Microcontroller verbunden. Eine Herausforderung war es, meinen EtherCAT Treiber so umzuprogrammieren, dass er die Anforderungen auch über die SPI Schnittstelle erfüllen kann.
Des Weiteren musste die Firmware gewährleisten, die Prozessdaten rechtzeitig zu verteilen. Die Prozessdaten des Feldbusses mussten via CAN Telegramm an den Antrieb übermittelt werden und die Prozessdaten des Antriebs mussten rechtzeitig empfangen worden sein, um über EtherCAT verschickt werden zu können. Es konnte eine Zykluszeit von 1 ms erreicht werden.
Neue Erfahrungen konnte ich hier auf dem Gebiet der Bootware Entwicklung sammeln, denn es zählte auch zu meinen Aufgaben den Bootloader für diese Optionskarte zu entwickeln, um Software-Updates zu gewährleisten, ohne das Gesamtgerät demontieren zu müssen.

ECOCOMPACT
C SPI EtherCAT CANOpen TI-DSPs Bootware
Jena
2 Jahre 6 Monate
2012-09 - 2015-02

Etablierung des Profinet Feldbustreibers inklusive des Antriebsprofils ProfiDrive.

Projektleiter und Embedded Software Ingenieur C ST Step-7 ...
Projektleiter und Embedded Software Ingenieur

Während dieser Zeit wurden die Mehrachsgeräte des Kunden um den Feldbustreiber ProfiNet erweitert. Parallel dazu wurde das Antriebsprofil ProfiDrive implementiert.
Wir waren ein Team bestehend aus zwei erfahrenen Softwareentwicklern und konnten durch enge Zusammenarbeit schnell unsere Ziele erreichen.
Das Projekt konnte mit erfolgreicher Zertifizierung in einem akkreditierten Testlabor in Erlangen beendet werden.

ECOVARIO114D ECOVARIO616D ECOVARIO616
C ST Step-7 TiA Portal
Jena
11 Monate
2011-10 - 2012-08

EtherCAT Treiber für Mehrachsgeräte erweitern

Embedded Software Ingenieur Embedded-C TI-DSPs C++ ...
Embedded Software Ingenieur
Ziel dieses Projektes war es, den bestehenden EtherCAT Treiber auf die Mehrachsplattform des Kunden zu bringen. Die Herausforderung bestand dabei darin, den Treiber für mehrere Achsen auszulegen.
Dazu musste neben dem bestehende CoE Mailbox Protokoll ein herstellerspezifisches VoE Protokoll entwickelt werden. Diese Anpassung wurde von mir in der Firmware und in der Kommunikations.dll auf PC Seite umgesetzt.
Zusätzlich zu diesem Protokoll wurde ein Achsenschalter Objekt eingeführt, mit dem es möglich ist, die herstellerspezifischen Objekte der Achse in jedem EtherCAT Mastersystem zu erreichen.
ECOVARIO114D ECOVARIO616D
Embedded-C TI-DSPs C++ Microsoft Visual Studio
Jena
1 Jahr 1 Monat
2010-09 - 2011-09

Entwicklung eines EtherCAT Feldbustreibers für die ECOVARIO Gerätefamilie

Embedded Software Ingenieur TI-DSPs C Code Composer Studio ...
Embedded Software Ingenieur
Meine Aufgabe war es, den bestehenden Gerätetreiber in der ECOVARIO Familie so zu erweitern, dass er den EtherCAT Conformance Test besteht.
Des Weiteren habe ich die Kommunikationszyklen für den synchronen Prozessdatenaustausch von 1ms auf, 250us gesenkt.
Während dieser Arbeiten habe ich erste Erfahrungen mit den DSPs von Texas Instruments sammeln können.
ECOVARIO114 ECOVARIO214 ECOVARIO414
TI-DSPs C Code Composer Studio Codeverwaltung mittels CVS
Jena

Aus- und Weiterbildung

Aus- und Weiterbildung

3 Jahre 9 Monate
2018-04 - 2021-12

Certificate FSCED

Functional Safety Certified Engineer Development, TüV Nord
Functional Safety Certified Engineer Development
TüV Nord

  • Functional Safety Management
  • Hardware Level Implementation of IEC 61508
  • Software Level Implementation of IEC 61508
  • Zertifikatsnummer: auf Anfrage

1 Monat
2016-12 - 2016-12

Zertifikat ?Basistraining Projektmanagement?

Zertifikat,
Zertifikat
  • Projektmanagement Begriffe
  • Projektauftrag klären
  • Stake-holderanalyse
  • Ziele formulieren
  • Projektphasen
  • Risiken erkennen/managen
  • Projektsteckbrief
  • Projektstrukturierung
  • Termine im Projekt planen
  • Ressourcen und Kosten managen
  • Kommunikation im Projekt
  • Statusbericht
  • Projekt-start- und -ende
1 Monat
2012-09 - 2012-09

Certified Profinet Engineer

Zertifikat, Siemens Erlangen
Zertifikat
Siemens Erlangen
2 Jahre 8 Monate
2008-01 - 2010-08

Studiums ?Technische Informatik und Kommunikationstechnik?

Master of Engineering (M. Eng.), Note Abschlussarbeit: 1,5, Note Kolloquium: 1,3, Gesamtnote: 1,9, Hochschule Lausitz
Master of Engineering (M. Eng.), Note Abschlussarbeit: 1,5, Note Kolloquium: 1,3, Gesamtnote: 1,9
Hochschule Lausitz

Thema der Abschlussarbeit: ?Thermische Materialcharakterisierung mittels Wärmeflussthermographie? 

1 Monat
2008-10 - 2008-10

Studiengang ?Technische Informatik und Kommunikationstechnik?

Bachelor of Engineering (B.Eng.), Note Abschlussarbeit 1,8, Note Kolloquium 1,3, Gesamtnote: 2,3,
Bachelor of Engineering (B.Eng.), Note Abschlussarbeit 1,8, Note Kolloquium 1,3, Gesamtnote: 2,3

Thema der Abschlussarbeit: ?Entwicklung eines Display zur Visualisierung von Statussignalen des XFEL RF Interlocks?

4 Jahre 1 Monat
2004-09 - 2008-09

Studium ?Technische Informatik und Kommunikationstechnik?

Master of Engineering (M.Eng.), Hochschule Lausitz
Master of Engineering (M.Eng.)
Hochschule Lausitz

Thema der Abschlussarbeit: ?Entwicklung eines Display zur Visualisierung von Statussignalen des XFEL RF Interlocks?

1 Jahr
2003-09 - 2004-08

Studium der Wirtschaftsinformatik

ohne Abschluss, TU Dresden
ohne Abschluss
TU Dresden

Position

Position

Mit umfangreicher Erfahrung im Embedded Software-Engineering sowie fundierten Kenntnissen in verschiedenen Programmiersprachen und Technologien bin ich in der Lage, maßgeschneiderte Lösungen zu entwickeln. Im Folgenden möchte ich einen kurzen Überblick über meine Fähigkeiten geben:

  1. Embedded Software-Engineering: Ich verfüge über umfassende Kenntnisse in der Entwicklung von Embedded-Software für verschiedene Plattformen. Ich beherrsche die Programmiersprachen C und C++ und bin in der Lage, effiziente und zuverlässige Code-Lösungen zu entwickeln.
    Seit Kurzem bin ich auch praktisch in die Systemsprache Rust eingestiegen und kann Sie dabei unterstützen, sollten Sie Hilfe bei der Umsetzung von Rust auf Applikationssoftware-Ebene oder auch im hardwarenahen Softwarebereich benötigen.
  2. Firmware-Entwicklung: Ich habe umfangreiche Erfahrung in der Entwicklung von Firmware für verschiedene Geräte und Plattformen. Ich kann hardwarenahe Code-Lösungen implementieren, um die optimale Leistung und Zuverlässigkeit Ihrer Systeme zu gewährleisten.
  3. Bootware-Entwicklung: Ich verfüge über umfangreiche Erfahrung in der Entwicklung von Bootware für verschiedene Plattformen. Ich kann Bootloader und Startsequenzen implementieren, um eine reibungslose und sichere Inbetriebnahme Ihrer Systeme zu gewährleisten. Mit meinem Wissen über Bootloader-Funktionalitäten und -Protokolle kann ich Ihre Geräte effektiv verwalten und Software-Updates sicher und zuverlässig durchführen.
  4. Sicherer Code mittels Misra-C oder auch Rust: MISRA-C bietet Richtlinien für sichere C-Entwicklung, während Rust von Natur aus Sicherheit bietet. Die Integration von Rust in C-Code kann schrittweise oder über C-Bindings erfolgen. Die Wahl hängt von Projektanforderungen ab. Sicherheit steht im Fokus beider Ansätze und ich kann Ihnen bei der Umsetzung behilflich sein.
  5. Fehlersuche und Fehlerbehebung: Aufgrund meiner langjährigen Erfahrung als hardwarenaher Softwareentwickler habe ich mir Fähigkeiten zur schnellen Fehleranalyse und Fehleridentifikation angeeignet. Sobald das Problem korrekt analysiert wurde, biete ich auch entsprechende Fehlerlösungen an.
  6. Codeverwaltung mittels Git: Ich bin vertraut mit der Verwendung von Git als Codeverwaltungssystem.
  7. Agiles Arbeiten: Seit mehr als 4 Jahren lebe ich die agile Arbeitsmethode Scrum und bin mit den Mitteln rund um den Prozess bestens vertraut. Das Planen der Sprints und das fokussierte Abarbeiten der geplanten Tickets bereitet mir Freude und schafft ein störungsfreies Arbeitsumfeld. Aufgaben, die während des Sprints von Außen ins Team getragen werden, können dann im Daily besprochen und ggf. eingeplant oder als größere Aufgabe für den folgenden Sprint vorbereitet und dann in der Sprintplanung berücksichtigt werden. In der Retrospektive kann das Entwicklerteam den gelaufenen Sprint reflektieren und entsprechende Lehren daraus ziehen.
  8. Feldbustechnologien: Ich verfüge über tiefgreifende Kenntnisse der Feldbustechnologien CanOpen, EtherCAT, Profibus und Profinet. Ich kann diese Technologien nutzen, um Kommunikationsprotokolle zu implementieren und die Interaktion zwischen verschiedenen Geräten und Systemen zu ermöglichen.
  9. CMake: Ich bin mit dem Build-System CMake vertraut und kann komplexe Projekte effizient verwalten und kompilieren. Dadurch kann ich sicherstellen, dass Ihr Code reibungslos funktioniert und einfach auf andere Plattformen übertragen werden kann.
  10. Datenverkehrsanalyse mittels Wireshark: Durch die Analyse des Datenverkehrs mit Wireshark kann ich Netzwerkprobleme identifizieren und Fehler in der Kommunikation beheben. Dies ermöglicht eine effiziente und zuverlässige Datenübertragung in Ihren Projekten.
  11. Functional Safety: Als zertifizierter Functional Safety Certified Engineer Development vom TÜV Nord verfüge ich über fundierte Kenntnisse und Erfahrungen im Bereich der funktionalen Sicherheit. Ich habe ein tiefgreifendes Verständnis für die Anforderungen und Standards, die bei der Entwicklung sicherheitskritischer Systeme und Software gelten. Ich kann sicherheitsrelevante Analysen durchführen, Risikobewertungen erstellen und die erforderlichen Sicherheitsmaßnahmen definieren, um die Einhaltung von Normen IEC 61508 oder IEC-61800-5 oder andere branchenspezifische Standards zu gewährleisten.
  12. Strukturiertes Vorgehen: Ich gehe immer strukturiert bei der Bearbeitung meiner Themen vor. Nachdem die Aufgabe klar ist, werde ich zunächst die Anforderungen erstellen. Auf dieser Basis versuche ich den bestmöglichen Lösungsansatz zu finden, um anschließend die Umsetzung zu Planen und letztlich umzusetzen.

Mein Ziel ist es, qualitativ hochwertigen Code zu liefern. Ich stehe Ihnen gerne zur Verfügung, um weitere Details zu besprechen und Ihre Projekte zum Erfolg zu führen. Zögern Sie nicht, mich zu kontaktieren, um weitere Informationen über meine bisherigen Arbeiten und Referenzen zu erhalten. Ich freue mich darauf, mit Ihnen zusammenzuarbeiten und Ihnen bei Ihren technischen Herausforderungen zu helfen.

Kompetenzen

Kompetenzen

Top-Skills

Embedded Software Firmware Entwicklung Bootware Entwicklung C C++ MISRA-C Rust Git Scrum CANopen EtherCAT PROFINET PROFIBUS Funktionale Sicherheit CMake Python Wireshark CSS HTML5 JavaScript C# PHP

Produkte / Standards / Erfahrungen / Methoden

text

Programmiersprachen

Assembler
Experte
C++
Experte
C#
Fortgeschritten
C
Experte
CSS
Fortgeschritten
HTML5
Experte
Java
Basics
JavaScript
Fortgeschritten
Misra-C
Experte
PHP
Fortgeschritten
Python
Fortgeschritten
Rust
Basics
ST
Experte
VBA
Fortgeschritten
VB
Fortgeschritten
VBScript
Fortgeschritten
XML
Experte

Als Softwareentwickler stehe ich am Kreuzungspunkt von Logik und Kreativität. Meine wahre Leidenschaft liegt in der hardwarenahen Softwareentwicklung, einem Bereich, der eine präzise Kontrolle und ein tiefes Verständnis der zugrundeliegenden Hardware erfordert. Ich finde Freude daran, das Verhalten von Mikroprozessoren zu verstehen und Software so zu gestalten, dass sie sich nahtlos in die Hardware integriert.

Das Debugging und die Code-Optimierung sind für mich mehr als nur eine Aufgabe, sie sind ein Rätsel, das darauf wartet, gelöst zu werden. Es fasziniert mich, wie eine wohlüberlegte Code-Änderung die Leistungsfähigkeit und Effizienz eines Systems dramatisch verbessern kann. Jedes Byte zählt in der embedded-Entwicklung und diese Herausforderung treibt mich an, stets mein Bestes zu geben. Obwohl ich mich in die Komplexität der Technologie vertiefe, verliere ich nie den Blick für das größere Ganze.

Datenkommunikation

CanOpen
Experte
EtherCAT
Experte
Ethernet TCP / IP
Experte
I2C
Experte
Profinet
Experte
Profibus
Experte
SPI
Experte
serielle Kommunikation RS232
Experte
serielle Kommunikation RS485
Experte
USB
Experte
drahtlos nach 802.11
Wireshark
Experte

Datenkommunikation ist für mich das Rückgrat der digitalen Welt. Sie ist das verbindende Element, das Einzelteile zu einem zusammenhängenden, leistungsfähigen System verknüpft. Ohne die effiziente und zuverlässige Übertragung von Informationen von einem Punkt zum anderen könnten viele moderne Technologien, vom einfachen Heimnetzwerk bis zum globalen Internet, nicht existieren.

Im speziellen Kontext der Feldbusse gewinnt diese Faszination an Tiefe. Als das Nervensystem industrieller Automatisierungsanlagen ermöglichen sie eine sichere und zeitnahe Kommunikation zwischen den verschiedenen Komponenten. Die Implementierung von Systemen wie CAN, EtherCAT und Profinet erfordert ein gründliches Verständnis und eine sorgfältige Programmierung. Dies ist ein Bereich, der oft unterschätzt wird, jedoch für die Robustheit und Effizienz von Automatisierungssystemen von entscheidender Bedeutung ist.

Bei internen Kommunikationssystemen wie UART, I2C und SPI kommt eine weitere Dimension hinzu. Diese seriellen Kommunikationsprotokolle ermöglichen eine schnelle und effiziente Datenübertragung zwischen Mikrocontrollern und Peripheriegeräten. Von UART, das häufig für die Kommunikation mit PCs genutzt wird, über I2C und SPI, die perfekt für den Datenaustausch zwischen Sensoren und Mikrocontrollern in Echtzeitanwendungen geeignet sind.

Hardware

Microcontroller
Experte
Multi-Core
Fortgeschritten
TI-DSP
Experte

Durch jahrelange Arbeit und umfangreiche Projekte konnte ich tiefgehende Kenntnisse im Bereich der Embedded Software Entwicklung für Mikrocontroller erwerben. Ich beherrsche die Programmierung und das Debugging von Mikrocontrollern verschiedener Hersteller und Modelle, und kann so effektive, effiziente und innovative Lösungen für verschiedene technische Herausforderungen liefern.

Ein besonderer Schwerpunkt meiner Expertise liegt im Umgang mit TI-DSPs (Digital Signal Processors) von Texas Instruments. Ich habe eine Vielzahl von Projekten unter Verwendung dieser leistungsstarken und vielseitigen Prozessoren erfolgreich abgeschlossen. Mit umfassendem Wissen über die Architektur und Schnittstellen dieser Chips kann ich robuste und optimierte Systeme entwerfen und implementieren.

In meinem letzten Projekt konnte ich mir zudem Expertise auf dem Gebiet der Multi-Core-Prozessoren im Embedded Bereich aufbauen. Meine praktische Erfahrung mit diesem Prozessor hat mir tiefgreifende Einblicke in seine Leistungsfähigkeit und Anwendungsmöglichkeiten gegeben. Ich habe die Fähigkeit, seine Architektur bestehend aus 2 C28x Cores und einem ARM Core effizient zu nutzen und Leistung zu optimieren, während ich gleichzeitig sicherstelle, dass alle Cores harmonisch zusammenarbeiten, um hohe Leistung und Zuverlässigkeit zu erzielen.

Design / Entwicklung / Konstruktion

CMake
Experte
Functional Safety
Fortgeschritten
Git
Experte

Seit ich git kennengelernt habe, hat es die Art und Weise, wie ich Code verwalte, völlig verändert. Im Vergleich zu herkömmlichen Versionsverwaltungssystemen wie CVS und SVN bietet git eine bemerkenswerte Flexibilität und Kontrolle. Die Fähigkeit, parallel an verschiedenen Themen dank der Verwendung von Branches zu arbeiten, hat die Zusammenarbeit und die Geschwindigkeit unserer Entwicklung erheblich verbessert. Insbesondere die Anwendung von git-Flow hat eine klare Struktur und einen reibungslosen Prozess für die Integration neuer Features geschaffen.

CMake ermöglicht es mir, plattformunabhängige Build-Prozesse zu erstellen, was die Portierbarkeit und den Einsatz von Software auf verschiedenen Systemen erheblich verbessert. Mit CMake kann ich die Komplexität des Build-Prozesses abstrahieren und mich darauf konzentrieren, was wirklich wichtig ist.

Meine Arbeit in der funktionalen Sicherheit hat mir die Bedeutung von strengen Standards und Prozessen in der Softwareentwicklung vermittelt. Als vom TÜV Nord zertifizierter "Functional Safety Certified Engineer Development" habe ich gelernt, wie man den Entwicklungsprozess plant, dokumentiert und sicher durchführt. Ich habe Dokumentenvorlagen für den Entwicklungsprozess in diesem Bereich erstellt und eine Kommunikationsschnittstelle zu einer im Antrieb integrierten Safety Optionskarte implementiert. Diese Erfahrungen haben meine Fähigkeiten in der sicheren und effizienten Softwareentwicklung erheblich erweitert.

Personalverantwortung

Scrum Product Owner
Fortgeschritten
Scrum Developer
Experte
Scrum Master
Basics

Scrum ist für mich mehr als nur eine Methode zur Projektverwaltung - es ist ein Leitbild, das Zusammenarbeit, Flexibilität und kontinuierliches Lernen fördert. Es ist das Gewebe, das einzelne Talente zu einem starken, produktiven Team verwebt, und es ist das Fahrzeug, das Projekte sicher durch die Herausforderungen der Softwareentwicklung steuert.

In diesem komplexen Geflecht übernimmt der Developer eine entscheidende Rolle. Er ist das Herz des Scrum-Teams und treibt die Umsetzung des Projekts voran. Er navigiert durch Code, transformiert Anforderungen in funktionale Software und löst Probleme mit Kreativität und technischer Expertise. Aber er ist auch ein Teamplayer, der aktiv an Scrum-Zeremonien teilnimmt, sein Wissen mit anderen teilt und Feedback annimmt, um kontinuierlich zu wachsen und zu lernen.

Auf der anderen Seite steht der Product Owner, der als Bindeglied zwischen dem Entwicklungsteam und den Stakeholdern agiert. Er trägt die Vision des Produkts und übersetzt die Bedürfnisse der Stakeholder in greifbare, priorisierte Anforderungen für das Team. Aber seine Rolle geht über die reine Produktverwaltung hinaus ? er ist auch ein Vermittler und Unterstützer, der das Team in seiner Arbeit unterstützt und sicherstellt, dass es über die Ressourcen und Informationen verfügt, die es braucht, um erfolgreich zu sein.

In diesem dynamischen Zusammenspiel zwischen Entwicklern, Product Ownern und anderen Rollen entsteht die wahre Magie von Scrum. Jedes Teammitglied bringt seine einzigartigen Fähigkeiten und Perspektiven ein und zusammen navigieren sie durch die Komplexität der Produktentwicklung, um ein Produkt mit einem echten Kundennutzen zu schaffen.

Einsatzorte

Einsatzorte

Jena (+50km)
Deutschland, Schweiz, Österreich
möglich

Projekte

Projekte

1 Jahr 5 Monate
2023-08 - 2024-12

Firmwareentwicklung für Industrie-Saugroboter

embedded Software Ingenieur Yocto Linux bash skripts C ...
embedded Software Ingenieur

In diesem Projekt habe ich bei der Firmwareentwicklung eines Saugroboters für industrielle Anwendungen unterstützt. Ich bin relativ spät in das Projekt gekommen, um als Troubleshooter schwere Fehler zu finden und dabei zu unterstützen, die  Verfügbarkeit des Gesamtsystems zu erhöhen. Die Entwicklung des Roboters war schon sehr weit fortgeschritten, aber die Software erfüllte bisher nicht das  gewünschte Geräteverhalten, das für den Produktstart wichtig war.


Das Unternehmen, für das ich arbeitete, verfolgt in der Produktentwicklung den agilen Ansatz. Themen wurden in Dailys live abgestimmt und in Plannings erfolgte die Planung des kommenden Sprints, was einer Periode von 2 Wochen entsprach. Im späteren Projektverlauf ging es darum, Fehler und unerwünschtes Verhalten, das während der Produkttests festgestellt wurde, zu beheben. In dieser Phase wurden die Plannings ausgesetzt und es wurden akute Fehler, die während der Tests auftraten, in den Dailys besprochen und deren Behebung geplant. Einmal im Quartal fand ein Stage-Planning statt, bei dem ich ein besseres Gefühl für die Produktstrategie und die unternehmerischen Ziele erlangen konnte.

Ich konnte den Update-Prozess der sMCU Controller während eines Firmware-Updates stabilisieren und so robust gestalten, dass es keine Ausfälle des Gerätes durch korrupte Firmware mehr gab.

Die Verfügbarkeit des Gesamtsystems konnte ich durch eine Verbesserung im Geräteverhalten bei Erkennung einer Sturzkante erhöhen. Bisher war immer eine direkte Nutzerinteraktion notwendig, um den Reinigungsvorgang fortzusetzen. Ich habe das Geräteverhalten dahingehend verändert, dass der Roboter nach Erkennen einer Kante zunächst zeitweise misst, ob die Bedingungen für einen möglichen Sturz noch gegeben sind. Wenn das nicht mehr der Fall war, so gab es seitens der safety Steuerung im Gerät wieder eine Freigabe und die Reinigung konnte selbstständig fortgesetzt werden.


Das Arbeiten und Nachverfolgen an den konkreten Themen erfolgte über ein Ticketsystem, wodurch Aufgaben klar abgegrenzt und dokumentiert werden  konnten.


Zu meinen Tätigkeiten gehörte es:

  • Zugewiesene Tickets abzuarbeiten
  • Beim Feststellen neuer Probleme oder Auffälligkeiten, Tickets zu generieren und zu beschreiben.
  • Finale Ergebnisse aus meinen Arbeiten an geeigneter Stelle zu dokumentieren.
  • Fehlverhalten in der I2C-Kommunikation zwischen Echtzeit Controller und Safety-Controller untersuchen und beheben.
  • Registerauszug der Registerwerte der Safety-Controller während eines Safety Ereignisses via I2C auslesen und die Informationen im Journal des Linux-Systems im Markdown Tabellenformat bereitstellen.
  • Optimieren der Startreihenfolge von Systemd Services, um einen fehlerfreien und zuverlässigen Systemstart bei unterschiedlichen Startvoraussetzungen zu erreichen.
  • Anpassung diverser Service-Beschreibungsdateien.
  • Erstellen von Bash Scripts, um das Geräteverhalten für diverse Labortests und Messungen zu steuern.
  • Optimierung des bestehenden Skriptes, das den Firmware-Updateprozess der Safety-Controller steuert.
  • Analyse großer Journal-Logs zur Identifizierung spezifischer Fehlerfälle, die seitens der QA in Tickets beschrieben und bereitgestellt wurden.
  • Abstimmung mit chinesischen Fertiger zur Behebung von Problemen während des Updateprozesses neu hergestellter Geräte.
  • Erstellen von Testsoftware für die Safety Controller, zur Erhöhung der Geräteverfügbarkeit.
  • Besprechung und Implementierung von Verbesserungen bestehender Sicherheitsfunktionen.
  • Erstellung von Unit-Tests auf Basis des Google-Test Frameworks.
  • Erstellung von Gerätetests in Python und Integration der Testfälle ins Robot-Framework.
  • Implementierung eines Interfaces zur Kalibrierung der Drop-Sensoren, die sich unterhalb des Roboters befinden.

Yocto Linux bash skripts C C++ Python Systemd Services Google-Test Framework Robot-Framework Docker
Vorwerk
Remote und Wuppertal
2 Monate
2023-07 - 2023-08

Webseite erstellt für naraart-design.com

Software Entwickler html PHP 8 JavaScript ...
Software Entwickler
Ziel des Projekts war es, die bestehende Webpräsenz meiner Ehefrau

zu überarbeiten.

Die Webpräsenz von Nanaart-Design sollte einen frischen Anstrich erhalten. Meiner Frau war es wichtig, dass die Webseite modern und individuell sein sollte. Beim Erstellen der Webseite habe ich bewusst auf die Verwendung fertiger CMS Systeme verzichtet, um dem Anspruch des individuellen Designs gerecht zu werden.

Auf diese Weise bleiben mir alle Freiheitsgrade in der Gestaltung und der Funktionalität der Webseite erhalten. Für die Umsetzung des Projektes habe ich mich auf die Verwendung der 4 Basistechnologien der Webentwicklung beschränkt.

Verwendete Basistechnologien für die Webseite:
  • HTML für die Beschreibung der Inhalte
  • CSS für das Styling der Webseite
  • JavaScript für die Steuerung interaktiver Elemente auf der Webseite
  • PHP für die dynamische Steuerung von Inhalten

Das grundlegende Design der Webseite besteht aus drei Teilen, einem Kopfbereich, einem Fußbereich und einem Hauptbereich. Der Kopf- und Fußbereich sollen auf jeder Seite gleich sein. Zur Vermeidung doppelten Codes habe ich mich dafür entschieden eine Basisseite zu erstellen, die alle drei Berreiche repräsentiert. In Abhängigkeit der Seite auf der sich der Benutzer befindet wird der Hauptberreich dynamisch nachgeladen.

Durch diese Maßnahme sind Anpassungen im Kopf- und Fußbereich der Seite immer für alle Seiten wirksam.

Das responsive Design der Webseite wurde über CSS realisiert. Ab einer bestimmten Bildschirmbreite wird die Webseite passend für Mobile Endgeräte dargestellt. Die Seitenelemente passen sich dynamisch der Fensterbreite an. Medieninhalte, wie Grafiken, Bilder und Videos werden getrennt vom Code der Webseite vorgehalten, was hauptsächlich in der Codeverwaltung und beim Seitenupload jede Menge Platz spart. Auf die Medieninhalte wird über eine seperate URL zugegriffen, dadurch wird erreicht, dass diese Inhalte leicht austauschbar sind, ohne Änderungen am Quellcode der Webseite selbst vorzunehmen.


html PHP 8 JavaScript CSS3
freib. Grafikdesignerin Narine Peters
Jena
2 Jahre 4 Monate
2021-03 - 2023-06

Firmware für neue Gerätegeneration

Product Owner, Scrum Developer C CMake git ...
Product Owner, Scrum Developer

Ziel dieses Projektes ist es, die Firmware für eine neue Gerätegeneration mit einem Multicore Prozessor als Zentrale Einheit zu entwickeln.
In einem ersten Schritt mussten die Basistreiber für die Hardware Peripherien entwickelt werden. Des Weiteren musste ein Konzept entwickelt werden, wie Informationen zwischen den Cores ausgetauscht werden können und welche Informationen aus Laufzeitgründen in einem Shared-RAM zwischen den beiden C28x Cores zur Verfügung gestellt werden müssen.
Zu meinen Aufgaben zählte unter anderem die Betreuung des gesamten Firmware Projektes als Scrum Product Owner. In dieser Rolle habe ich das Backlog mit Aufgaben gepflegt und einzelnen Features vor priorisiert, die dann während der Sprintplanung Berücksichtigung fanden.
Neben der Rolle des Product Owner hatte ich auch noch die Rolle des Developer inne und selbst einige Themen bearbeitet.
Unter anderem habe ich den Basis-Treiber für die Interprozessorkommunikation entwickelt. Mein Treiber hat Methoden zur Verfügung gestellt, der es den andern Entwicklern ermöglicht eigene IPC-Services (inter prozessor communication - services) zu implementieren.
Mein früher entwickelter SDO-Handler kam zum Einsatz, um SDO Anfragen an die korrekte CPU weiterzuleiten. Meine Philosophie ist es, dass die Daten dort vorgehalten werden, wo sie benötigt werden. Doppelte Datenvorhaltung sollte weitestgehend vermieden werden.
In meiner Rolle als Developer habe ich noch die folgenden Implementierungen realisiert:
  • Blackchannel Implementierung zur integrierten Safety Optionskarte, um einen Austausch zyklischer Safety Daten zwischen dem sicheren Feldbus und der Safety Optionskarte zu realsieren
  • SPI Treiber für mehrere IO-Expander Chips.
  • Ablaufregime für Lesen und Schreiben der Zustände der erweiterten IO-Expander Chips in einem zyklischen Intervall
  • IPC-Services zum Laden und Speichern von remanenten Parametern in einem EEPROM, der von einer CPU verwaltet wird.
  • EtherCAT Treiber inklusive Datenaustausch zyklischer Prozessdaten zwischen den einzelnen Cores und dem Feldbus
  • FSoE Umsetzung in der Firmware in verständliche Parameteranfragen an die safety Optionskarte
  • USB Treiber 
Dieses Projekt war mein bisher größtes Projekt, für einige Sprints bestand unser Team aus bis zu vier Software Entwicklern.

Servoverstärker mit Functional Safety
C CMake git GitLab Multi-Core TI-DSPs
Jena
1 Jahr 2 Monate
2020-02 - 2021-03

Bootware für neue Servoverstärker Generation mit Multicore Controller

Projektverantwortlicher und Embedded Software Ingenieur C Multicore Prozessoren TI-DSPs ...
Projektverantwortlicher und Embedded Software Ingenieur

Ziel dieses Projektes war es, eine Bootware für einen neuen Multicore Controller aus der TMS Familie von Texas Instruments zu entwickeln.
Dieser Prozessor hat 2 C28x DSP Cores und einen ARM Cortex M4 Core. Jeder Core hat einen internen Programmflash. Jeder Core Flash kann immer nur von dem Core programmiert werden, zu dem er gehört. Im Wesentlichen besteht das Bootware-Projekt also aus drei Firmware Projekten, die den Bootloader bilden.
Die Hauptfirmware läuft auf dem Master-Core (CPU1), dieser Core startet als Erstes und muss die Bootware für die anderen Cores über den internen Message-RAM verteilen und die Cores anschließend starten lassen. Weil das gesamte Bootware-Projekt zu viel Programmflash des CPU1 Cores in Anspruch genommen hätte, wurden Teile der Bootware in einem externen Daten-Flash gespeichert. Der kritische Code, der beim Start-up ausgeführt wird, belegt nur 2 Flashsektoren und lädt die fehlenden Programmteile aus dem externen Flash in den CPU RAM nach.
Anschließend wird der Start-up Code der jeweiligen Co-CPUs in die Message RAMs geladen und die Cores werden gestartet. Sobald die Cores gestartet sind, fordern diese Ihre fehlenden Programmteile mittels Interprozessorkommunikation bei CPU1 an. CPU1 lädt diese Programmteile aus dem externen Daten-Flash und stellt sie dem jeweiligen Core zur Verfügung.
Diese Abfolge des Controller-Starts verlangt ein ausgeklügeltes Mapping verschiedener Firmwareteile in den jeweiligen Linker Files, um zu verhindern, dass Programmteile ausgeführt werden, die noch nicht aus dem externen Daten-Flash in den RAM geladen wurden.

Servoverstärker mit Functinal Safety
C Multicore Prozessoren TI-DSPs CMake Advanced Linker File Skills git GitLab
Jena
1 Jahr 1 Monat
2019-01 - 2020-01

Treiber für interne Kommunikation mit einer im Produkt integrierten Safety Optionskarte

Projektverantwortlicher Software und Embedded Software Ingenieur C UART
Projektverantwortlicher Software und Embedded Software Ingenieur

Eine neue Safety Optionskarte sollte in den Servoverstärker integriert werden. Die Kommunikationsschnittstelle zwischen der FS-Karte und der Firmware bestand aus einer UART und einer Protokollspezifikation, die zur Verfügung gestellt wurde.
Meine Aufgabe war es, den Kommunikationstreiber zur FS-Karte auf Basis der Interface-Spezifikation zu implementieren.
Die Herausforderung bestand darin, Interface Objekte auf CANOpen Basis zu implementieren. Hinter diesen Objekten wurden entsprechende Callback Methoden implementiert, welche die Objekt-IDs in für die FS-Karte verständliche Parameter Anfragen umgesetzt haben.
Des Weiteren musste der bestehende SDO-Handler so erweitert werden, dass Anfragen nicht direkt ein Ergebnis liefern konnten, weil auf die Antwort der FS-Karte gewartet werden musste, um eine entsprechende SDO-Response an den Client zu senden. Hierzu musste die bestehende und bewährte Umsetzung dieses SDO-Händlers völlig neu entwickelt werden, weil eine Erweiterung in der alten Implementierung nicht möglich war.

C UART
Jena
7 Monate
2018-05 - 2018-11

Dokumentenvorlagen für den firmeninternen Functional Safety Entwicklungsprozess

Functional Safety Ingenieur VBA Dokumentenvorlagen FS-Dokumentation
Functional Safety Ingenieur

Nachdem ich meine Zertifizierung zum "Functional Safety Certified Engineer Development" vom TüV Nord erhalten hatte, wurde ich damit beauftragt, die nötigen Vorlagen für die Dokumentation einer sicherheitsgerichteten Entwicklung anzufertigen.
Ich habe in Excel eine Dokumentenübersicht erstellt und die nötigen Dokumentenvorlagen für den Entwicklungsprozess nach DIN 61508 erstellt.
Dieser Dokumentensatz dient als Basis für jede FS-Entwicklung.
Zur Versionierung des Dokumentensatzes im jeweiligen Entwicklungsprojekt wurde von mir Git empfohlen.
Um den Entwicklungsingenieur im Rahmen der Safety Entwicklung zu unterstützen, wurden innerhalb der Dokumente und in der Dokumentenübersicht mittels VBA diverse Unterstützungen von mir implementiert.

VBA Dokumentenvorlagen FS-Dokumentation
Jena
1 Jahr 1 Monat
2017-05 - 2018-05

EtherCAT to CAN Gateway - Multiaxes

Projektverantwortlicher Embedded Software Ingenieur C EtherCAT Wireshark ...
Projektverantwortlicher Embedded Software Ingenieur

In diesem Projekt ging es darum, das bestehende EtherCAT to CAN-Gateway, das bereits als Optionskarte für Kompaktantriebe verwendet wurde, für Mehrachsbetrieb zu erweitern.
Mit Hilfe dieses Gateway ist es möglich, sämtliche CANOpen Geräte des Kunden an den EtherCAT Feldbus anzuschließen und diese Echtzeitfähig bis 1ms Zyklen zu betreiben.
Über das ESI-File wurde festgelegt, wie viele Geräteachsen an der CAN Schnittstelle zu finden sind. Die maximale Anzahl unterstützter CAN Knoten wurde aus Performancegründen auf vier begrenzt.
Für eine Drei-Achs-Variante konnten Zykluszeiten bis 1 ms erreicht werden. Die Vier-Achs-Variante konnte Zykluszeiten bis 2 ms erreichen.

EtherCAT to CAN Gateway
C EtherCAT Wireshark CANOpen TI-DSPs
Jena
10 Monate
2016-07 - 2017-04

Konzept und Treiber Basis für OLED Display Treiber

Embedded Software Ingenieur C SPI VB-Script
Embedded Software Ingenieur


Für eine neue Generation von Antriebsreglern soll ein OLED Display zur Anzeige des Gerätezustandes am Servoverstärker selbst zum Einsatz kommen. Aufgabe in diesem Projekt war es, einen Prototyp des Displays in Betrieb zu nehmen und einen ersten Treiber zur Ansteuerung der Anzeige zu entwickeln.
Ich vertiefte mein Verständnis darüber, wie OLED-Displays auf hardwarenaher Ebene angesteuert werden. Hierbei spielten die Anforderungen des Display-Controllers und die Umsetzung der elektrischen Signale eine wesentliche Rolle.
Darüber hinaus habe ich gelernt, wie Bit-Maps für verschiedene Schriftarten erzeugt werden können. Dieser Prozess umfasste sowohl die Auswahl geeigneter Fonts als auch die Umsetzung dieser in eine für das Display lesbare Form.
Der TI-DSP auf dem dieser Treiber lief, hat als kleinste Speichereinheit 16-Bit, um Speicher zu sparen, habe ich ein entsprechendes VB-Script geschrieben, welches das Bitmap eines Fonts passend in das 16-Bit Format presst.
Ein weiterer wichtiger Aspekt des Projekts war die Beschäftigung mit der Spezifikation der Displayansteuerung über SPI. Ich erlangte tiefe Einblicke in das Zusammenspiel zwischen Timing, Datenformat und den speziellen Anforderungen der OLED-Displayansteuerung.


C SPI VB-Script
Jena
1 Jahr 5 Monate
2015-02 - 2016-06

EtherCAT to CAN Umsetzer für ECOCOMPACT

Projektverantwortung für die Software C SPI EtherCAT ...
Projektverantwortung für die Software

Um einen Kompaktantrieb an den EtherCAT Feldbus anschließen zu können, wurde eine Erweiterungsplatine entwickelt, die mittels CAN-Bus an den Kompaktantrieb intern angeschlossen war.
Meine Aufgabe war es, die Firmware für diese Optionskarte zu schreiben. Der EtherCAT-ASIC war hier für mich erstmals via SPI mit dem Microcontroller verbunden. Eine Herausforderung war es, meinen EtherCAT Treiber so umzuprogrammieren, dass er die Anforderungen auch über die SPI Schnittstelle erfüllen kann.
Des Weiteren musste die Firmware gewährleisten, die Prozessdaten rechtzeitig zu verteilen. Die Prozessdaten des Feldbusses mussten via CAN Telegramm an den Antrieb übermittelt werden und die Prozessdaten des Antriebs mussten rechtzeitig empfangen worden sein, um über EtherCAT verschickt werden zu können. Es konnte eine Zykluszeit von 1 ms erreicht werden.
Neue Erfahrungen konnte ich hier auf dem Gebiet der Bootware Entwicklung sammeln, denn es zählte auch zu meinen Aufgaben den Bootloader für diese Optionskarte zu entwickeln, um Software-Updates zu gewährleisten, ohne das Gesamtgerät demontieren zu müssen.

ECOCOMPACT
C SPI EtherCAT CANOpen TI-DSPs Bootware
Jena
2 Jahre 6 Monate
2012-09 - 2015-02

Etablierung des Profinet Feldbustreibers inklusive des Antriebsprofils ProfiDrive.

Projektleiter und Embedded Software Ingenieur C ST Step-7 ...
Projektleiter und Embedded Software Ingenieur

Während dieser Zeit wurden die Mehrachsgeräte des Kunden um den Feldbustreiber ProfiNet erweitert. Parallel dazu wurde das Antriebsprofil ProfiDrive implementiert.
Wir waren ein Team bestehend aus zwei erfahrenen Softwareentwicklern und konnten durch enge Zusammenarbeit schnell unsere Ziele erreichen.
Das Projekt konnte mit erfolgreicher Zertifizierung in einem akkreditierten Testlabor in Erlangen beendet werden.

ECOVARIO114D ECOVARIO616D ECOVARIO616
C ST Step-7 TiA Portal
Jena
11 Monate
2011-10 - 2012-08

EtherCAT Treiber für Mehrachsgeräte erweitern

Embedded Software Ingenieur Embedded-C TI-DSPs C++ ...
Embedded Software Ingenieur
Ziel dieses Projektes war es, den bestehenden EtherCAT Treiber auf die Mehrachsplattform des Kunden zu bringen. Die Herausforderung bestand dabei darin, den Treiber für mehrere Achsen auszulegen.
Dazu musste neben dem bestehende CoE Mailbox Protokoll ein herstellerspezifisches VoE Protokoll entwickelt werden. Diese Anpassung wurde von mir in der Firmware und in der Kommunikations.dll auf PC Seite umgesetzt.
Zusätzlich zu diesem Protokoll wurde ein Achsenschalter Objekt eingeführt, mit dem es möglich ist, die herstellerspezifischen Objekte der Achse in jedem EtherCAT Mastersystem zu erreichen.
ECOVARIO114D ECOVARIO616D
Embedded-C TI-DSPs C++ Microsoft Visual Studio
Jena
1 Jahr 1 Monat
2010-09 - 2011-09

Entwicklung eines EtherCAT Feldbustreibers für die ECOVARIO Gerätefamilie

Embedded Software Ingenieur TI-DSPs C Code Composer Studio ...
Embedded Software Ingenieur
Meine Aufgabe war es, den bestehenden Gerätetreiber in der ECOVARIO Familie so zu erweitern, dass er den EtherCAT Conformance Test besteht.
Des Weiteren habe ich die Kommunikationszyklen für den synchronen Prozessdatenaustausch von 1ms auf, 250us gesenkt.
Während dieser Arbeiten habe ich erste Erfahrungen mit den DSPs von Texas Instruments sammeln können.
ECOVARIO114 ECOVARIO214 ECOVARIO414
TI-DSPs C Code Composer Studio Codeverwaltung mittels CVS
Jena

Aus- und Weiterbildung

Aus- und Weiterbildung

3 Jahre 9 Monate
2018-04 - 2021-12

Certificate FSCED

Functional Safety Certified Engineer Development, TüV Nord
Functional Safety Certified Engineer Development
TüV Nord

  • Functional Safety Management
  • Hardware Level Implementation of IEC 61508
  • Software Level Implementation of IEC 61508
  • Zertifikatsnummer: auf Anfrage

1 Monat
2016-12 - 2016-12

Zertifikat ?Basistraining Projektmanagement?

Zertifikat,
Zertifikat
  • Projektmanagement Begriffe
  • Projektauftrag klären
  • Stake-holderanalyse
  • Ziele formulieren
  • Projektphasen
  • Risiken erkennen/managen
  • Projektsteckbrief
  • Projektstrukturierung
  • Termine im Projekt planen
  • Ressourcen und Kosten managen
  • Kommunikation im Projekt
  • Statusbericht
  • Projekt-start- und -ende
1 Monat
2012-09 - 2012-09

Certified Profinet Engineer

Zertifikat, Siemens Erlangen
Zertifikat
Siemens Erlangen
2 Jahre 8 Monate
2008-01 - 2010-08

Studiums ?Technische Informatik und Kommunikationstechnik?

Master of Engineering (M. Eng.), Note Abschlussarbeit: 1,5, Note Kolloquium: 1,3, Gesamtnote: 1,9, Hochschule Lausitz
Master of Engineering (M. Eng.), Note Abschlussarbeit: 1,5, Note Kolloquium: 1,3, Gesamtnote: 1,9
Hochschule Lausitz

Thema der Abschlussarbeit: ?Thermische Materialcharakterisierung mittels Wärmeflussthermographie? 

1 Monat
2008-10 - 2008-10

Studiengang ?Technische Informatik und Kommunikationstechnik?

Bachelor of Engineering (B.Eng.), Note Abschlussarbeit 1,8, Note Kolloquium 1,3, Gesamtnote: 2,3,
Bachelor of Engineering (B.Eng.), Note Abschlussarbeit 1,8, Note Kolloquium 1,3, Gesamtnote: 2,3

Thema der Abschlussarbeit: ?Entwicklung eines Display zur Visualisierung von Statussignalen des XFEL RF Interlocks?

4 Jahre 1 Monat
2004-09 - 2008-09

Studium ?Technische Informatik und Kommunikationstechnik?

Master of Engineering (M.Eng.), Hochschule Lausitz
Master of Engineering (M.Eng.)
Hochschule Lausitz

Thema der Abschlussarbeit: ?Entwicklung eines Display zur Visualisierung von Statussignalen des XFEL RF Interlocks?

1 Jahr
2003-09 - 2004-08

Studium der Wirtschaftsinformatik

ohne Abschluss, TU Dresden
ohne Abschluss
TU Dresden

Position

Position

Mit umfangreicher Erfahrung im Embedded Software-Engineering sowie fundierten Kenntnissen in verschiedenen Programmiersprachen und Technologien bin ich in der Lage, maßgeschneiderte Lösungen zu entwickeln. Im Folgenden möchte ich einen kurzen Überblick über meine Fähigkeiten geben:

  1. Embedded Software-Engineering: Ich verfüge über umfassende Kenntnisse in der Entwicklung von Embedded-Software für verschiedene Plattformen. Ich beherrsche die Programmiersprachen C und C++ und bin in der Lage, effiziente und zuverlässige Code-Lösungen zu entwickeln.
    Seit Kurzem bin ich auch praktisch in die Systemsprache Rust eingestiegen und kann Sie dabei unterstützen, sollten Sie Hilfe bei der Umsetzung von Rust auf Applikationssoftware-Ebene oder auch im hardwarenahen Softwarebereich benötigen.
  2. Firmware-Entwicklung: Ich habe umfangreiche Erfahrung in der Entwicklung von Firmware für verschiedene Geräte und Plattformen. Ich kann hardwarenahe Code-Lösungen implementieren, um die optimale Leistung und Zuverlässigkeit Ihrer Systeme zu gewährleisten.
  3. Bootware-Entwicklung: Ich verfüge über umfangreiche Erfahrung in der Entwicklung von Bootware für verschiedene Plattformen. Ich kann Bootloader und Startsequenzen implementieren, um eine reibungslose und sichere Inbetriebnahme Ihrer Systeme zu gewährleisten. Mit meinem Wissen über Bootloader-Funktionalitäten und -Protokolle kann ich Ihre Geräte effektiv verwalten und Software-Updates sicher und zuverlässig durchführen.
  4. Sicherer Code mittels Misra-C oder auch Rust: MISRA-C bietet Richtlinien für sichere C-Entwicklung, während Rust von Natur aus Sicherheit bietet. Die Integration von Rust in C-Code kann schrittweise oder über C-Bindings erfolgen. Die Wahl hängt von Projektanforderungen ab. Sicherheit steht im Fokus beider Ansätze und ich kann Ihnen bei der Umsetzung behilflich sein.
  5. Fehlersuche und Fehlerbehebung: Aufgrund meiner langjährigen Erfahrung als hardwarenaher Softwareentwickler habe ich mir Fähigkeiten zur schnellen Fehleranalyse und Fehleridentifikation angeeignet. Sobald das Problem korrekt analysiert wurde, biete ich auch entsprechende Fehlerlösungen an.
  6. Codeverwaltung mittels Git: Ich bin vertraut mit der Verwendung von Git als Codeverwaltungssystem.
  7. Agiles Arbeiten: Seit mehr als 4 Jahren lebe ich die agile Arbeitsmethode Scrum und bin mit den Mitteln rund um den Prozess bestens vertraut. Das Planen der Sprints und das fokussierte Abarbeiten der geplanten Tickets bereitet mir Freude und schafft ein störungsfreies Arbeitsumfeld. Aufgaben, die während des Sprints von Außen ins Team getragen werden, können dann im Daily besprochen und ggf. eingeplant oder als größere Aufgabe für den folgenden Sprint vorbereitet und dann in der Sprintplanung berücksichtigt werden. In der Retrospektive kann das Entwicklerteam den gelaufenen Sprint reflektieren und entsprechende Lehren daraus ziehen.
  8. Feldbustechnologien: Ich verfüge über tiefgreifende Kenntnisse der Feldbustechnologien CanOpen, EtherCAT, Profibus und Profinet. Ich kann diese Technologien nutzen, um Kommunikationsprotokolle zu implementieren und die Interaktion zwischen verschiedenen Geräten und Systemen zu ermöglichen.
  9. CMake: Ich bin mit dem Build-System CMake vertraut und kann komplexe Projekte effizient verwalten und kompilieren. Dadurch kann ich sicherstellen, dass Ihr Code reibungslos funktioniert und einfach auf andere Plattformen übertragen werden kann.
  10. Datenverkehrsanalyse mittels Wireshark: Durch die Analyse des Datenverkehrs mit Wireshark kann ich Netzwerkprobleme identifizieren und Fehler in der Kommunikation beheben. Dies ermöglicht eine effiziente und zuverlässige Datenübertragung in Ihren Projekten.
  11. Functional Safety: Als zertifizierter Functional Safety Certified Engineer Development vom TÜV Nord verfüge ich über fundierte Kenntnisse und Erfahrungen im Bereich der funktionalen Sicherheit. Ich habe ein tiefgreifendes Verständnis für die Anforderungen und Standards, die bei der Entwicklung sicherheitskritischer Systeme und Software gelten. Ich kann sicherheitsrelevante Analysen durchführen, Risikobewertungen erstellen und die erforderlichen Sicherheitsmaßnahmen definieren, um die Einhaltung von Normen IEC 61508 oder IEC-61800-5 oder andere branchenspezifische Standards zu gewährleisten.
  12. Strukturiertes Vorgehen: Ich gehe immer strukturiert bei der Bearbeitung meiner Themen vor. Nachdem die Aufgabe klar ist, werde ich zunächst die Anforderungen erstellen. Auf dieser Basis versuche ich den bestmöglichen Lösungsansatz zu finden, um anschließend die Umsetzung zu Planen und letztlich umzusetzen.

Mein Ziel ist es, qualitativ hochwertigen Code zu liefern. Ich stehe Ihnen gerne zur Verfügung, um weitere Details zu besprechen und Ihre Projekte zum Erfolg zu führen. Zögern Sie nicht, mich zu kontaktieren, um weitere Informationen über meine bisherigen Arbeiten und Referenzen zu erhalten. Ich freue mich darauf, mit Ihnen zusammenzuarbeiten und Ihnen bei Ihren technischen Herausforderungen zu helfen.

Kompetenzen

Kompetenzen

Top-Skills

Embedded Software Firmware Entwicklung Bootware Entwicklung C C++ MISRA-C Rust Git Scrum CANopen EtherCAT PROFINET PROFIBUS Funktionale Sicherheit CMake Python Wireshark CSS HTML5 JavaScript C# PHP

Produkte / Standards / Erfahrungen / Methoden

text

Programmiersprachen

Assembler
Experte
C++
Experte
C#
Fortgeschritten
C
Experte
CSS
Fortgeschritten
HTML5
Experte
Java
Basics
JavaScript
Fortgeschritten
Misra-C
Experte
PHP
Fortgeschritten
Python
Fortgeschritten
Rust
Basics
ST
Experte
VBA
Fortgeschritten
VB
Fortgeschritten
VBScript
Fortgeschritten
XML
Experte

Als Softwareentwickler stehe ich am Kreuzungspunkt von Logik und Kreativität. Meine wahre Leidenschaft liegt in der hardwarenahen Softwareentwicklung, einem Bereich, der eine präzise Kontrolle und ein tiefes Verständnis der zugrundeliegenden Hardware erfordert. Ich finde Freude daran, das Verhalten von Mikroprozessoren zu verstehen und Software so zu gestalten, dass sie sich nahtlos in die Hardware integriert.

Das Debugging und die Code-Optimierung sind für mich mehr als nur eine Aufgabe, sie sind ein Rätsel, das darauf wartet, gelöst zu werden. Es fasziniert mich, wie eine wohlüberlegte Code-Änderung die Leistungsfähigkeit und Effizienz eines Systems dramatisch verbessern kann. Jedes Byte zählt in der embedded-Entwicklung und diese Herausforderung treibt mich an, stets mein Bestes zu geben. Obwohl ich mich in die Komplexität der Technologie vertiefe, verliere ich nie den Blick für das größere Ganze.

Datenkommunikation

CanOpen
Experte
EtherCAT
Experte
Ethernet TCP / IP
Experte
I2C
Experte
Profinet
Experte
Profibus
Experte
SPI
Experte
serielle Kommunikation RS232
Experte
serielle Kommunikation RS485
Experte
USB
Experte
drahtlos nach 802.11
Wireshark
Experte

Datenkommunikation ist für mich das Rückgrat der digitalen Welt. Sie ist das verbindende Element, das Einzelteile zu einem zusammenhängenden, leistungsfähigen System verknüpft. Ohne die effiziente und zuverlässige Übertragung von Informationen von einem Punkt zum anderen könnten viele moderne Technologien, vom einfachen Heimnetzwerk bis zum globalen Internet, nicht existieren.

Im speziellen Kontext der Feldbusse gewinnt diese Faszination an Tiefe. Als das Nervensystem industrieller Automatisierungsanlagen ermöglichen sie eine sichere und zeitnahe Kommunikation zwischen den verschiedenen Komponenten. Die Implementierung von Systemen wie CAN, EtherCAT und Profinet erfordert ein gründliches Verständnis und eine sorgfältige Programmierung. Dies ist ein Bereich, der oft unterschätzt wird, jedoch für die Robustheit und Effizienz von Automatisierungssystemen von entscheidender Bedeutung ist.

Bei internen Kommunikationssystemen wie UART, I2C und SPI kommt eine weitere Dimension hinzu. Diese seriellen Kommunikationsprotokolle ermöglichen eine schnelle und effiziente Datenübertragung zwischen Mikrocontrollern und Peripheriegeräten. Von UART, das häufig für die Kommunikation mit PCs genutzt wird, über I2C und SPI, die perfekt für den Datenaustausch zwischen Sensoren und Mikrocontrollern in Echtzeitanwendungen geeignet sind.

Hardware

Microcontroller
Experte
Multi-Core
Fortgeschritten
TI-DSP
Experte

Durch jahrelange Arbeit und umfangreiche Projekte konnte ich tiefgehende Kenntnisse im Bereich der Embedded Software Entwicklung für Mikrocontroller erwerben. Ich beherrsche die Programmierung und das Debugging von Mikrocontrollern verschiedener Hersteller und Modelle, und kann so effektive, effiziente und innovative Lösungen für verschiedene technische Herausforderungen liefern.

Ein besonderer Schwerpunkt meiner Expertise liegt im Umgang mit TI-DSPs (Digital Signal Processors) von Texas Instruments. Ich habe eine Vielzahl von Projekten unter Verwendung dieser leistungsstarken und vielseitigen Prozessoren erfolgreich abgeschlossen. Mit umfassendem Wissen über die Architektur und Schnittstellen dieser Chips kann ich robuste und optimierte Systeme entwerfen und implementieren.

In meinem letzten Projekt konnte ich mir zudem Expertise auf dem Gebiet der Multi-Core-Prozessoren im Embedded Bereich aufbauen. Meine praktische Erfahrung mit diesem Prozessor hat mir tiefgreifende Einblicke in seine Leistungsfähigkeit und Anwendungsmöglichkeiten gegeben. Ich habe die Fähigkeit, seine Architektur bestehend aus 2 C28x Cores und einem ARM Core effizient zu nutzen und Leistung zu optimieren, während ich gleichzeitig sicherstelle, dass alle Cores harmonisch zusammenarbeiten, um hohe Leistung und Zuverlässigkeit zu erzielen.

Design / Entwicklung / Konstruktion

CMake
Experte
Functional Safety
Fortgeschritten
Git
Experte

Seit ich git kennengelernt habe, hat es die Art und Weise, wie ich Code verwalte, völlig verändert. Im Vergleich zu herkömmlichen Versionsverwaltungssystemen wie CVS und SVN bietet git eine bemerkenswerte Flexibilität und Kontrolle. Die Fähigkeit, parallel an verschiedenen Themen dank der Verwendung von Branches zu arbeiten, hat die Zusammenarbeit und die Geschwindigkeit unserer Entwicklung erheblich verbessert. Insbesondere die Anwendung von git-Flow hat eine klare Struktur und einen reibungslosen Prozess für die Integration neuer Features geschaffen.

CMake ermöglicht es mir, plattformunabhängige Build-Prozesse zu erstellen, was die Portierbarkeit und den Einsatz von Software auf verschiedenen Systemen erheblich verbessert. Mit CMake kann ich die Komplexität des Build-Prozesses abstrahieren und mich darauf konzentrieren, was wirklich wichtig ist.

Meine Arbeit in der funktionalen Sicherheit hat mir die Bedeutung von strengen Standards und Prozessen in der Softwareentwicklung vermittelt. Als vom TÜV Nord zertifizierter "Functional Safety Certified Engineer Development" habe ich gelernt, wie man den Entwicklungsprozess plant, dokumentiert und sicher durchführt. Ich habe Dokumentenvorlagen für den Entwicklungsprozess in diesem Bereich erstellt und eine Kommunikationsschnittstelle zu einer im Antrieb integrierten Safety Optionskarte implementiert. Diese Erfahrungen haben meine Fähigkeiten in der sicheren und effizienten Softwareentwicklung erheblich erweitert.

Personalverantwortung

Scrum Product Owner
Fortgeschritten
Scrum Developer
Experte
Scrum Master
Basics

Scrum ist für mich mehr als nur eine Methode zur Projektverwaltung - es ist ein Leitbild, das Zusammenarbeit, Flexibilität und kontinuierliches Lernen fördert. Es ist das Gewebe, das einzelne Talente zu einem starken, produktiven Team verwebt, und es ist das Fahrzeug, das Projekte sicher durch die Herausforderungen der Softwareentwicklung steuert.

In diesem komplexen Geflecht übernimmt der Developer eine entscheidende Rolle. Er ist das Herz des Scrum-Teams und treibt die Umsetzung des Projekts voran. Er navigiert durch Code, transformiert Anforderungen in funktionale Software und löst Probleme mit Kreativität und technischer Expertise. Aber er ist auch ein Teamplayer, der aktiv an Scrum-Zeremonien teilnimmt, sein Wissen mit anderen teilt und Feedback annimmt, um kontinuierlich zu wachsen und zu lernen.

Auf der anderen Seite steht der Product Owner, der als Bindeglied zwischen dem Entwicklungsteam und den Stakeholdern agiert. Er trägt die Vision des Produkts und übersetzt die Bedürfnisse der Stakeholder in greifbare, priorisierte Anforderungen für das Team. Aber seine Rolle geht über die reine Produktverwaltung hinaus ? er ist auch ein Vermittler und Unterstützer, der das Team in seiner Arbeit unterstützt und sicherstellt, dass es über die Ressourcen und Informationen verfügt, die es braucht, um erfolgreich zu sein.

In diesem dynamischen Zusammenspiel zwischen Entwicklern, Product Ownern und anderen Rollen entsteht die wahre Magie von Scrum. Jedes Teammitglied bringt seine einzigartigen Fähigkeiten und Perspektiven ein und zusammen navigieren sie durch die Komplexität der Produktentwicklung, um ein Produkt mit einem echten Kundennutzen zu schaffen.

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

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

Das Freelancer-Portal

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