freiberufler Embedded-Programmierung für Industrie 4.0 und IoT auf freelance.de

Embedded-Programmierung für Industrie 4.0 und IoT

offline
  • auf Anfrage
  • 86199 Augsburg
  • Umkreis (bis 200 km)
  • de  |  en
  • 28.03.2020

Kurzvorstellung

Ich besitze umfangreiches Praxiswissen über Hardware, Bus-, Netz-, Speichersysteme und zum Aufbau von Treibern und Kommunikationsprotokollen.
Zurückgreifen kann ich auf langjährige Erfahrung mit Echtzeitsystemen.

Qualifikationen

  • Echtzeitbetriebssystem (RTOS)
  • Embedded Entwicklung / hardwarenahe Entwicklung
  • Gerätetreiber
  • Internet of Things (IoT)
  • Kernel Programmierung
  • Windows CE

Projekt‐ & Berufserfahrung

Diagnosesysteme im Cluster - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
12/2018 – 2/2020 (1 Jahr, 3 Monate)
technische Dienstleistung
Tätigkeitszeitraum

12/2018 – 2/2020

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose. Die aktuelle Gerätegeneration wird im Cluster betrieben:
Entwicklung der kompletten Software zu (proprietärer) Token-Ring- Vernetzung und Clusterbildung mehrerer Einzelsysteme;
Die Kommunikation basiert physikalisch auf Ethernet Media-Independent-Interfaces MII (direktes Daisy-chaining, jeweils ohne Ethernet-PHY). Der entwickelte Core-Treiber läuft auf Coprozessoren (TI Programmable Realtime Units, PRU). Die erstellte Applikationsschnittstelle ist Berkeley-Socket-ähnlich, die resultierenden Funktionen sind hoch optimiert im Hinblick auf IO-Latenzen und CPU-Last.
Die Netzfunktionen werden eingesetzt zum präzisen Synchronisieren von Uhren, für Echtzeit-Datentransfer, zum Tunneln / Bridging von IP-Datenströmen u.a.
Stichworte: BSP, WEC2013, TI AM335x, PRU, MII Treiber, Echtzeit, DMA, IRQ, ISR, Clock-Synchronisation, Berkeley-Sockets
Eingesetzte Produkte: MS Visual Studio 2015, Platform-Builder, saleae Logic Analyzer

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Kernel Programmierung, Windows CE, ARM-Architektur, C, Firmware, Gerätetreiber, Ethernet, Internet of Things (IoT)

Diagnosesysteme WEC2013 - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
12/2016 – 11/2018 (2 Jahre)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

12/2016 – 11/2018

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose. Aktuelle Geräte arbeiten mit TI AM335x - ARM-CPU-Modulen unter Windows Embedded Compact 2013:
Portierung eines WinCE7 BSP nach WEC2013; Anpassung der OEM-Schicht; Neuentwicklung / Überarbeitung diverser WEC-Treiber für Mess- und IO-Peripherie im Prozessor und dem CPU-Modul; Einbindung und Treiberentwicklung für mehrere neu entwickelte steckbare Anpass-/ Peripheriemodule für unterschiedliche Mess- und IO-Aufgaben.
PRU-basierte Anbindung mehrerer Peripheriekomponenten; per Software werden auf Port-/ Bitebene SPI-Schnittstellen emuliert und die Peripherie darüber getaktet / ausgelesen.
Portierung vorhandener Embedded-Applikations-Firmware.
Stichworte: BSP, WEC2013, TI AM335x, PRU, MII, Bootloader, OEM-Schicht, OAL, Kernel, Treiber, Echtzeit, DMA, IRQ, ISR, CAN, RS232, RS485, Ethernet, ADC / DAC, DIO, RTC, I²C, SPI
Eingesetzte Produkte: MS Visual Studio 2015, Platform-Builder, MS-Remote-Tools, TFS, saleae Logic Analyzer

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Echtzeitbetriebssystem (RTOS), Kernel Programmierung, Windows CE, ARM-Architektur, C, Firmware, Gerätetreiber

