Embedded Systeme, hardwarenahe Programmierung, Protokolle, Linux
Aktualisiert am 16.05.2019
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 16.05.2019
Verfügbar zu: 100%
davon vor Ort: 100%
Deutsch
Englisch
sehr gut durch Arbeitserfahrung in Canada
Französisch
leider nur Abiturs-Level

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz
nicht möglich

Projekte

Projekte

Hier sind nur die Projekte der letzten Jahre aufgelistet.
Weitere Kenntnisse entnehmen Sie bitte unter der Überschrift
"Kompetenzen".

Oktober 2014 ? heute: Rheonik Messtechnik GmbH, Odelzhausen

- Wiederaufbau einer Entwicklungsabteilung nach einem Management-Buyout.
- Übernahme der Wartung bestehender Systeme.
- Definition der Systemarchitektur einer neuen Generation von Messwertaufnehmern für Coriolis

  Massenflusssensoren.
- Eingesetzte Technologien waren: Freescale HCS12X, Codewarrior, iSystem Debugger, Subversion

  SVN, MISRA, Modbus Protokoll, 4-20mA Schnittstellen, HART Protokoll, SPI, I²C, CAN, RS485.


Februar 2012 ? August 2014: ARRI GmbH, München
- Softwarearchitekt bei der Entwicklung einer neuen Generation professioneller, digitaler Kameras, die

   mittlerweile unter den Namen ARRI AMIRA und ALEXA MINI vorgestellt wurden. Ich erstellte die

   Softwarearchitektur und das gesamte Softwaredesign der Steuersoftware in dieser Kamera.
- Implementierung zentraler Module der Kontrollsoftware, wie Linux SATA Gerätetreiber mit 450MB/s

   Performance, spezielle Gerätetreiber für FPGA, Kalibrationssoftware und Quicktime Multimedia-

   Container.
- Anleitung und Überwachung einer kleinen Gruppe von festangestellten Mitarbeitern, die Teile der

  Kontrollsoftware oder GUI implementierten.
- Zentrales Problem bei diesem Projekt war das Erzielen einer sehr hohen Datenraten zur Speicherung

  eines hochqualitativen Videodatenstroms auf ein SSD Medium. Dazu waren Realzeitanforderungen für

  eine Synchronisation von Timecode-Gebern und Videosensor zu erfüllen.
- Eingesetzte Technologien waren: ARM Cortex M4, Marvell SATA Controller, Linux, GCC, C, Make,

  Subversion SVN, Quicktime Container, ProRes Codec, CFAST2, PCIe, PCIe Switch, I²C, CAN.

 

November 2010 ? Dezember 2011: Rheonik Messtechnik (GE Sensing & Inspection Technologies)
- Entwicklung der Steuersoftware für einen Coriolis Durchflusssensor, mit dem Masse,

  Volumen und Dichte einer fließenden Flüssigkeit bestimmt werden kann. Diese neueste

  Generation vom Sensoren hat extreme Anforderungen an die Genauigkeit und Reaktionszeit.

  Entwickelt wurde die Software für einen Freescale HSC12 Prozessor mit Hilfe der

  Codewarrier Entwicklungsumgebung unter Einhaltung der SIL3 Sicherheitsklasse wegen des

  Einsatzes der System in explosionsgefährdeten Bereichen. Ich habe dafür neben vielen

  anderen low-level Modulen auch ein Modbus-Kommunikationsprotokoll auf dem XGATE

  Coprozessor des HCS12 geschrieben, die ältere Archituktur auf der Basis eines PIC18F

  ablöst.
- Eingesetzte Technologien waren: LDRA, Freescale HCS12X, PIC18, Codewarrier, iSystem

  Debugger, Subversion - SVN, MISRA, SIL3 ? ISO 61508, Modbus Protokoll.

 

 

April 2009 - September 2010: Hamilton Sundstrand, Nördlingen
- CAN Kommunikation für Intelligente Schalter für Flugzeugelektrik (SSPC).
  Design und Implementierung eines Kommunikationskonzentrators für intelligenten
  Schalters für Flugzeugelektrik im Rahmen des A350 Projekts. Der Konzentrator
  übernimmt von dem Leitsystem der Elektrik Schalterkommandos über CAN Schnittstellen
  und leitet diese über eine gemultiplexte SPI-Kommunikation an die intelligenten
  SSPC Schalter weiter. Von den SSPC Schaltern wiederum wird der Status über die
  gemultiplexte SPI Schnittstelle gelesen und wiederum über CAN an das Leitsystem
  zurückgemeldet. Durch eine Verdopplung der CAN Konzentratoren und des
  SPI-Multiplexers wird eine Redundanz zur Steigerung der Betriebssicherheit
  erreicht.
- Entwickelt wurde die Software dazu in C nach Sicherheitsstandard DO-178B Class A.
  Zum Einsatz kam die Microchip MPLAB IDE Entwicklungsumgebung in der Version 8.15
  mit MPLAB C30 Compiler (entspricht GNU GCC 4.03) samt den dazugehörigen
  Emulator-Tools ICD2 und REAL ICE.
- Für das Requirement-Engineering wurde DOORS 8.3 und 9.2 verwendet.
- Eingesetzte Technologien waren:
  DOORS, IBM CM SYNERGY, C, GNU C, MICROCHIP DSPIC30, PIC24H, MPLAB IDE, DO-178B,
  IBM LOGISCOPE, MISRA.
 

