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.
- 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
- 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
- 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
- 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
In letzten Projekten hauptsächlich als System- und Softwarearchitekt eingesetzt.
Mit assoziiertem Freiberufler auch Hardware-Entwicklung und damit auch komplette Systementwicklung möglich.
- 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
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-SteckplatzDeutschland: Stundensatz gilt für München; für Bayern +5 Euro. Für andere Orte Verhandlungssache.
Arbeitserlaubnis: Arbeitserlaubnis Kanada war einsatzabhängig und ist ausgelaufen.
Weitere Länder: Vergütung ist Verhandlungssache.
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.
- 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
- 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
- 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
- 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
In letzten Projekten hauptsächlich als System- und Softwarearchitekt eingesetzt.
Mit assoziiertem Freiberufler auch Hardware-Entwicklung und damit auch komplette Systementwicklung möglich.
- 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
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-SteckplatzDirektester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.
Deutschland: Stundensatz gilt für München; für Bayern +5 Euro. Für andere Orte Verhandlungssache.
Arbeitserlaubnis: Arbeitserlaubnis Kanada war einsatzabhängig und ist ausgelaufen.
Weitere Länder: Vergütung ist Verhandlungssache.