Echtzeit-Steuerung Industrie 4.0 - Consultant, Entwickler
Kundenname anonymisiert, bei Karlsruhe
7/2015 – 11/2016 (1 Jahr, 5 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

7/2015 – 11/2016

Tätigkeitsbeschreibung

Erstinbetriebnahme einer kundenspezifischen Steuerungshardware mit ARM-Dualcore-Prozessor (Freescale LS1021A):
Portierung eines BSP und des Echtzeit-Betriebssystems (Windows Embedded Compact 2013); Aufbau der OEM-Schicht; Anpassung der Urlader und Debug-Tools an die gegebene Hardware; Neurealisierung und Überarbeitung diverser echtzeitfähiger Peripherietreiber; Unterstützung bei der Portierung vorhandener kundenspezifischer Treiber- und Applikationen; Realisierung/ Durchführung div. Stabilitäts- und Performancetests.
Die Schwerpunkte meiner Arbeit lagen in der aufwändigen Erstinbetriebnahme, der Integration mehrerer GBit Ethernet-Schnittstellen und der Einbindung einer Vielzahl von Speicher- und Bussystemen.
Stichworte: Industrie 4.0, BSP, WinCE, WEC2013, LS1021A, QorIQ, RCW, Bootloader, FLDR, EBoot, OEM-Schicht, OAL, Kernel, Treiber, Echtzeit, DDR3, GBit, Kitl, PHY, MII, NDIS, IO-Controls, DMA, QSPI-Flash mit SFDP, SRAM, SD, E²P, DPR, VFP, IRQ, ISR, SDK
Eingesetzte Produkte: MS Visual Studio 2015, Platform-Builder, Application-Builder, MS-Remote-Tools, TFS, Lauterbach Hardware-Debugger

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Echtzeitbetriebssystem (RTOS), Windows CE, ARM-Architektur, C, Gerätetreiber, Ethernet, Elektrische Inbetriebnahme

Zugangskontrollsystem - Consultant
Kundenname anonymisiert, Ulm
4/2015 – 6/2015 (3 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

4/2015 – 6/2015

Tätigkeitsbeschreibung

Kurzzeitige Betreuung der Softwarebasis eines Zugangskontrollsystems im Bereich Abfallwirtschaft; Überbrückung einer akuten Erkrankung des Entwicklers;
Einarbeitung, Fehlersuche/-korrektur in existierender Software; Vorbereitung und Durchführung von Inhouse-Tests im Hinblick auf anstehende wichtige Kundenpräsentation;
Stichworte: Zugangskontrollsystem, RFID, GPRS, SMS, LCD-Display, Servos, SD-Cards, Bluetooth, Ultraschallmessung, Renesas RX210

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung

Diagnosesysteme mit Signalprozessor - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
1/2011 – 3/2015 (4 Jahre, 3 Monate)
technische Dienstleistung
Tätigkeitszeitraum

1/2011 – 3/2015

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose. Die Gerätegeneration 2011 besitzt externe Signalprozessoren TI C64x:
Kompletter Aufbau der DSP-Firmware unter Betriebssystem TI DSP/BIOS, Treiber für Analog/Digital-IO;
Aufbau frei konfigurierbarer, dyn. änderbarer, mehrkanaliger, mehrstufiger Messdatenfilter auf FFT-Basis: Low-/ High-/ Band-/ Notch-/ Kamm-Filter, Integrale/ Ableitungen, Hüllkurven;
Entwicklung der Treiber zur Host/DSP-Kopplung (HPI); Aufbau Treiber zum Booten des Signalprozessors durch Host; kontinuierlicher Datentransfer zwischen den Prozessoren mit mehrstufiger DMA;
Erstellung hochoptimierter Routinen in C/C++ mit Intrinsics und dynamischem Cache / RAM-Handling;
Stichworte: C,C++, Signalprozessor TI DSP-C6424, C64+, TI DSP/BIOS, HPI, Intrinsics, ADC/DAC, DIO, DMA, Cache, FFT, Filter, Profiling
Eingesetzte Werkzeuge: TI CCStudio 3, TI DSP/BIOS, Spectrum Digital Emulator

Eingesetzte Qualifikationen

Digitaler Signalprozessor (DSP), Embedded Entwicklung / hardwarenahe Entwicklung, C, C++, Firmware, Filtertechnik

Diagnosesysteme - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
2/1992 – 2/2020 (28 Jahre, 1 Monat)
technische Dienstleistung
Tätigkeitszeitraum

2/1992 – 2/2020

Tätigkeitsbeschreibung

Seit 1992 erfolgreicher Aufbau, Pflege und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose für langjährigen Geschäftspartner:
Eingesetzt werden die Systeme weltweit zur Überwachung und Diagnose technischer Anlagen und Prozesse.
Alle Geräte sind Eigenentwicklungen und basieren auf verschiedenen 8 - 32-Bit Mikrocontrollern/ SoCs mit aufgabenbezogener Peripherie.
Bis heute/ weiterhin Aufbau, Pflege und Fortentwicklung der kompletten Embedded Systemsoftware (Treiber-/ Betriebssystem-/ HAL-/ BSP-Schichten) und der komplexen, performance- und echtzeitkritischen Applikations-Firmware;
Bis 2011 arbeiten die Systeme mit eigenem, echtzeitfähigem Multithreading – Kernel, ab 2011 unter WinCE / WEC2013.

Stichworte: Datenlogger, Datenrecorder, Diagnosesysteme, Blackbox-Systeme, Maschinenüberwachung, Anlagenüberwachung;
Embedded-Software, Treiber, Hardware Abstraction Layer HAL, Board Support-Package BSP, Echtzeit, Realtime, Mikrocontroller, SoC;
C/C++, TI AM335x, TI OMAP 3530, TI C64x+, PowerPC, Motorola MPC555, Motorola 68k, CPU32
Windows CE 6.0 (WinCE), Windows Embedded Compact 2013 (WEC2013), BSP, RTOS, Treiber;
ADC/DAC, DIO, I²C, SPI, PWM, CAN, HPI, Ethernet, IP-Sockets, präemptives Multithreading, RTOS

Eingesetzte Produkte: MSDN, WinCE 6.0, MS VisualStudio 2005, Lauterbach Emulator, saleae Logic Analyzer, Microtec C, Tasking Suite, Abatron Debugger

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Microsoft Windows (allg.), Windows CE, C, C++, Firmware, Gerätetreiber, Mikrocontroller, Embedded Software Engineering

Diagnosesysteme / Embedded Applikation - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
1/1992 – 2/2020 (28 Jahre, 2 Monate)
technische Dienstleistung
Tätigkeitszeitraum

1/1992 – 2/2020

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose. Bis heute Verantwortung für Pflege und Weiterentwicklung der echtzeitkritischen Embedded Applikations-Firmware:
Entwicklung und Programmierung div. Algorithmen zur Signalverarbeitung, Kennwertbildung und Diagnose, FFT, (Rainflow-) Klassierung, Statistik, TSA;
Einbau div. frei konfigurierbarer, kundenspezifischer Datenquellen/ -senken in die Diagnosesysteme mit CAN-, RS232-, Socket-Schnittstellen; Aufbau eines stabiler Festnetz-/GSM-Modemtreibers, SMS-Versand, Feldbus-Kopplungen, OPC, Vernetzung der Systeme; Ansteuerung von LCD-Displays; GPS; Entwicklung frei konfigurierbarer PID-Regler; Aufbau einer eigenen Bibliothek für Remote Procedure Call (RPC) für sicheren, optimierten Datentransfer vom/zum PC;
Bis 2000 alleinige Verantwortung für Entwicklung der zugehörigen Windows-PC-Software; ab 2000 Weiterentwicklung der PC-Software im kleinen Team.
Stichworte: RS232, CAN, Ethernet/Sockets, Modem, SMS, GPS, GSM, OPC, FFT, Klassierung, Statistik, TSA, RPC
Lisp, Win32-API, MFC

Eingesetzte Qualifikationen

Forschung & Entwicklung (allg.), Mathematik, Statistik (allg.), Embedded Entwicklung / hardwarenahe Entwicklung, Microsoft Windows (allg.), Microsoft Foundation Classes (MFC), Softwareentwicklung (allg.), Ethernet, GSM/GPRS, RPC (Remote Procedure Call), RS-232, Schnittstellenentwicklung, SMS, Global Positioning System (GPS), Signalverarbeitung, CAN-Bus (controller area network)

Technische Software - Softwareentwickler
Kundenname anonymisiert, Augsburg
1/1992 – 12/2005 (14 Jahre)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

1/1992 – 12/2005

Tätigkeitsbeschreibung

Programmierung einer Visualisierung / 2d-Animation der Abläufe in einem Rußpartikelfilter;
Basissoftware (Hardware Abstraction Layer HAL mit Konsol-Diagnoseinterface) für Brennstoffzellensteuerung;
Windows-Software („Linienschreiber“) für Online Messungen und Dokumentation;
Stichworte: C/C++, PowerPC, Win32-API

Eingesetzte Qualifikationen

Spezialeffekte / Animation, C, C++, Softwareentwicklung (allg.)

Multimedia, Lernsoftware - Softwareentwickler
Kundenname anonymisiert, München
1/1992 – 12/2005 (14 Jahre)
Medienbranche
Tätigkeitszeitraum

1/1992 – 12/2005

Tätigkeitsbeschreibung

Programmierung von Lernspielen, Wirtschaftssimulationen, kommerziellen Bildschirmschoner (z.B. für Brockhaus Multimedial);
Stichworte: Windows, C/C++, Win32-API, MFC

Eingesetzte Qualifikationen

C, C++, Softwareentwicklung (allg.)

Ausbildung

Technische Informatik
Dipl.-Inform. (FH)
1988
Augsburg

Über mich

Ich entwickle Embedded Software für Industrie 4.0 und IoT – Anwendungen.
Mein Schwerpunkt liegt im Aufbau von Treiber- und OEM-Schichten für MC-, SoC-
und DSP-Systeme.
Ich besitze umfangreiches Praxiswissen über Embedded Hardware, eine Vielzahl von Bus-, Netz-, Speichersysteme und Kommunikationsprotokolle.

Zurückgreifen kann ich auf langjährige Erfahrung mit Echtzeitbetriebssystemen wie
Windows CE und Windows Embedded Compact.

Weitere Kenntnisse

Programmiersprachen:
Hochsprachen: C, C++, LISP…
Assembler: ARM, PRU, PowerPC, x86, 68k, 68HC11

Prozessoren:
AM335x, LS1021A, TI-OMAP3x, X86, MPC555, MC376 (CPU32), MC332, 68HC11, 6303, Signalprozessoren TI-DSP-C64x, TI Programmable Realtime Units (PRU)

Treiberentwicklung für:
Gbit/100Mbit-Ethernet-Schnittstellen (Serdes/ PHY), NDIS-Anbindung, MII, QSPI-Flash mit SFDP, DDR3-RAM, SRAM, E²PROM, DPR; diverse CAN, SPI, I²C, SD, RS232, RS485, TPU, RTC, Timer, Temp, PWM, AD/DA-Wandler, Digital-IO, LCD-Displays, GPS, Modem, GSM, SMS, OPC, Boot, Signalprozessorkopplung HPI;

Windows Embedded Compact 2013 für TI AM335x und Freescale/NXP LS1021A, Windows CE6 für TI-OMAP3x:
Portierung allgemeiner Board-Support-Packages (BSP); Anpassung / Ergänzung der Urlader und Debug-Schnittstellen; Anpassung / Korrektur / Verifikation der HAL/OEM-Schicht (OAL); Entwicklung von WEC-Stream-Treibern für diverse Peripherie-Komponenten mit DMA-, IRQ- und Cache-Handling; Lowlevel-Debugging von Kernel-Problemen (IRQs, VFP, Clocks) mit eigenen Bibliotheken und Lauterbach HW-Debugger;

Entwicklung für programmierbare Realtime-Units (PRU) von TI:
Boot der Systeme durch eigenen Host-Treiber; Integration der PRU Toolchain in MS VisualStudio; Entwicklung zeitkritischer Software für die PRU in C und Assembler mit DMA/IRQ-basierter Hostschnittstelle; Ansteuerung von Peripherie mit bit-/ portbasierter Digital-IO.

DSP-Programmierung für Festkomma-Signalprozessoren TI C64x:
Host-Integration mit eigenem Boottreiber; TI DSP/BIOS; optimierte Echtzeitverarbeitung mit Intrinsics; optimiertes Cache/ RAM-Handling, mehrstufige Interrupts und DMA; komplexe Messwert-Filter auf FFT-Basis;

Embedded-Applikationsprogrammierung:
Performance- und echtzeitkritische Applikations-Firmware für Messwerterfassung, Signalverarbeitung und Diagnose; Multithreading, Internet/Ethernet;

Windows-Programmierung:
Win32-API (GUI und Konsole), MFC, MAPI, TAPI, IP-Sockets, Services;

Typische Werkzeuge:
Kernel-Tracker, Profiler, Hardware-Debugger (Lauterbach), Logic-Analyzer (saleae) und Oszilloskop.

Typische Softwaretechniken:
OOP, Statemachines, Parallelverarbeitung, Event-driven Software, Echtzeit;

Meine Programmiermethodik:
Ich entwickle agil, also iterativ, zielgerichtet, betont effizienz- und qualitätsorientiert.

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Fließend)
Reisebereitschaft
Umkreis (bis 200 km)
Home-Office
bevorzugt
Profilaufrufe
3194
Alter
58
Berufserfahrung
35 Jahre und 7 Monate (seit 08/1988)

Kontaktdaten

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

Jetzt Mitglied werden