Juli 2008 - März 2009: Hamilton Sundstrand, Nördlingen
- Implementierung eines intelligenten Schalters für Flugzeugelektrik (SSPC Solid
  State Power Controller) für Airbus A400M, Airbus A350 und Boeing 787 auf der
  Basis von Microchip PIC24H und dsPIC30 Microcontrollern. Entwickelt wurde die
  Software dazu in  C nach Sicherheitsstandard DO-178B Class A. Zum Einsatz kam
  die Microchip MPLAB IDE Entwicklungsumgebung in der Version 8.15 mit MPLAB
  C30 Compiler (entspricht GNU GCC 4.03) samt den dazugehörigen Emulator-Tools
  ICD2 und REAL ICE.
- Für das Requirement-Engineering wurde DOORS 7.1 und 8.3 verwendet. Dazu habe
  ich einen Generator geschrieben, der aus einem Doors-Requirement Schema
  Coderahmen in C erzeugte. Dieser wurde mit Hilfe von Microsoft Visual (Studio)
  C++ 2008 erstellt.
- In dem Projekt wurde das Versionskontrollsystem IBM/Telelogic CM Synergy 7.1
  verwendet und zur statischen Code-Analyse bzw. zur Überwachung des Coding-Standards
  IBM/Telelogic Logiscope 6.5. Das Rule-Set dazu umfasste einige MISRA-Regeln, die
  von mir korrigiert bzw. angepasst werden mussten.
 
Januar 2007 - Juni 2008: Rohde&Schwarz: Implementierung Funk-Protokoll IPoA
- Implementierung eines Protokolls für Rundfunkübertragung von IP-Paketen mit
  Point-to-Point und CSMA/CA Modi für ein militärisches Radio (M3TR). Ich war
  verantwortlich für die Implementierung des MAC/LLC Layers, des Netzwerklayers
  und des Anschlusses an einen standard IP-Protokollstack über ein Treiberinterface
  unter VxWorks 6.4 implementiert in C++. Basis waren die Prozessoren PPC405
  in einer FPGA-Implementierung und PPC860.
- Es kam das Versionskontrollsystem IBM Rational Clearcase zum Einsatz und
  das Requirement-Engineering erfolgte über DOORS (7.1).


September 2004 - Dezember 2006: Siemens VDO: Graphikarchitekt für Infotainmentsystem (Automobil)
- Graphikarchitekt im Bereich Automotive Infotainment-Systeme (SV IIS), das sind
  Navigationssysteme mit integrierter Unterhaltung, wie Radio, TV, CD/DVD-Player
  etc. Verantwortlich für Auswahl von Software und Hardware im Graphikbereich.
- Ich bearbeitete von Kunden kommenden Lastenhefte sofern sie graphische Ausgaben
  betrafen, erstellte interne Spezifikationen, erarbeitete Performance-Aussagen
  und designte die dazugehörenden Systemsoftware. Darüber hinaus koordinierte
  ich die graphischen Aktivitäten der darüberliegenden MMI/HMI Software und
  machte dafür Vorgaben, wie die graphischen Programmierschnittstellen zu benutzen
  waren.
- Weiterhin programmierte ich auch Treiber für Graphikbausteine, wie die
  automotivetaugliche Bausteine CORAL-PA von Fujitsu und CARMINE von Fujitsu.
  Diese Treiber liefen unter VxWorks (Release 5.5), waren in C geschrieben
  und wurden über eine erweiterte WindML 3.0 Schnittstelle (API) angesprochen.
  Als Prozessoren kamen zum Einsatz: Freescale MPC5220 (PPC 603e G2_LE Core)
  und Renesas SH7780 (SH-4 Core).
- Eine OpenGL ES Schnittstelle für 3D Darstellung wurde zu Erprobungszwecken
  implementiert und mittels einer 3D Navigation getestet.
- Aktuelle Themen in diesem Bereich waren Anti-Aliasing, Alpha-Blending und
  das pixelweise Alpha-Blending von graphischen Overlays, auf die die
  Applikationen unabhänging voneinander zeichnen konnten. Aktuelle Anforderungen
  ware darüberhinaus Navigationen mit Kartendarstellungen in 3D und MMI/HMI
  Bedienoberflächen mit extremen Designs sowie das Rendern von Video-Inputs
  von TV und Onboard-Kameras.


Oktober 2003 - Dezember 2003: PCS: Chipkarten-API
- Portierung einer Chipkarten-API-Schnittstelle für Smartcards aus einer
  embedded Standalone-Umgebung auf eine embedded Linux ARM-basierende
  Architektur. Dies schloß die Tests zur Zulassung nach Norm EMV2001 mit ein.


März 2002 - Juni 2003: EADS: Flugsimulation

- Integration eines militärischen Flugsimulators aus

  angelieferten Simulationskomponenten (Triebwerk,

  Aerodynamik, etc.)

- Integration von Modulen, die den vier Programmiersprachen

  C, C++, ADA, FORTRAN geschrieben waren, zu einem Programm

- Schaffung eines komfortablen FORTRAN/C Interfaces

- Anschluß an externe Visualisierungskomponenten

- Überwachung und Verbesserung der Realzeit-Eigenschaften

- Portierung auf verschiedene Zielsysteme: PC/Linux,

  Compaq 160/OSF1/Tru64, Concurrent/Harris

- Integration eines Test-Interpreters für automatisierte

  Testfälle und Vergleich mit Flugversuchsdaten

- Vorbereitung für Einsatz in Ausbildungs-Simulatoren

  (ASTA) durch Einführung von simulierten Fehlfunktionen

  und simuliertem Redundanzverhalten


Oktober 2001 - Januar 2002 : Digital/DEC (jetzt HP): Treiberentwicklung

- Treiberentwicklung für den Anschluß eines Fujitsu MO

  Laufwerks an ein Alpha-basierendes System unter OSF1/Tru64.

- Umschreiben eines bestehenden SCSI/CAM Treibermoduls auf die

  Bedürfnisse des MO-Laufwerks.

- Umgehung der Probleme der Firmware des Laufwerks

- Performance-Messungen und Verbesserungen

- Bereitstellen eines auslieferbaren Release-Stands


August 2000 - August 2001: Opditex: optische Webinspektion

- Entwicklung einer Software zur Auswertung der Videodaten

  einer 2,50m langen Zeilenkamera, die über einer Webmaschine

  angebracht ist.

- Entwicklung von Bildverarbeitungs-Komponenten mit extrem

  hoher Performance für das Aufspüren von Web-Fehlern bei

  Videodatenaufkommen bis zu 2MPixel/Sekunde

- Bereitstellung einer IEEE 1394/Firewire DMA-Schnittstelle

  mit hoher Datenbandbreite

- Konfigration und Bereitstellung eines "diskless" embedded

  Linux System auf dem Auswerte-Rechner (Industrie-PC)

- Entwicklung eines optischen Anzeige- und Demonstrations-

  programms zur Anzeige der Video-Daten in Realzeit


Dezember 1997 - Juni 2000: PCS: Industrieterminals

- Entwicklung einer neuen Generation Industrie-Terminals

  (INTUS 3000) als leitender Software-Entwickler

- Vorgaben für die Hardware-Entwicklung

- Entwicklung eines kleinst-PC basierenden (AMD SC400)

  Industrieterminals mit hohen Standzeitanforderungen

  ("mission-critical"), angefangen von der Betriebssystem-

  software bis hin zur Adaption und Umprogrammierung eines

  bestehenden Interpreters.

- Entwicklung einer eigenen Netzwerkkomponente (LAN, IP,

  TCP/IP, HTTP) mit minimalem Ressource-Verbrauch

- Entwicklung eines seriellen master/slave Multipoint-Protokolls

  änhlich BSC mit LAN Protokollkonverter

- Entwicklung eines bootfähigen PCMCIA BIOS für PCMCIA ATA-Platten

- Bereitstellung einer Produktionssoftware für die Konfiguration

  der Industrie-Terminals während der Produktion

- Entwicklung kleinerer, preiswerterer Varianten auf der

  Basis des AMD 80186ES Mikrocontrollers (INTUS 3100, INTUS 3200)

- Entwicklung eines Boot-Monitors/BIOS mit Flash-Verwaltung über

  LAN

- Durchführung strategischer Untersuchungen: "Embedded Linux",

  "mission critical JAVA", "IrDA" etc.

- Auswahl und Einarbeitung eines Nachfolgers

Aus- und Weiterbildung

Aus- und Weiterbildung

Diplom Informatiker TU Karlsruhe
Abschluß Diplom

Position

Position

In letzten Projekten hauptsächlich als System- und Softwarearchitekt eingesetzt.

Mit assoziiertem Freiberufler auch Hardware-Entwicklung und damit auch komplette Systementwicklung möglich.

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Die folgenden Aufzählungen sind ein Versuch, meine Kenntnisse strukturiert
darzustellen. Dabei führe ich nur Dinge auf, mit denen ich mich intensiv
beschäftigt habe. Für die Softwareentwicklung waren dies:

o       Betriebssysteme von der Designphilosophie bis hinunter zu den Details

  - AT&T UNIX Version 7 bis System V.2/V.3

  - BSD-Unix 4.2, 4.3, 4.4; FreeBSD

  - Linux (2.0, 2.2, 2.4)

  - MS-DOS für "mission-critical" Applikationen

  - OS/9

  - VxWorks

  - RTOS-32/RTKernel (On Time)

  - Eigenentwicklung (HQRTK)

o       Protokolle

  - IP-Protokolle, TCP/IP, UDP/IP (implementiert)

  - Transportprotokolle über TCP und UDP: HTTP, TFTP, Telnet

  - OSI-Protokoll unter BSD-Sockets mit POSIX XTI-Bibliothek

  - Asynchrones BSC (Multipoint Master-Slave Protokoll) (implementiert)

  - PPP (Studie mit Zeit/Kostenschätzung/Pilotentwicklung)

  - IrDA (Studie mit Zeit/Kostenschätzung)

  - Codeinspektion des Linux 2.4 "no-copy" TCP/IP Protokollstacks

o       Graphische Software

  - X11R6 Portierung für Graphikkarten von PCS/CADMUS Rechnern, basierend

 auf einer existierenden X11R5 Portierung

o       Treiber

  - Plattentreiber für SMD-Platten

  - IDE/ATA-Treiber für ein Realzeitsystem mit definierten Zeitaussagen

  - Treiber für LAN-Bausteine des Typs NE2000 und SMSC 91C96

  - Treiber für PC-I/O Bausteine: serielle Schnittstelle, Tastatur, etc.

o       Embedded Systeme

  - Design- und Implementierungsvorschriften für "Safety-Critical" und

  "Mission-Critical" Systeme

  - Testrahmen ("Test Harness") für Modul- und Systemtests im

 "Mission-Critical"Bereich

  - BIOS für Microcontroller des x86-Typs mit DOS-Emulation

  - TCP/IP und UDP/IP Protokollstacks tauglich für 16Bit Mikrocontroller

 mit beschränkten Ressourcen

  - HTTP/HTML-Server für Embedded Systeme

  - Studie "Java für Embedded Systeme"

  - Betreuung Diplomarbeit: "Linux als Betriebssystem für

 Industrieterminals"

 (entspricht "Mission-Critical Linux")

