Embedded-Programmierung für Industrie 4.0 und IoT
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- 86199 Augsburg
- Umkreis (bis 200 km)
- de | en
- 28.03.2020
Kurzvorstellung
Zurückgreifen kann ich auf langjährige Erfahrung mit Echtzeitsystemen.
Qualifikationen
Projekt‐ & Berufserfahrung
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
Embedded Entwicklung / hardwarenahe Entwicklung, Computerprogrammierung, Microsoft Windows CE, ARM-Architektur, C, Firmware, Gerätetreiber, Ethernet, Internet of Things (IoT)
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
Embedded Entwicklung / hardwarenahe Entwicklung, Echtzeit-Betriebssysteme, Computerprogrammierung, Microsoft Windows CE, ARM-Architektur, C, Firmware, Gerätetreiber
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
Embedded Entwicklung / hardwarenahe Entwicklung, Echtzeit-Betriebssysteme, Microsoft Windows CE, ARM-Architektur, C, Gerätetreiber, Ethernet, Elektrische Inbetriebnahme
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
Embedded Entwicklung / hardwarenahe Entwicklung
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
Digitaler Signalprozessor (DSP), Embedded Entwicklung / hardwarenahe Entwicklung, C, C++, Firmware, Filtertechnik
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
Embedded Entwicklung / hardwarenahe Entwicklung, Microsoft Windows (allg.), Microsoft Windows CE, C, C++, Firmware, Gerätetreiber, Picmicro, Embedded Software
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
Forschung & Entwicklung, Mathematik, Statistiken, Embedded Entwicklung / hardwarenahe Entwicklung, Microsoft Windows (allg.), Microsoft Foundation Classes (MFC), Softwareentwicklung (allg.), Ethernet, GSM/GPRS, RPC (Remote Procedure Call), RS-232, Schnittstellenentwicklung, SMS, GPS, Signalverarbeitung, CAN-Bus (controller area network)
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
Spezialeffekte, C, C++, Softwareentwicklung (allg.)
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
C, C++, Softwareentwicklung (allg.)
Ausbildung
Augsburg
Über mich
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
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
- Deutsch (Muttersprache)
- Englisch (Fließend)
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden