Embedded-/ Echtzeit-Programmierung

Profil Foto
Verfügbarkeit einsehen
  Umkreis (bis 200 km)
de  |  en
  auf Anfrage
  86199 Augsburg
 18.10.2018

Kurzvorstellung

Ich entwickle hardwarenahe, embedded Software. Mein Schwerpunkt liegen im Aufbau von Treiber- und OEM-Schichten für MC-, SoC- und DSP-Systeme.
Ich besitze langjährige Erfahrung mit Echtzeitbetriebssystemen wie Windows CE/ Windows Embedded Compact.

Ich biete

IT, Entwicklung
  • Embedded Entwicklung / hardwarenahe Entwicklung
    26 Jahre, 2 Monate Erfahrung
  • Echtzeitbetriebssystem (RTOS)
    14 Jahre, 9 Monate Erfahrung
  • Windows CE
    6 Jahre, 9 Monate Erfahrung
  • Windows Embedded Automotive

Projekt‐ & Berufserfahrung

Diagnosesysteme im Cluster - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
11/2016 – 3/2018 (1 Jahr, 5 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

11/2016 – 3/2018

Tätigkeitsbeschreibung

Inbetriebnahme eines WinCE7 BSP auf der Zielhardware (frei verfügbare CPU-Module „BeagleBone black“ mit ARM Singlecore TI Sitara AM335x);
Portierung des BSP nach WEC2013; Anpassung/ Korrektur/ Verifikation der OEM-Schicht; Neuentwicklung / Überarbeitung diverser WEC-Treiber für Mess- und IO-Peripherie im Prozessor, dem CPU-Modul und auf neuer kundenspezifischer Basiskarte. Portierung vorhandener Embedded-Applikations-Firmware;

Ein Schwerpunkt meiner Arbeiten lag in der aufwändigen Entwicklung von Kommunikationssoftware zur (proprietären) Vernetzung und Clusterbildung mehrerer Einzelsysteme; Die Kommunikation basiert physikalisch auf Ethernet Media-Independent-Interfaces MII (bei direktem Daisychaining, jeweils ohne Ethernet-PHY); Die Core-Treiber laufen auf Subprozessoren (TI Programmable Realtime Units, PRU). Die Applikationsschnittstelle auf dem Host ist Berkeley-Socket ähnlich;

Ebenfalls PRU-basiert ist die Anbindung mehrerer A/D-Wandler. Per Software werden auf Port/Bitebene mehrere SPI-Ports erzeugt und die Peripherie darüber in Echtzeit angesteuert / ausgelesen.

Das Projekt läuft voraussichtlich bis Mai 2018

Stichworte: BSP, WEC2013, TI AM335x, PRU, MII, Bootloader, OEM-Schicht, OAL, Kernel, Treiber, Echtzeit, DMA, IRQ, ISR

Eingesetzte Produkte: MS Visual Studio 2015, Platform-Builder, Application-Builder, MS-Remote-Tools, TFS, saleae Logic Analyzer

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Windows CE, Echtzeitbetriebssystem (RTOS), C


Echtzeitsteuerung / Verantwortlicher 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 neuen, kundenspezifischen Steuerungshardware mit einem 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 Arbeiten lagen in der aufwändigen Erstinbetriebnahme, der Integration mehrerer GBit Ethernet-Schnittstellen und der Einbindung einer Vielzahl von Speicher- und Bussystemen.


Stichworte: 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, Windows CE, Echtzeitbetriebssystem (RTOS), 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 / Windows CE - Softwareentwickler
Kundenname anonymisiert, Augsburg
1/2011 – 12/2014 (4 Jahre)
technische Dienstleistung
Tätigkeitszeitraum

1/2011 – 12/2014

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose. Ab 2011 Erweiterung der Gerätefamilie mit Systemen auf Basis TI-OMAP3x unter WindowsCE 6:

Voruntersuchungen mit Evaluation-Board; Unterstützung bei Hardware-Entwicklung / Bauteilwahl; Inbetriebnahme der Prototypen; Portierung/Anpassung des allgemeinen BSP und Bootloaders;

Neuentwicklung div. WinCE-Treiber (z.T. mit mehrstufigen DMA/IRQs); Kit für Inbetriebnahme der Seriengeräte;

Portierung/ Erweiterung der embedded Echtzeit-Applikation;


Stichworte: C/C++, SoC TI OMAP 3530 (ARM Cortex),
Windows CE 6.0, WinCE, BSP, embedded, Echtzeit, Treiber, EEPROM, ADC/DAC, DIO, I2C, SPI, PWM, CAN, HPI, Ethernet, IP-Sockets

Eingesetzte Produkte: MSDN, WinCE 6.0, MS VisualStudio 2005, Lauterbach Emulator

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Windows CE, ARM-Architektur, C, C++, Softwareentwicklung (allg.), Visual Studio, Ethernet


Diagnosesysteme / Signalprozessor - Softwareentwickler
Kundenname anonymisiert, Augsburg
1/2011 – 12/2014 (4 Jahre)
technische Dienstleistung
Tätigkeitszeitraum

1/2011 – 12/2014

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose. Aktuelle Geräte besitzen einen externen Signalprozessor 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 Filter 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, AD/DA, DIO, DMA, Cache, FFT, Filter, Profiling

Eingesetzte Werkzeuge: TI CCStudio 3, TI DSP/BIOS, Spectrum Digital Emulator

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Firmware, Softwareentwicklung (allg.), C, C++


Diagnosesysteme / Aufbau Gerätefamilie - Softwareentwickler
Kundenname anonymisiert, Augsburg
1/2000 – 12/2011 (12 Jahre)
technische Dienstleistung
Tätigkeitszeitraum

1/2000 – 12/2011

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose:
2000 - 2011 mehrfache Erweiterung der Produktfamilie:

Mitarbeit bei der HW-Entwicklung; Inbetriebnahme; vollständige Treiberentwicklung;

Aufbau / Integration eines eigenen echtzeitfähigen Betriebssystem-Kerns (RTOS) mit präemptivem Multithreading, optimiertem Speicher- und Interrupthandling;

Stichworte: PowerPC / Motorola MPC555, Motorola 68k/ CPU32, präemptives Multithreading, RTOS;

Eingesetzte Produkte: Microtec C, Tasking Suite, Abatron Debugger

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Echtzeitbetriebssystem (RTOS), Firmware, Softwareentwicklung (allg.), C


Diagnosesysteme - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
1/1992 – 3/2015 (23 Jahre, 3 Monate)
technische Dienstleistung
Tätigkeitszeitraum

1/1992 – 3/2015

Tätigkeitsbeschreibung

Seit 1992 erfolgreicher Aufbau, Pflege und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose für langjährigen Geschäftspartner:

Alle Geräte sind Eigenentwicklungen und basieren auf verschiedenen 8 - 32-Bit Mikrocontrollern/ SoCs mit spezifischer Peripherie. Eingesetzt werden die Systeme weltweit zur Überwachung und Diagnose technischer Anlagen und Prozesse.

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 2000 alleinige Verantwortung für Entwicklung der der zugehörigen Windows-PC-Software;
ab 2000 Weiterentwicklung der PC-Software im kleinen Team.


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, Betriebssystem, hardwarenahes Programmieren;

Eingesetzte Qualifikationen

Betriebssysteme (allg.), Firmware, Softwareentwicklung (allg.), Mikrocontroller, Embedded Software Engineering


Diagnosesysteme / Applikations-Firmware - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
1/1992 – 2/2015 (23 Jahre, 2 Monate)
technische Dienstleistung
Tätigkeitszeitraum

1/1992 – 2/2015

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, Hilbert-Transformation, (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;


Stichworte: RS232, CAN, Ethernet/Sockets Modem, SMS, GPS, GSM, OPC, FFT, Hilbert-Transformation, Klassierung, Statistik, TSA, RPC

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Softwareentwicklung (allg.), SMS, Schnittstellenentwicklung, RS-232, RPC (Remote Procedure Call), Ethernet, GSM/GPRS, Signalverarbeitung, Festnetz / Telefonanlagen / Fax, Global Positioning System (GPS), CAN-Bus (controller area network), Forschung & Entwicklung (allg.), Mathematik


Diagnosesysteme / Windows-Software - Senior Softwareentwickler
Kundenname anonymisiert, Augsburg
1/1992 – 2/2015 (23 Jahre, 2 Monate)
technische Dienstleistung
Tätigkeitszeitraum

1/1992 – 2/2015

Tätigkeitsbeschreibung

Seit 1992 Aufbau und Weiterentwicklung einer Familie autonomer Systeme zur Messwerterfassung und Diagnose:
Zum graphisch-interaktiven Programmieren der Systeme, sowie Archivieren und Auswerten der Daten gehört eine Windows-PC-Software:

Bis 2000 komplette Entwicklung der PC-Software;
ab 2000 Weiterentwicklung der PC-Software im kleinen Team;

Stichworte: C, C++, Lisp, Win32-API, MFC
Eingesetzte Produkte: div. MS-Visual-Studios, MSDN

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Microsoft Foundation Classes (MFC), Firmware, Softwareentwicklung (allg.), C, C++, Mikrocontroller, Messtechnik, Messgeräte / Messsysteme, Embedded Software Engineering


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 Telnet-Diagnoseinterface) für Brennstoffzellensteuerung;
Windows-Software („Linienschreiber“) für Online Messungen und Dokumentation;

Stichworte: C/C++, PowerPC, Win32-API

Eingesetzte Qualifikationen

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


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 Bildschirmschonern (z.B. für Brockhaus Multimedial);

Stichworte: Windows, C/C++, Win32-API, MFC

Eingesetzte Qualifikationen

Softwareentwicklung (allg.), C, C++


Ausbildung

Technische Informatik
(Dipl.-Inform. (FH))
Jahr: 1988
Ort: Augsburg

Qualifikationen

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 Freescale/NXP LS1021A und TI AM335x:
Portierung allgemeiner Board-Support-Packages (BSP); Umbau/ Ergänzung der Urlader und Debug-Schnittstellen; Anpassung / Korrektur / Verifikation der OEM-Schicht (OAL); Entwicklung von WEC-Stream-Treibern für diverse Peripherie-Komponenten mit DMA und IRQ-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 in Echtzeit auf Bitebene;

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 Filter auf FFT-Basis;

Windows CE6 - Systeme auf Basis TI-OMAP3x:
Portierung eines allgemeinen Board-Support-Packages (BSP); Inbetriebnahme;
Umbau/ Ergänzung der Urlader; Ergänzung/Anpassung der HAL-Schicht;
Entwicklung div. CE-Kernel-Treiber, Portierung von Applikations-Firmware;

Embedded-Applikationsprogrammierung
Performance- und echtzeitkritische Applikations-Firmware für Messwerterfassung, Signalverarbeitung und Diagnose; Multithreading, Fibers;
eigenes präemptives Multithreading-Betriebssystem für PowerPC- und 68k-Systeme;

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


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

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
1185
Alter
52
Berufserfahrung
30 Jahre und 2 Monate (seit 08/1988)

Kontaktdaten

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

Jetzt Mitglied werden »