o       Applikation

  - Compiler(bau), Assembler(bau)

  - Interpreter für Testsysteme

  - Socket-Verbindungsmanager für "embedded" Applikationen

 (Client-Server)

  - (Flug-) Simulatoren


Damit einher geht ein vertieftes Verständnis der Hardware. Neben dem
Verständnis von komplexen Chip-Bausteinen aus deren Datenblättern kann
ich die dazugehörenden Schaltpläne lesen und auf Fehler analysieren.
Dies gilt auch für PAL/EPLD-Gleichungen und ASIC-Designs. Im folgenden
seien nur die Hardwarebereiche und -komponenten aufgelistet, bei
denen meine Kenntnisse bis hin zu den Problemen oder gar interen
Fehlern reichen:

o       Mikroprozessoren der Typen 68xxx, x86,  DEC Alpha und andere

  RISC-Architekturen

o       Mikrocontrollern aus der x86 und x96 Gruppe, z.B. Intel 8096,

  AMD 188ES und AMD SC400/SC410, AMD SC520, Power-PC G3 (MPC860, PPC405),

  Microchip PIC (dsPIC30F, PIC24H)

o       VME-, ISA-, PCI-Bus; PCIe-Bus, PCMCIA-Steckplatz
o       PC I/O Systeme, z.B. SATA/ATA/ATAPI-Schnittstelle, seriellen Schnittstellen

Bei Projekten, in denen Applikationssoftware geschrieben wurde,
mußte ich mich öfter intensiv in die Problemstellung eines anderen
Fachbereichs einarbeiten. Dazu gehören

o       Meßtechnik unter extremen klimatischen Bedingungen
o       Meteorologie und Klimatologie, Eisforschung (See-Eis)
o       Avioniksysteme und -busse
o       Quantentheorie
o       EMV-Maßnahmen
o       Webverfahren

Ich kenne den gesamten Softwareentwicklungsprozess, wie er
auch im Bereich der sicherheitskritischen Software üblich ist,
von der Vertragsgestaltung über Spezifikation, Design, Implementierung,
Test, Abnahme, Inbetriebnahme und Wartung. Ich habe Software
unter anderem schon nach folgenden Methoden entwickelt:

o       DO-178 A/B
o       MIL 498
o       ISO 12207

und kann diese Methoden auch vermitteln.

Als meine größte Stärke betrachte ich es, mir auch größere Wissensbereiche
schnell aneignen zu können. Deshalb macht es mir Spaß, einmal etwas ganz
Neues anzufangen. Ich bin imstande aus Normen (RFCs, IEEE-Spezifikationen
etc.) rasch ein funktionierendes Codestück zu entwickeln und
- wenn notwendig - eine dazu passende Hardware zu spezifizieren. Daher
können die oben angegebenen Wissensbereiche nur relativ gesehen werden;
in naher Zukunft können weitere Bereiche dazukommen sein.

Betriebssysteme

BS2000
Echtzeitbetriebssysteme
VxWorks, OS-9, RTOS, RTKernel, QNX, OS/9
Lunix
Linux Versionen 2.6 bis 3.2
MS-DOS
OS/9
OSF/Motif
Unix
System V, Linux, freeBSD, BSD Unix
VxWorks
Verschiedene Versionen (5.5 bis 6.4)
Windows
Ich bin von der Ausbildung her Betriebssystembauer. Ich kann Betriebssysteme selber programmieren und kann mich daher auch in die unterschiedlichsten Systeme extren schnell einarbeiten.

Programmiersprachen

Ada
Assembler
für Embedded-Systeme: 68x00, 80x86, 80x86, 8051, Power-PC, Microchip PIC, etc.
C
C#
C++
Cobol
Fortran
Imake, GNU-Make, Make-Maker etc...
Java
LabView
genauer: LabWindows
MATLAB / Simulink
genauer: Programmierung Interfaces Simulink/C
Modula-2
Pascal
Da gute Kenntnisse im Compilerbau, kann ich jede Programmiersprache
in kurzer Zeit erlernen.

Datenkommunikation

BSC
z.B asynchrones BSC
Bus
Profi-Bus, Firewire, I²C, SPI, PCI, PCIe
Ethernet
IP-Protokolle (TCP/UDP/ICMP/HTTP etc.)
HART
Eigenimplementierter HART 5 und HART 7 Protokollstack
Internet, Intranet
Selbstimplementierter IP, TCP, UDP Protokollstack
Proprietäre Protokolle
allgemeine Protokoll-Entwicklung
RFC
allgemeine Protokoll-Entwicklung nach RFC-Normen
RPC
allgemeine Protokoll-Entwicklung
RS485
Modbus
Socket-Programmierung
Winsock und Linux / USD 4.x Sockets
TCP/IP
samt übergeordneten Protokollen
Kenntnisschwerpunkt Protokollentwicklung, beginnend von der Hardware, Treiber bis zur Applikationsschicht.

Hardware

Bus
PCIe, PCI, PCMCIA, VME, Firewire, USB, SPI, I²C
Echtzeitsysteme
VxWorks, RTOS, RTKernel, QNX, OS-9, Stand-Alone
embedded Systeme
x86-Architektur, Power-PC, ARM, ARM Cortex M4,Microchip PIC
Emulatoren
68x00, 80x96, Microchip ICE, iSystem
Mikrocontroller
68x00, 8096, 80x86, 8051, Microchip PIC, Power-PC, PPC405, MPC5200, PPC G3 Code
Liste der Microcontroller, mit denen ich gearbeitet habe, ist hier nur abgekürzt. Bei Interesse bitte genauere Informationen anfragen.

Berechnung / Simulation / Versuch / Validierung

Digital Mock up (DMU)

Branchen

Branchen

Aeronautics, Flugzeugbau, Automotive, Automobilindustrie, Embedded Systems, Wireless Communications, Radiokommunikation, Defense, DO-178A/B, Simulation

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz
nicht möglich

Projekte

Projekte

Hier sind nur die Projekte der letzten Jahre aufgelistet.
Weitere Kenntnisse entnehmen Sie bitte unter der Überschrift
"Kompetenzen".

Oktober 2014 ? heute: Rheonik Messtechnik GmbH, Odelzhausen

- Wiederaufbau einer Entwicklungsabteilung nach einem Management-Buyout.
- Übernahme der Wartung bestehender Systeme.
- Definition der Systemarchitektur einer neuen Generation von Messwertaufnehmern für Coriolis

  Massenflusssensoren.
- Eingesetzte Technologien waren: Freescale HCS12X, Codewarrior, iSystem Debugger, Subversion

  SVN, MISRA, Modbus Protokoll, 4-20mA Schnittstellen, HART Protokoll, SPI, I²C, CAN, RS485.


Februar 2012 ? August 2014: ARRI GmbH, München
- Softwarearchitekt bei der Entwicklung einer neuen Generation professioneller, digitaler Kameras, die

   mittlerweile unter den Namen ARRI AMIRA und ALEXA MINI vorgestellt wurden. Ich erstellte die

   Softwarearchitektur und das gesamte Softwaredesign der Steuersoftware in dieser Kamera.
- Implementierung zentraler Module der Kontrollsoftware, wie Linux SATA Gerätetreiber mit 450MB/s

   Performance, spezielle Gerätetreiber für FPGA, Kalibrationssoftware und Quicktime Multimedia-

   Container.
- Anleitung und Überwachung einer kleinen Gruppe von festangestellten Mitarbeitern, die Teile der

  Kontrollsoftware oder GUI implementierten.
- Zentrales Problem bei diesem Projekt war das Erzielen einer sehr hohen Datenraten zur Speicherung

  eines hochqualitativen Videodatenstroms auf ein SSD Medium. Dazu waren Realzeitanforderungen für

  eine Synchronisation von Timecode-Gebern und Videosensor zu erfüllen.
- Eingesetzte Technologien waren: ARM Cortex M4, Marvell SATA Controller, Linux, GCC, C, Make,

  Subversion SVN, Quicktime Container, ProRes Codec, CFAST2, PCIe, PCIe Switch, I²C, CAN.

 

November 2010 ? Dezember 2011: Rheonik Messtechnik (GE Sensing & Inspection Technologies)
- Entwicklung der Steuersoftware für einen Coriolis Durchflusssensor, mit dem Masse,

  Volumen und Dichte einer fließenden Flüssigkeit bestimmt werden kann. Diese neueste

  Generation vom Sensoren hat extreme Anforderungen an die Genauigkeit und Reaktionszeit.

  Entwickelt wurde die Software für einen Freescale HSC12 Prozessor mit Hilfe der

  Codewarrier Entwicklungsumgebung unter Einhaltung der SIL3 Sicherheitsklasse wegen des

  Einsatzes der System in explosionsgefährdeten Bereichen. Ich habe dafür neben vielen

  anderen low-level Modulen auch ein Modbus-Kommunikationsprotokoll auf dem XGATE

  Coprozessor des HCS12 geschrieben, die ältere Archituktur auf der Basis eines PIC18F

  ablöst.
- Eingesetzte Technologien waren: LDRA, Freescale HCS12X, PIC18, Codewarrier, iSystem

  Debugger, Subversion - SVN, MISRA, SIL3 ? ISO 61508, Modbus Protokoll.

 

 

April 2009 - September 2010: Hamilton Sundstrand, Nördlingen
- CAN Kommunikation für Intelligente Schalter für Flugzeugelektrik (SSPC).
  Design und Implementierung eines Kommunikationskonzentrators für intelligenten
  Schalters für Flugzeugelektrik im Rahmen des A350 Projekts. Der Konzentrator
  übernimmt von dem Leitsystem der Elektrik Schalterkommandos über CAN Schnittstellen
  und leitet diese über eine gemultiplexte SPI-Kommunikation an die intelligenten
  SSPC Schalter weiter. Von den SSPC Schaltern wiederum wird der Status über die
  gemultiplexte SPI Schnittstelle gelesen und wiederum über CAN an das Leitsystem
  zurückgemeldet. Durch eine Verdopplung der CAN Konzentratoren und des
  SPI-Multiplexers wird eine Redundanz zur Steigerung der Betriebssicherheit
  erreicht.
- Entwickelt wurde die Software dazu in C nach Sicherheitsstandard DO-178B Class A.
  Zum Einsatz kam die Microchip MPLAB IDE Entwicklungsumgebung in der Version 8.15
  mit MPLAB C30 Compiler (entspricht GNU GCC 4.03) samt den dazugehörigen
  Emulator-Tools ICD2 und REAL ICE.
- Für das Requirement-Engineering wurde DOORS 8.3 und 9.2 verwendet.
- Eingesetzte Technologien waren:
  DOORS, IBM CM SYNERGY, C, GNU C, MICROCHIP DSPIC30, PIC24H, MPLAB IDE, DO-178B,
  IBM LOGISCOPE, MISRA.
 

Juli 2008 - März 2009: Hamilton Sundstrand, Nördlingen
- Implementierung eines intelligenten Schalters für Flugzeugelektrik (SSPC Solid
  State Power Controller) für Airbus A400M, Airbus A350 und Boeing 787 auf der
  Basis von Microchip PIC24H und dsPIC30 Microcontrollern. Entwickelt wurde die
  Software dazu in  C nach Sicherheitsstandard DO-178B Class A. Zum Einsatz kam
  die Microchip MPLAB IDE Entwicklungsumgebung in der Version 8.15 mit MPLAB
  C30 Compiler (entspricht GNU GCC 4.03) samt den dazugehörigen Emulator-Tools
  ICD2 und REAL ICE.
- Für das Requirement-Engineering wurde DOORS 7.1 und 8.3 verwendet. Dazu habe
  ich einen Generator geschrieben, der aus einem Doors-Requirement Schema
  Coderahmen in C erzeugte. Dieser wurde mit Hilfe von Microsoft Visual (Studio)
  C++ 2008 erstellt.
- In dem Projekt wurde das Versionskontrollsystem IBM/Telelogic CM Synergy 7.1
  verwendet und zur statischen Code-Analyse bzw. zur Überwachung des Coding-Standards
  IBM/Telelogic Logiscope 6.5. Das Rule-Set dazu umfasste einige MISRA-Regeln, die
  von mir korrigiert bzw. angepasst werden mussten.
 
Januar 2007 - Juni 2008: Rohde&Schwarz: Implementierung Funk-Protokoll IPoA
- Implementierung eines Protokolls für Rundfunkübertragung von IP-Paketen mit
  Point-to-Point und CSMA/CA Modi für ein militärisches Radio (M3TR). Ich war
  verantwortlich für die Implementierung des MAC/LLC Layers, des Netzwerklayers
  und des Anschlusses an einen standard IP-Protokollstack über ein Treiberinterface
  unter VxWorks 6.4 implementiert in C++. Basis waren die Prozessoren PPC405
  in einer FPGA-Implementierung und PPC860.
- Es kam das Versionskontrollsystem IBM Rational Clearcase zum Einsatz und
  das Requirement-Engineering erfolgte über DOORS (7.1).


September 2004 - Dezember 2006: Siemens VDO: Graphikarchitekt für Infotainmentsystem (Automobil)
- Graphikarchitekt im Bereich Automotive Infotainment-Systeme (SV IIS), das sind
  Navigationssysteme mit integrierter Unterhaltung, wie Radio, TV, CD/DVD-Player
  etc. Verantwortlich für Auswahl von Software und Hardware im Graphikbereich.
- Ich bearbeitete von Kunden kommenden Lastenhefte sofern sie graphische Ausgaben
  betrafen, erstellte interne Spezifikationen, erarbeitete Performance-Aussagen
  und designte die dazugehörenden Systemsoftware. Darüber hinaus koordinierte
  ich die graphischen Aktivitäten der darüberliegenden MMI/HMI Software und
  machte dafür Vorgaben, wie die graphischen Programmierschnittstellen zu benutzen
  waren.
- Weiterhin programmierte ich auch Treiber für Graphikbausteine, wie die
  automotivetaugliche Bausteine CORAL-PA von Fujitsu und CARMINE von Fujitsu.
  Diese Treiber liefen unter VxWorks (Release 5.5), waren in C geschrieben
  und wurden über eine erweiterte WindML 3.0 Schnittstelle (API) angesprochen.
  Als Prozessoren kamen zum Einsatz: Freescale MPC5220 (PPC 603e G2_LE Core)
  und Renesas SH7780 (SH-4 Core).
- Eine OpenGL ES Schnittstelle für 3D Darstellung wurde zu Erprobungszwecken
  implementiert und mittels einer 3D Navigation getestet.
- Aktuelle Themen in diesem Bereich waren Anti-Aliasing, Alpha-Blending und
  das pixelweise Alpha-Blending von graphischen Overlays, auf die die
  Applikationen unabhänging voneinander zeichnen konnten. Aktuelle Anforderungen
  ware darüberhinaus Navigationen mit Kartendarstellungen in 3D und MMI/HMI
  Bedienoberflächen mit extremen Designs sowie das Rendern von Video-Inputs
  von TV und Onboard-Kameras.


Oktober 2003 - Dezember 2003: PCS: Chipkarten-API
- Portierung einer Chipkarten-API-Schnittstelle für Smartcards aus einer
  embedded Standalone-Umgebung auf eine embedded Linux ARM-basierende
  Architektur. Dies schloß die Tests zur Zulassung nach Norm EMV2001 mit ein.


März 2002 - Juni 2003: EADS: Flugsimulation

- Integration eines militärischen Flugsimulators aus

  angelieferten Simulationskomponenten (Triebwerk,

  Aerodynamik, etc.)

- Integration von Modulen, die den vier Programmiersprachen

  C, C++, ADA, FORTRAN geschrieben waren, zu einem Programm

- Schaffung eines komfortablen FORTRAN/C Interfaces

- Anschluß an externe Visualisierungskomponenten

- Überwachung und Verbesserung der Realzeit-Eigenschaften

- Portierung auf verschiedene Zielsysteme: PC/Linux,

  Compaq 160/OSF1/Tru64, Concurrent/Harris

- Integration eines Test-Interpreters für automatisierte

  Testfälle und Vergleich mit Flugversuchsdaten

- Vorbereitung für Einsatz in Ausbildungs-Simulatoren

  (ASTA) durch Einführung von simulierten Fehlfunktionen

  und simuliertem Redundanzverhalten


Oktober 2001 - Januar 2002 : Digital/DEC (jetzt HP): Treiberentwicklung

- Treiberentwicklung für den Anschluß eines Fujitsu MO

  Laufwerks an ein Alpha-basierendes System unter OSF1/Tru64.

- Umschreiben eines bestehenden SCSI/CAM Treibermoduls auf die

  Bedürfnisse des MO-Laufwerks.

- Umgehung der Probleme der Firmware des Laufwerks

- Performance-Messungen und Verbesserungen

- Bereitstellen eines auslieferbaren Release-Stands


August 2000 - August 2001: Opditex: optische Webinspektion

- Entwicklung einer Software zur Auswertung der Videodaten

  einer 2,50m langen Zeilenkamera, die über einer Webmaschine

  angebracht ist.

- Entwicklung von Bildverarbeitungs-Komponenten mit extrem

  hoher Performance für das Aufspüren von Web-Fehlern bei

  Videodatenaufkommen bis zu 2MPixel/Sekunde

- Bereitstellung einer IEEE 1394/Firewire DMA-Schnittstelle

  mit hoher Datenbandbreite

- Konfigration und Bereitstellung eines "diskless" embedded

  Linux System auf dem Auswerte-Rechner (Industrie-PC)

- Entwicklung eines optischen Anzeige- und Demonstrations-

  programms zur Anzeige der Video-Daten in Realzeit


Dezember 1997 - Juni 2000: PCS: Industrieterminals

- Entwicklung einer neuen Generation Industrie-Terminals

  (INTUS 3000) als leitender Software-Entwickler

- Vorgaben für die Hardware-Entwicklung

- Entwicklung eines kleinst-PC basierenden (AMD SC400)

  Industrieterminals mit hohen Standzeitanforderungen

  ("mission-critical"), angefangen von der Betriebssystem-

  software bis hin zur Adaption und Umprogrammierung eines

  bestehenden Interpreters.

- Entwicklung einer eigenen Netzwerkkomponente (LAN, IP,

  TCP/IP, HTTP) mit minimalem Ressource-Verbrauch

- Entwicklung eines seriellen master/slave Multipoint-Protokolls

  änhlich BSC mit LAN Protokollkonverter

- Entwicklung eines bootfähigen PCMCIA BIOS für PCMCIA ATA-Platten

- Bereitstellung einer Produktionssoftware für die Konfiguration

  der Industrie-Terminals während der Produktion

- Entwicklung kleinerer, preiswerterer Varianten auf der

  Basis des AMD 80186ES Mikrocontrollers (INTUS 3100, INTUS 3200)

- Entwicklung eines Boot-Monitors/BIOS mit Flash-Verwaltung über

  LAN

- Durchführung strategischer Untersuchungen: "Embedded Linux",

  "mission critical JAVA", "IrDA" etc.

- Auswahl und Einarbeitung eines Nachfolgers

Aus- und Weiterbildung

Aus- und Weiterbildung

Diplom Informatiker TU Karlsruhe
Abschluß Diplom

Position

Position

In letzten Projekten hauptsächlich als System- und Softwarearchitekt eingesetzt.

Mit assoziiertem Freiberufler auch Hardware-Entwicklung und damit auch komplette Systementwicklung möglich.

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Die folgenden Aufzählungen sind ein Versuch, meine Kenntnisse strukturiert
darzustellen. Dabei führe ich nur Dinge auf, mit denen ich mich intensiv
beschäftigt habe. Für die Softwareentwicklung waren dies:

o       Betriebssysteme von der Designphilosophie bis hinunter zu den Details

  - AT&T UNIX Version 7 bis System V.2/V.3

  - BSD-Unix 4.2, 4.3, 4.4; FreeBSD

  - Linux (2.0, 2.2, 2.4)

  - MS-DOS für "mission-critical" Applikationen

  - OS/9

  - VxWorks

  - RTOS-32/RTKernel (On Time)

  - Eigenentwicklung (HQRTK)

o       Protokolle

  - IP-Protokolle, TCP/IP, UDP/IP (implementiert)

  - Transportprotokolle über TCP und UDP: HTTP, TFTP, Telnet

  - OSI-Protokoll unter BSD-Sockets mit POSIX XTI-Bibliothek

  - Asynchrones BSC (Multipoint Master-Slave Protokoll) (implementiert)

  - PPP (Studie mit Zeit/Kostenschätzung/Pilotentwicklung)

  - IrDA (Studie mit Zeit/Kostenschätzung)

  - Codeinspektion des Linux 2.4 "no-copy" TCP/IP Protokollstacks

o       Graphische Software

  - X11R6 Portierung für Graphikkarten von PCS/CADMUS Rechnern, basierend

 auf einer existierenden X11R5 Portierung

o       Treiber

  - Plattentreiber für SMD-Platten

  - IDE/ATA-Treiber für ein Realzeitsystem mit definierten Zeitaussagen

  - Treiber für LAN-Bausteine des Typs NE2000 und SMSC 91C96

  - Treiber für PC-I/O Bausteine: serielle Schnittstelle, Tastatur, etc.

o       Embedded Systeme

  - Design- und Implementierungsvorschriften für "Safety-Critical" und

  "Mission-Critical" Systeme

  - Testrahmen ("Test Harness") für Modul- und Systemtests im

 "Mission-Critical"Bereich

  - BIOS für Microcontroller des x86-Typs mit DOS-Emulation

  - TCP/IP und UDP/IP Protokollstacks tauglich für 16Bit Mikrocontroller

 mit beschränkten Ressourcen

  - HTTP/HTML-Server für Embedded Systeme

  - Studie "Java für Embedded Systeme"

  - Betreuung Diplomarbeit: "Linux als Betriebssystem für

 Industrieterminals"

 (entspricht "Mission-Critical Linux")

o       Applikation

  - Compiler(bau), Assembler(bau)

  - Interpreter für Testsysteme

  - Socket-Verbindungsmanager für "embedded" Applikationen

 (Client-Server)

  - (Flug-) Simulatoren


Damit einher geht ein vertieftes Verständnis der Hardware. Neben dem
Verständnis von komplexen Chip-Bausteinen aus deren Datenblättern kann
ich die dazugehörenden Schaltpläne lesen und auf Fehler analysieren.
Dies gilt auch für PAL/EPLD-Gleichungen und ASIC-Designs. Im folgenden
seien nur die Hardwarebereiche und -komponenten aufgelistet, bei
denen meine Kenntnisse bis hin zu den Problemen oder gar interen
Fehlern reichen:

o       Mikroprozessoren der Typen 68xxx, x86,  DEC Alpha und andere

  RISC-Architekturen

o       Mikrocontrollern aus der x86 und x96 Gruppe, z.B. Intel 8096,

  AMD 188ES und AMD SC400/SC410, AMD SC520, Power-PC G3 (MPC860, PPC405),

  Microchip PIC (dsPIC30F, PIC24H)

o       VME-, ISA-, PCI-Bus; PCIe-Bus, PCMCIA-Steckplatz
o       PC I/O Systeme, z.B. SATA/ATA/ATAPI-Schnittstelle, seriellen Schnittstellen

Bei Projekten, in denen Applikationssoftware geschrieben wurde,
mußte ich mich öfter intensiv in die Problemstellung eines anderen
Fachbereichs einarbeiten. Dazu gehören

o       Meßtechnik unter extremen klimatischen Bedingungen
o       Meteorologie und Klimatologie, Eisforschung (See-Eis)
o       Avioniksysteme und -busse
o       Quantentheorie
o       EMV-Maßnahmen
o       Webverfahren

Ich kenne den gesamten Softwareentwicklungsprozess, wie er
auch im Bereich der sicherheitskritischen Software üblich ist,
von der Vertragsgestaltung über Spezifikation, Design, Implementierung,
Test, Abnahme, Inbetriebnahme und Wartung. Ich habe Software
unter anderem schon nach folgenden Methoden entwickelt:

o       DO-178 A/B
o       MIL 498
o       ISO 12207

und kann diese Methoden auch vermitteln.

Als meine größte Stärke betrachte ich es, mir auch größere Wissensbereiche
schnell aneignen zu können. Deshalb macht es mir Spaß, einmal etwas ganz
Neues anzufangen. Ich bin imstande aus Normen (RFCs, IEEE-Spezifikationen
etc.) rasch ein funktionierendes Codestück zu entwickeln und
- wenn notwendig - eine dazu passende Hardware zu spezifizieren. Daher
können die oben angegebenen Wissensbereiche nur relativ gesehen werden;
in naher Zukunft können weitere Bereiche dazukommen sein.

Betriebssysteme

BS2000
Echtzeitbetriebssysteme
VxWorks, OS-9, RTOS, RTKernel, QNX, OS/9
Lunix
Linux Versionen 2.6 bis 3.2
MS-DOS
OS/9
OSF/Motif
Unix
System V, Linux, freeBSD, BSD Unix
VxWorks
Verschiedene Versionen (5.5 bis 6.4)
Windows
Ich bin von der Ausbildung her Betriebssystembauer. Ich kann Betriebssysteme selber programmieren und kann mich daher auch in die unterschiedlichsten Systeme extren schnell einarbeiten.

Programmiersprachen

Ada
Assembler
für Embedded-Systeme: 68x00, 80x86, 80x86, 8051, Power-PC, Microchip PIC, etc.
C
C#
C++
Cobol
Fortran
Imake, GNU-Make, Make-Maker etc...
Java
LabView
genauer: LabWindows
MATLAB / Simulink
genauer: Programmierung Interfaces Simulink/C
Modula-2
Pascal
Da gute Kenntnisse im Compilerbau, kann ich jede Programmiersprache
in kurzer Zeit erlernen.

Datenkommunikation

BSC
z.B asynchrones BSC
Bus
Profi-Bus, Firewire, I²C, SPI, PCI, PCIe
Ethernet
IP-Protokolle (TCP/UDP/ICMP/HTTP etc.)
HART
Eigenimplementierter HART 5 und HART 7 Protokollstack
Internet, Intranet
Selbstimplementierter IP, TCP, UDP Protokollstack
Proprietäre Protokolle
allgemeine Protokoll-Entwicklung
RFC
allgemeine Protokoll-Entwicklung nach RFC-Normen
RPC
allgemeine Protokoll-Entwicklung
RS485
Modbus
Socket-Programmierung
Winsock und Linux / USD 4.x Sockets
TCP/IP
samt übergeordneten Protokollen
Kenntnisschwerpunkt Protokollentwicklung, beginnend von der Hardware, Treiber bis zur Applikationsschicht.

Hardware

Bus
PCIe, PCI, PCMCIA, VME, Firewire, USB, SPI, I²C
Echtzeitsysteme
VxWorks, RTOS, RTKernel, QNX, OS-9, Stand-Alone
embedded Systeme
x86-Architektur, Power-PC, ARM, ARM Cortex M4,Microchip PIC
Emulatoren
68x00, 80x96, Microchip ICE, iSystem
Mikrocontroller
68x00, 8096, 80x86, 8051, Microchip PIC, Power-PC, PPC405, MPC5200, PPC G3 Code
Liste der Microcontroller, mit denen ich gearbeitet habe, ist hier nur abgekürzt. Bei Interesse bitte genauere Informationen anfragen.

Berechnung / Simulation / Versuch / Validierung

Digital Mock up (DMU)

Branchen

Branchen

Aeronautics, Flugzeugbau, Automotive, Automobilindustrie, Embedded Systems, Wireless Communications, Radiokommunikation, Defense, DO-178A/B, Simulation

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

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

Das GULP Freelancer-Portal

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