Softwareentwicklung und Testentwicklung für Embedded Systeme, hardwarenahe Programmierung, Requirements Engineeering
Aktualisiert am 22.07.2022
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.10.2022
Verfügbar zu: 100%
davon vor Ort: 100%
Deutsch
Muttersprache
Englisch
sehr gute Kenntnisse in Wort und Schrift
Französisch
Grundkenntnisse

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz
nicht möglich

Projekte

Projekte

Zeitraum: 07/2015 - Heute
Firma: Telair International GmbH in Miesbach

Projekt: Main Deck Cargo Loading System fuer Transportflugzeug Beluga-XL

Entwicklung aller benoetigten Device Treiber fuer Mikrocontroller MPC5605B:
(Startup-Code, PLL, Clock-Gating/Dividers fuer MCU Devices, PAD-Configuration,
Interrupt-Handler, GPIO, ADC, EMIOS (PWM, pulse-counting, frequency measurement),
CAN-Bus, I2C, DSPI, LINFLEX (UART-mode), CFLASH, DFLASH, DMA-controller, PIT)

Entwicklung von Bootloader SW die Update von Firmware (Bootloader oder Applikation SW)
oder Konfigurationsdaten ueber CAN-Bus ermoeglicht. POST des CPU-cores, RAM-Test,
CRC-check, Start der Applikation SW.

Entwicklung Round-Robin Scheduling fuer Core-Applikation SW:
Frame-Handler mittels PIT, Prozess-Liste terminiert mit IDLE-Prozess, Re-Entry
des Schedulers ueber Exception-Entry Stack, Deadline-Ueberwachung.

Entwicklung von Applikations SW fuer Power-Locking Unit und Power-Drive Unit:
Runtime Support, Device Treiber (FRAM, MAX6625), Konfiguration mittels Tabellen,
generisches Handling globaler Daten ueber Storage Management, Applikation State-Machine,
generischer Prozess fuer: BITE-Monitore, Failure-Log Memorisierung, AC-Phase Strommessung
mittels ADC getriggered ueber PIT und Datenabholung von DMA-controller.

Entwicklung von Applikation SW fuer Control-Panel:
Treiber fuer LED-Matrix basierend auf I2C, Treiber fuer Noritake VFD-Display
(ASCII + Graphik Mode, Menu-Loading, Scrolling, Cursor-Movement, Inverse, etc.),
Pushbutton Handler, Joystick, Emergency-Stop, Applikation State-Machine

Entwicklung von Applikation SW fuer Cargo Control Box:
Treiber fuer A429-Transceiver, reuse der vorhandenen Treiber und Core-Applikation Module,
deterministische Steuerung des CAN-Protokolls der 6-CAN-Busse, Applikation State-Machine.

Requirement Engineering:

Arichitektur Beschreibung und Detailed Design:
Konsistenz check Traceability von High-Level Requirements und Source Code
(Zuordnung HLR Tags in Code). Erstellung von Low-Level Requirements fuer alle vorhandenen Module der LRUs und des BOOT-Loaders.

Integration der Applikations SW auf Testrig System und Durchfuehrung von Test-Sessions
mit Airbus Testteam-Kollegen. Erstellen und Analyse von Problem Reports, Beseitigung von SW-Fehlverhalten auf System und Equipment Level.


Zeitraum: 01/2010 - 05/2015
Firma: Diehl Aerospace GmbH Frankfurt

Fortsetzung Projekt: DCMS System zur Steuerung und dem Monitoring der Rampe und Frachttür des Airbus A400M

Redesign von Data Loading Software nach Arinc615 fuer den Slave Computer des DCMS (RCDC). Protokoll zur Uebertragung der Datenfiles ueber CAN-Bus zum RCDC. Design und Implementierung von Programmierung der Daten ins Flash Memory, Speicherung der Konfigurationsdaten ins EEPROM, CRC und Konsistenzchecks.

Analyse und Loesung von Problem Reports sowohl der operationellen SW als auch der Equipment SW beider Computer des DCMS (RCDC und DCMU). Beseitigung von SW-Fehlverhalten bei System oder CSCI Tests. Unterstuetzung der HW-Entwicklung zur Verbesserung des Systemverhaltens des DCMS bei Power Cuts.

Entwicklung von Device Treibern fuer geaenderte HW-Funktionen. Design und Implementierung von diversen Ueberwachungsfunktionen (Monitoren) der dreifach redundanten HW. Kombinierte Monitorfunktionen (double fault monitors, Cyclic Test Sequenz). Entwicklung des interaktiven BITE Modes nach ABD100; Protokoll zwischen CMS und Target, Reporten der diversen Fehlernachrichten.

Implementierung in Ansi-C und teilweise in Assembler fuer die PowerPC Architectur. Entwicklung von Engineering Tests in Python zur funktionalen Verifikation.

Überprüfung der Erfüllung geforderter Daten-Update-Raten und Performance Requirements. Codeanalyse mit Polyspace. Optimierung und Anpassung der Implementierung.

Update der "Software Requirement Specification" (SRS) entsprechend der neuen funktionalen Baseline der "System Equipment Specification" (SES).

Unterstützung bei Architektur und Detailed Design mit Telelogic Rhapsody Erstellung von Aktivity-Diagrammen in UML

Erstellung eines Konzepts zum Testen der BITE-Monitore der operationellen SW mittels BDM/JTAG-Debugger basierend auf Practice-Scripten (Lauterbach T32 Scriptsprache)


Zeitraum: 05/2009 ? 12/2009
Firma: EADS Standort Ulm
Projekt: Resident SW für "Mission Management Computer" (MMC) und
"Defense Aid Computer" (DAC) des Militärischen Transportflugzeugs A400M

Analyse von Hardwareänderungen und deren Einfluss auf die Resident Software des
MMC. Anpassung von Software Requirements der Resident SW aufgrund geänderter
System Equipment Spcezifikation und Änderungsforderungen des Validierungs- und
Verifikationsteams.

Implementierung der geänderten Requirements in ANSI C und teilweise in
Assembler für MPC750 auf dem RTOS INTEGRITY der Fa. Green Hills.

Performanceanalyse von Funktionen der Resident SW mit hohem Rechenzeitaufwand
(SDRAM ECC Initialisierung, Elfloader, CRC32 Check, Memcpy Funktion von ROM zu
RAM). Optimierung der HW Einstellungen (Caches, Alignment, Nutzung von
HW Funktionalitäten des Marvell System Controllers) und der SW Algorithmen.

Erstellen eines Testkonzeptes zur Durchführung von automatischen Engineering
Tests. Implementierung von Testfunktionen in die Debugversion der Target SW
die mittels serieller Link vom Host PC kommandiert werden können.

Implementierung der Engineering Tests mittels Scripten in Perl.
Erstellen von Testreports und Dokumentation der Engineeringtests und des
Testsystems.

Integration der Resident SW, Analyse und Lösung auftretender Fehlfunktionen.

Software Tools:
Telelogic Doors: Requirement Engineering, Serena PVCS: Konfigurations-Management,
Serena Teamtrack: Problemreporting, RTOS: Green Hills INTEGRITY-178B,
Target Compiler: Green Hills Multi Compiler Suite,
Programmiersprache: ANSI-C, Assembler (PowerPC Architektur),
Scriptsprache: Perl, Dokumentation: Microsoft Office, Proprietäre Tools


Zeitraum: 01/2009-04/2009 (kurz, weil das Projekt temporär vom Auftraggeber eingestellt
wurde)
Firma: Diehl Aerospace GmbH Frankfurt
Projekt: Steuercomputer für die Rampe und Frachttür des Airbus A400M
Überarbeitung des BITE Konzeptes des RCDC:
- Performance-Analyse
- Optimierung der Interlane-Kommunikation zwischen den drei Prozessorboards
- Überarbeitung des Monitor Prozesses und optimierung der Monitor Kommandierung

Änderung von BITE Monitoren aufgrund von DCRs:
- Erstellung von SRS-Requirements für geänderte und zusätzliche BITE Monitore
- Überarbeiten der bestehenden Fehler Erkennungsprinzipien
- Implementierung und Integration der BITE Monitor Funktionen

Entwicklung nach Designstandard: RTCA DO178B (assurance Level A)
Implementierung in C
Prozessor: Mikrocontroller MPC565 (Derivat des MPC555)
Plattform: Proprietäres Arinc 653 basierendes Echtzeit-Betriebssystem


Zeitraum 12/2007-12/2008
Firma: EADS Standort Ulm
Projekt: Mission Management Computer des Airbus A400M
Treiberentwicklung im Rahmen der Target Basis-SW:
- Treiber für ein proprietäres Flash-PMC Modul zum Löschen/Schreiben/Lesen von
  Nand-Flash Devices. Entwicklung eines Bad Block Management Algorithmus
- NVM Management Treiber zur dynamischen Memorisierung von "Shop Data" auf
  Sektoren des externen Flash Memory

Entwicklung der Resident Software für einen Rechner mit Multiprozessor-Architektur:
- Erstellung von SRS-Requirements
- Konzeptentwicklung, Implementierung und Integration der Resident SW
- Analyse und Lösung auftretender Fehlfunktionen
- Bearbeitung von Problem Reports

Startup und Power-on-Selftest:
- Entwicklung eines generischen Moduls zur Durchführung von POST auf dem Target
- Entwicklung und implementierung von POST Tests, u.a. Initialisierung und Test
  der ECC Funktionalität von ECC SDRAM, Intrusive RAM Test mit Relokation des
  Stack Memory, Watchdog Test
- Integration und Test des POST und des Startup/Restart Verhaltens des Targetrechners.

Implementierung von Selftest Funktionen zur Durchführung von Engineering Tests
Entwicklung von Perl Test-Skripten zum Testen der Treiber als auch der Resident SW.

Requirement Engineering:
- Erstellen von Low Level Requirements (LLRs) und Software Architektur Diagrammen
- Zuordnung der LLRs zu den HLRs der SRS

Entwicklungsumgebung:
Embedded Echtzeitbetriebssystem INTEGRITY und
Multi C/C++ Compiler Suite der Fa. Green Hills
Target CPU: PowerPC MPC750GX (Freescale)
System Controller: Discovery III MV64460 (Marvell)

Versionsverwaltung: PVCS


Zeitraum 10/2006-11/2007
Firma: Diehl Aerospace GmbH Frankfurt
Projekt: Steuercomputer für die Rampe und Frachttür des Airbus A400M


Hauptaufgaben:
Mitarbeit an der Erstellung der Software Requirement Spezifikation
- textuelle Anforderungen an die operationelle Software abgeleitet von
  der System Spezifikation
- Analyse bestehender Requirements und Klärung technischer Fragen mit
  der Systemgruppe
- Spezifikation von BITE Requirements (Build In Test Equipment)
  zur Erkennung von Fehlfunktionen oder fehlerhaften Hardwarekomponenten

Mitarbeit an der Software-Architektur
- Aufteilung der Software in Komponenten und deren Schnittstellen
- Definition der einzelnen Prozesse und deren Interaktion mit anderen
- Entwurf des Prozess Schedulings (wann, in welcher Reihenfolge und
wie oft ein Prozess ausgeführt werden soll)

Implementierung, Integration und Test von Treibern für diverse Hardware
Interfaces
- Discrete I/O, Analog, UART, EEPROM, Arinc 429, Sensor Interface Module,
  BITE Memory Manager, Interlane Kommunikation der redundanten
  Rechnerkarten, proprietäre PLDs

Timing Analyse und Erstellung der Prozess Aufruftabelle

Synchronisationsprozess der dreifach redundanten Prozessorboards

Entwicklung des vollständigen BITE Konzeptes des Steuercomputers
- generischer Teil zum selektiven Aufruf der Selbsttest-Funktionen
- Verwaltung der Fehlerzustände
- Generierung der Fehlermeldungen und deren Weiterbearbeitung
  (Versendung über CAN-Bus und Speicherung im BITE Memory)
- Realisierungskonzept der zahlreichen Selbsttest-Funktionen
Implementierung, Integration und Test des BITE Konzeptes

Performance Analyse und Erstellung eines Verteilungsschemas
das angibt wann und wie oft eine Selbsttest-Funktion auszuführen ist

Entwicklung des vollständigen POST (Power-On Self-Test) und der Startup
Funktionen des Steuercomputers nach erfolgter Spannungsunterbrechung.

Entwicklung nach Designstandard: RTCA DO178B (assurance Level A)
Implementierung in C, teilweise in Assembler
(Processing Core Test, Intrusive RAM Test und Exception Test),
Prozessor: Mikrocontroller MPC565 (Derivat des MPC555)
Plattform: Proprietäres Arinc 653 basierendes Echtzeit-Betriebssystem

Eingesetzte Tools:
Dokumente: Doors, MS-Word, MS-Excel, ClearQuest
Design:    Rhapsody
Target SW: Wind River Diab Data Compiler, Make, Lclint, Lauterbach Emulator,

Trace32, Emacs, C-Shell
Versionsverwaltung: ClearCase
Tools: gcc, ddd, Shell-Scripte


Zeitraum: 06/2003-09/2006
Projekt: Tür- und Notrutschensystem des Airbus A380

Zeitraum: 04/2006-07/2006 Applikation zum Laden der operationellen Software
und der Konfigurationsdateien


Hauptaufgabe:
Gleichzeitiges Laden von Software oder Konfigurationsdateien auf die
3 Prozessorboards, Durchführung von Konsistenzchecks, automatische
Generierung eines Protokolls.

- Anpassung des UART Treibers der Target SW
(Ringbuffer, Checksum Algorithmus, Konsistenzchecks)
- Lade Applikation auf dem PC
(Win32, Interprozesskommunikation, Multi-Threading)
- User Manual

Eingesetzte Tools:
PC SW: Microsoft Visual C, Word, proprietäre Testrack SW


Zeitraum: 01/2004-09/2006  Operationelle Software der zentralen Rechnereinheit

(Doors and Slides Management Computer)
Der Zentralrechner ist ein dreifach redundantes System mit CAN-Bus, AFDX-Bus,
UART, Discrete I/O und Sensor Interface.

Hauptaufgaben:
Software Design und Dokumentation, POST (Power-On Self-Test) und Startup,
Synchronisation der Prozessorboards, Device Treiber für UART und EEPROM,
Build-In Tests, Memory Interface, Sensor Interface, Problemanalyse,
Softwarepflege

- Software Requirement Spezifikation
- Mitarbeit an der Software-Architektur
- Design verschiedener Softwaremodule
- Implementierung, Test, Hardware/Software Integration
- Analyse und Behebung auftretender Probleme
- Bearbeitung der Validierungsreports des Designs und der CSU Tests

Entwicklung nach Designstandard: RTCA DO178B (assurance Level A)
Implementierung in C, teilweise in Assembler
(Processing Core Test und Exception Test),
Prozessor: Mikrocontroller MPC565 (Derivat des MPC555)

Eingesetzte Tools:
Dokumente: Doors, Teamwork, MS-Word, MS-Excel, ClearQuest
Target SW: Diab Data Compiler, Make, Lclint, Lauterbach Emulator, Trace32,

ClearCase, Emacs, C-Shell
Tools: gcc, Shell-Scripte

Zeitraum: 06/2003-12/2003  Abnahme Testsoftware (Acceptance Test)
Hauptaufgabe:
Target SW: Treiber für Kommunikation und Synchronisation der 3 Prozessorboards
untereinander, Tests für jede Hardware-Funktionalität des 3-fach redundanten
Zentralrechners, Erweiterung der Target Monitor Software zur Kommandierung
der Tests

- Spezifikation der Tests für die verschiedenen HW-Funktionen
- Design der Modultests
- Implementierung, Test, Hardware/Software Integration, Inbetriebnahme
- Problemanalyse und -lösung

Implementierung in C, teilweise in Assembler
Hardware: 3 Prozessorboards mit jeweils einem Mikrocontroller MPC565, UART,
CAN-Bus, AFDX-Bus, proprietäre PLDs, Discrete I/O und Sensor Interface

PC SW: Entwicklung einer Bibliothek zur automatischen Durchführung von
Testsequenzen und Protokollierung.

Eingesetzte Tools:
Target SW: Diab Data Compiler, Make, Lauterbach Emulator, Trace32, ClearCase
Dokumente: Doors, Word, Excel, ClearQuest
PC SW: Microsoft Visual C (Win32 API: Interprozesskommunikation,
Multithreading/tasking; Synchronisation mit Mutex, Semaphoren, Events,
Critical Sections)

Zeitraum: 09/2002-05/2003  Projekt: Graphik Generierungs Modul für die Cockpit Displays
des Airbus A380

Acceptance Testsoftware

Hauptaufgabe:
Target SW: Konfiguration PCI-Bus/MMU Controller MPC107, Entwicklung von Tests
für jedes HW-Modul, Hardware Integrationssupport

- Spezifikation der Tests für die verschiedenen HW-Funktionen
- Design der Modultests
- Implementierung, Test, Hardware/Software Integration, Inbetriebnahme
- Problemanalyse und -behebung

Implementierung in C, teilweise in Assembler
Hardware: MPC750, proprietäres EPLD Graphic/PCI-Bus Controller (Fa. Thales),
PCI Bridge/Memory Controller MPC107, UART

PC SW: Entwicklung einer Testbibliothek zur Durchführung automatischer
Testsequenzen. Über ein Treiber Interface wird der Targetrechner mittels
Signalen eines Testracks stimuliert und über ein serielles Interface mit der
Target Testsoftware Kommandos und Statusdaten übertragen. Interface zur
automatischen Generierung des Testprotokolls.


Zeitraum: 02/2002-08/2002  Projekt: Video Schalteinheit für ein militärisches Flugzeug

Acceptance Testsoftware

Hauptaufgabe:
Target SW:
Entwicklung von Testsoftware für jedes HW-Modul, Hardware Integrationssupport,
Dokumentation
- Erstellen der Testspezifikation der verschiedenen HW-Funktionen
- Design der Modultests
- Implementierung, Test, Hardware/Software Integration, Inbetriebnahme
- Problemanalyse und -behebung

Implementierung in C, teilweise in Assembler
Hardware: 68020, Discrete I/O, AD, DA, UART, Milbus 1553

PC SW:
Treiber für neue Testrack Interfaces (seriell gesteuertes Power Supply,
Timer Karte zur Frequenz- und Zeitmessung),
Entwicklung einer Testbibliothek zur Durchführung automatischer Testsequenzen

Eingesetzte Tools:
Target SW: Microtek C Compiler/Xray, Lauterbach Emulator
PC SW: Microsoft Visual C, MS-Excel, MS-Word


Zeitraum: 09/2001-02/2002  Projekt: Lichtsteuerungsrechner für ein militärisches Flugzeug

Burn-In Testsoftware

Hauptaufgabe:
Erweiterung des bestehenden Testrackkonzepts, damit gleichzeitig mehrere Units
mittels eines Testrack-PC´s getestet werden können.

- Machbarkeits- und Aufwandsabschätzung der Erweiterung am bestehenden Konzept
- Erstellen der Spezifikation
- Anpassung des Designs
- Implementierung und Integration der Änderungen
- Anpassung der bestehenden Acceptance Tests für Burn-In
- Synchronisation der Testsequenzen für Power-off mehrerer Units
- Usermanual und Interface Description

Eingesetzte Tools:
PC SW: Microsoft Visual C, Bibliotheken von LabWindows/CVI, MS-Excel VBA Makros,
Teamwork, MS-Word


Zeitraum: 04/2000-08/2001  Projekt: Display Management Computer des Airbus A340
Aufbauend auf dem zuvor entwickelten Testkonzept für Testracks.

Hauptaufgabe:
Unterstützung der Testabteilung beim Einsatz des zuvor entwickelten Testkonzepts,
Konfiguration und Inbetriebnahme des Testracks, Behebung von Fehlfunktionen und
Implementierung projektspezifischer Erweiterungen, Entwicklung von Testsoftware
für jede Hardware Funktionalität des Targetrechners.

Target SW:
- Device Treiber für UART, Flash Memory und Discrete I/O
- Memory Tests (Adress-, Daten-, Zellen- und Checksum Test)
- Testsoftware für Discrete I/O-Signale und ARINC429
- Erweiterung der vorhandenen Monitor Software

PC SW:
- Excel Makros zum Erstellen von Konfigurationsdateien
- Inbetriebnahme des Testracks, Fehlerbeseitigung
- Tests der HW-Funktionen (Stimulieren/Lesen von Signalen des Testracks,
Target Monitor Software über RS232 kommandieren/Empfangsdaten auswerten)

Hardware: MPC603, SRAM, FLASH Memory, proprietäres EPLD (Fa. Thales), UART,
ARINC429, ARINC629, Discrete I/O

Eingesetzte Tools:
Target SW: Diab Data Compiler, Make, Emacs, C-Shell, HP Agilent Probe, SingleStep
PC SW: Microsoft Visual C, MS-Excel, MS-Word


Zeitraum: 07/1998-03/2000  Projekt: Neues Testkonzept für Testracks (Testbench Basis-SW)
Entwicklung eines neuen Testkonzeptes für Board- und Unittestracks zur automatischen
Durchführung von Testsequenzen und Protokollierung.

Entwicklung eines hierarchischen Systems bestehend aus mehreren Programmen,
die über Shared Memory Daten austauschen. Über ein Interface lassen sich die
Signale des Testracks steuern und Daten von mehreren Applikationen lesen.
Programme mit Bedienoberflächen, die das Zusammenstellen einer Testsequenz,
Datenvisualisierung und die automatische Protokollierung durchführen, runden
das System ab.
Für jedes PC-Interface (z.B. DIO, DA, AD, Timer, ARINC629, etc.) wurde eine
Treibertask entwickelt, die über ein Textfile konfiguriert werden kann.
Die Tests sind jeweils Exe-Dateien, die über DLLs mit der Testrack Basis-SW
Daten austauschen.

Sonstige Tätigkeiten:
Erstellen von Usermanual, Guidelines zur Erweiterung und Konfiguration.

Das Testkonzept wurde nach Anforderungen der Testabteilung selbstständig
und ohne fremde Hilfe von mir entwickelt. Es hat sich etabliert und wird seit Jahren
gepflegt und weiterentwickelt.

Eingesetzte Tools und Techniken:
PC SW: Microsoft Visual C (Win32 API: Memory Mapped Files, Interprozess-
kommunikation, Multitasking/threading; Synchronisation mit Mutex, Semaphoren,
Events, Critical Sections), GUI Applikationen teilweise in Visual Basic
(integriert über eine DLL), Bibliotheken von LabWindows/CVI,
Excel Makros zur Generierung der Signaldaten

Aus- und Weiterbildung

Aus- und Weiterbildung

seit 10/2006
freiberuflich Softwareentwickler

07/1998-09/2006
festangestellter Softwareentwickler bei Diehl Avionik Systeme GmbH

02/1998-06/1998 FH Frankfurt
Mitarbeit an einem Forschungsprojekt in Zusammenarbeit mit der
Fa. Fresenius Medical Care Deutschland GmbH im Anschluss an die Diplomarbeit.

03/1994-01/1998
Studium der Technischen Informatik an der FH Frankfurt
Abschluss: Dipl.-Ing.(FH), Abschlussnote 1,2
Diplomarbeit: "Analoge Signalaufbereitung, Digitalisierung und Verarbeitung

  mittels Mikrocontroller"

  (ausgezeichnet vom VDE-Bezirksverein Frankfurt am Main)


03/1992-01/1994
Zweijährige Fachschule für Technik
Fachrichtung Elektrotechnik, Schwerpunkt Energieelektronik
Abschluss: Staatlich geprüfter Techniker
(zusätzlich: Ausbildereignungsprüfung)

02/1989-02/1992
Energieanlagenelektroniker in der Hoechst AG
Abteilung Aufzüge/Kräne

09/1985-01/1989
Ausbildung zum Energieanlagenelektroniker
Abschluss: Facharbeiterbrief

Position

Position

Software development for safety critical Embedded Systems,  
Requirements Engineering

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Methoden:
=========
SA/SD (Strukturierte Analyse und strukturiertes Design)
Ereignisgesteuerte, strukturierte Programmierung
Objektorientierte Programmierung

Produkte:
=========
Konfigurations- und Versionsmanagement: Rational ClearCase, Serena PVCS, SVN, CVS, GIT
Requirement Spezifikation: Telelogic Doors
Problemreport und Änderungsmanagement: Rational ClearQuest, Serena Teamtrack
Software-Modellierung und Design: Teamwork, Telelogic Rhapsody
Embedded Compiler: Wind River Diab Data, Green Hills Multi mit RTOS Integrity, CodeWarrior, Keil MDK,
TI Code Composer
Emulator Tools: Lauterbach Trace32, Single Step, Green Hills Multi
Echtzeitbetriebssystem: Green Hills Integrity, Integrity-178B
Statische Codeanalyse: PC-Lint, Logiscope, QA Systems QA-C
Code Verifikation: MathWorks Polyspace Client für C
PC Software: Microsoft Visual Studio, LabWindows/CVI, GNU Compiler gcc, DDD
Dokumentation: Microsoft Office (Excel, Word, PowerPoint)

Erfahrungen in den Bereichen:
=============================
Echtzeitprogrammierung in sicherheitsrelevanten Systemen
Software Lifecycle nach DO178B, standards: ABD0100, ARINC615A, ARINC653, ARINC429
Redundante Hardware für höchste Verfügbarkeit, Voting 2-aus-3,
POST und BITE-Konzepte (Cylic Test Sequenz, CMS-Protokoll fuer Interaktiv BITE mode),
Mikrocontrollerprogrammierung, Multiprozessorsysteme
Spezifikation, Design, Implementierung, Integration und Test von Embedded Software
Requirement Engineering, Validierung und Verifikation von Requirements
Review von Code und Dokumenten
System und CSCI Tests nach DO178B/C
Erstellen von Testkonzepten fuer Embedded Systeme, Entwicklung von Testtools
Applikationsprogrammierung
Projektabwicklung, Teamarbeit, eigenverantwortliches Arbeiten

Betriebssysteme

Echtzeitbetriebssysteme
RTOS-Integrity, Integrity-178B (Green Hills), ARINC-653 APEX API
MS-DOS
SUN OS, Solaris
Unix
Linux, Sun Solaris
Windows
NT, XP Professional, Windows 7

Programmiersprachen

Assembler
PowerPC Architektur und ARM-Cortex-M4 (Startup Code, Exception handling)
Basic
Visual Basic Applikationen (GUI/Win32), VBA für Excel
C
21+ Jahre professionelle Erfahrung
C++
Host Applikationen, Win32-API und MFC-Bibliotheken unter Visual Studio
Emacs
Fortran
Grundkenntnisse
Imake, GNU-Make, Make-Maker etc...
GNU-Make
Pascal
Turbo Pascal Grundkenntnisse
Perl
4+ Jahre professionelle Erfahrung (Testscripte)
Python
5+ Jahre professionelle Erfahrung (Testscripte)
Shell
C-Shell Scripte (Build Environment)

fundierte Kenntnisse:
Start-up SW in Assembler for PowerPc Architektur und ARM Cortex-M4:
Initialisierung CPU (BBC, L2U, Memory Protection, Stack Memory, Daten Initialisierung (ROM to RAM, loeschen BSS), Exception handling).
POST (power on selftest) Entwicklung: CPU Core und Exception Test, intrusive RAM Test, Watchdog Test, EDC RAM, Test diverser HW devices, Konfigurations und Konsistenz Tests.

BITE Testentwicklung (Built-In-Test-Equipment), Interaktive Tests nach ABD100

PC-SW: Win32 API (Memory Mapped Files bzw. Shared Memory, Multitasking/threading, Interprozess-Kommunikation (Mutex, Event-Flags, Semaphoren, etc.), GUI Bedienoberflächen, DLL)

Datenbanken

MySQL
Content Management System

Datenkommunikation

Ethernet
parallele Schnittstelle
Proprietäre Protokolle
RS232

Hardware

Ascii/X - Terminals
Bus
PCI, CAN, VME, A429, AFDX, I2C, SPI, RS232
Echtzeitsysteme
Green Hills Integrity Real-time Operating System
embedded Systeme
Anwendungsspezifische Computersysteme fuer Flugzeuge
Emulatoren
Trace32, Single Step, Green Hills Multi Debugger
Hardware entwickelt
Diplomarbeit, Messverstärker, diverse Einplatinen-Computer
Mikrocontroller
Freescale (NXP) MPC565, MPC555, MPC5607, ARM-Cortex-M4, 8051 Derivate
Motorola
68020, MPC603, MPC750, MPC107 (PCI-Bridge/MMU)
PC
Treiber für PC-Einsteckkarten (DIO, DA, AD, Timer, Ethernet)
Sensoren
Induktive Naeherungssensoren (ELDEC)
Siemens-SPS STEP x
Simatic S5 während der Techniker Ausbildung
Device Treiber für:
UART, EEPROM, Flash Memory, Nand-Flash Memory (mit Bad Block Management), EDC-RAM (Error Detecting and Correcting), Interface Module für Induktive Naeherungssensoren, AD/DA Wandler, Discrete I/O, PCI Bus Konfiguration MPC107, Arinc 429, CAN-Bus (TOUCAN MPC565), GPIO, I2C, DSPI, MAX6625, HOLD-3585, proprietaere LED-Matrix, Noritake VFD-Displays (GU3900, VFD-GU7806), DMA,
diverse Interrupt-handler
 
Bootloader für Firmware update via CAN-Bus oder RS232 
 
Round-Robin Scheduling für PowerPC-Architektur und ARM Cortex-M4,
Generisches Error-handling mittels System Call Exception and ausführen von Recovery Actions
 
 
 
 
 

Branchen

Branchen

Avionik, Luft- und Raumfahrt

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz
nicht möglich

Projekte

Projekte

Zeitraum: 07/2015 - Heute
Firma: Telair International GmbH in Miesbach

Projekt: Main Deck Cargo Loading System fuer Transportflugzeug Beluga-XL

Entwicklung aller benoetigten Device Treiber fuer Mikrocontroller MPC5605B:
(Startup-Code, PLL, Clock-Gating/Dividers fuer MCU Devices, PAD-Configuration,
Interrupt-Handler, GPIO, ADC, EMIOS (PWM, pulse-counting, frequency measurement),
CAN-Bus, I2C, DSPI, LINFLEX (UART-mode), CFLASH, DFLASH, DMA-controller, PIT)

Entwicklung von Bootloader SW die Update von Firmware (Bootloader oder Applikation SW)
oder Konfigurationsdaten ueber CAN-Bus ermoeglicht. POST des CPU-cores, RAM-Test,
CRC-check, Start der Applikation SW.

Entwicklung Round-Robin Scheduling fuer Core-Applikation SW:
Frame-Handler mittels PIT, Prozess-Liste terminiert mit IDLE-Prozess, Re-Entry
des Schedulers ueber Exception-Entry Stack, Deadline-Ueberwachung.

Entwicklung von Applikations SW fuer Power-Locking Unit und Power-Drive Unit:
Runtime Support, Device Treiber (FRAM, MAX6625), Konfiguration mittels Tabellen,
generisches Handling globaler Daten ueber Storage Management, Applikation State-Machine,
generischer Prozess fuer: BITE-Monitore, Failure-Log Memorisierung, AC-Phase Strommessung
mittels ADC getriggered ueber PIT und Datenabholung von DMA-controller.

Entwicklung von Applikation SW fuer Control-Panel:
Treiber fuer LED-Matrix basierend auf I2C, Treiber fuer Noritake VFD-Display
(ASCII + Graphik Mode, Menu-Loading, Scrolling, Cursor-Movement, Inverse, etc.),
Pushbutton Handler, Joystick, Emergency-Stop, Applikation State-Machine

Entwicklung von Applikation SW fuer Cargo Control Box:
Treiber fuer A429-Transceiver, reuse der vorhandenen Treiber und Core-Applikation Module,
deterministische Steuerung des CAN-Protokolls der 6-CAN-Busse, Applikation State-Machine.

Requirement Engineering:

Arichitektur Beschreibung und Detailed Design:
Konsistenz check Traceability von High-Level Requirements und Source Code
(Zuordnung HLR Tags in Code). Erstellung von Low-Level Requirements fuer alle vorhandenen Module der LRUs und des BOOT-Loaders.

Integration der Applikations SW auf Testrig System und Durchfuehrung von Test-Sessions
mit Airbus Testteam-Kollegen. Erstellen und Analyse von Problem Reports, Beseitigung von SW-Fehlverhalten auf System und Equipment Level.


Zeitraum: 01/2010 - 05/2015
Firma: Diehl Aerospace GmbH Frankfurt

Fortsetzung Projekt: DCMS System zur Steuerung und dem Monitoring der Rampe und Frachttür des Airbus A400M

Redesign von Data Loading Software nach Arinc615 fuer den Slave Computer des DCMS (RCDC). Protokoll zur Uebertragung der Datenfiles ueber CAN-Bus zum RCDC. Design und Implementierung von Programmierung der Daten ins Flash Memory, Speicherung der Konfigurationsdaten ins EEPROM, CRC und Konsistenzchecks.

Analyse und Loesung von Problem Reports sowohl der operationellen SW als auch der Equipment SW beider Computer des DCMS (RCDC und DCMU). Beseitigung von SW-Fehlverhalten bei System oder CSCI Tests. Unterstuetzung der HW-Entwicklung zur Verbesserung des Systemverhaltens des DCMS bei Power Cuts.

Entwicklung von Device Treibern fuer geaenderte HW-Funktionen. Design und Implementierung von diversen Ueberwachungsfunktionen (Monitoren) der dreifach redundanten HW. Kombinierte Monitorfunktionen (double fault monitors, Cyclic Test Sequenz). Entwicklung des interaktiven BITE Modes nach ABD100; Protokoll zwischen CMS und Target, Reporten der diversen Fehlernachrichten.

Implementierung in Ansi-C und teilweise in Assembler fuer die PowerPC Architectur. Entwicklung von Engineering Tests in Python zur funktionalen Verifikation.

Überprüfung der Erfüllung geforderter Daten-Update-Raten und Performance Requirements. Codeanalyse mit Polyspace. Optimierung und Anpassung der Implementierung.

Update der "Software Requirement Specification" (SRS) entsprechend der neuen funktionalen Baseline der "System Equipment Specification" (SES).

Unterstützung bei Architektur und Detailed Design mit Telelogic Rhapsody Erstellung von Aktivity-Diagrammen in UML

Erstellung eines Konzepts zum Testen der BITE-Monitore der operationellen SW mittels BDM/JTAG-Debugger basierend auf Practice-Scripten (Lauterbach T32 Scriptsprache)


Zeitraum: 05/2009 ? 12/2009
Firma: EADS Standort Ulm
Projekt: Resident SW für "Mission Management Computer" (MMC) und
"Defense Aid Computer" (DAC) des Militärischen Transportflugzeugs A400M

Analyse von Hardwareänderungen und deren Einfluss auf die Resident Software des
MMC. Anpassung von Software Requirements der Resident SW aufgrund geänderter
System Equipment Spcezifikation und Änderungsforderungen des Validierungs- und
Verifikationsteams.

Implementierung der geänderten Requirements in ANSI C und teilweise in
Assembler für MPC750 auf dem RTOS INTEGRITY der Fa. Green Hills.

Performanceanalyse von Funktionen der Resident SW mit hohem Rechenzeitaufwand
(SDRAM ECC Initialisierung, Elfloader, CRC32 Check, Memcpy Funktion von ROM zu
RAM). Optimierung der HW Einstellungen (Caches, Alignment, Nutzung von
HW Funktionalitäten des Marvell System Controllers) und der SW Algorithmen.

Erstellen eines Testkonzeptes zur Durchführung von automatischen Engineering
Tests. Implementierung von Testfunktionen in die Debugversion der Target SW
die mittels serieller Link vom Host PC kommandiert werden können.

Implementierung der Engineering Tests mittels Scripten in Perl.
Erstellen von Testreports und Dokumentation der Engineeringtests und des
Testsystems.

Integration der Resident SW, Analyse und Lösung auftretender Fehlfunktionen.

Software Tools:
Telelogic Doors: Requirement Engineering, Serena PVCS: Konfigurations-Management,
Serena Teamtrack: Problemreporting, RTOS: Green Hills INTEGRITY-178B,
Target Compiler: Green Hills Multi Compiler Suite,
Programmiersprache: ANSI-C, Assembler (PowerPC Architektur),
Scriptsprache: Perl, Dokumentation: Microsoft Office, Proprietäre Tools


Zeitraum: 01/2009-04/2009 (kurz, weil das Projekt temporär vom Auftraggeber eingestellt
wurde)
Firma: Diehl Aerospace GmbH Frankfurt
Projekt: Steuercomputer für die Rampe und Frachttür des Airbus A400M
Überarbeitung des BITE Konzeptes des RCDC:
- Performance-Analyse
- Optimierung der Interlane-Kommunikation zwischen den drei Prozessorboards
- Überarbeitung des Monitor Prozesses und optimierung der Monitor Kommandierung

Änderung von BITE Monitoren aufgrund von DCRs:
- Erstellung von SRS-Requirements für geänderte und zusätzliche BITE Monitore
- Überarbeiten der bestehenden Fehler Erkennungsprinzipien
- Implementierung und Integration der BITE Monitor Funktionen

Entwicklung nach Designstandard: RTCA DO178B (assurance Level A)
Implementierung in C
Prozessor: Mikrocontroller MPC565 (Derivat des MPC555)
Plattform: Proprietäres Arinc 653 basierendes Echtzeit-Betriebssystem


Zeitraum 12/2007-12/2008
Firma: EADS Standort Ulm
Projekt: Mission Management Computer des Airbus A400M
Treiberentwicklung im Rahmen der Target Basis-SW:
- Treiber für ein proprietäres Flash-PMC Modul zum Löschen/Schreiben/Lesen von
  Nand-Flash Devices. Entwicklung eines Bad Block Management Algorithmus
- NVM Management Treiber zur dynamischen Memorisierung von "Shop Data" auf
  Sektoren des externen Flash Memory

Entwicklung der Resident Software für einen Rechner mit Multiprozessor-Architektur:
- Erstellung von SRS-Requirements
- Konzeptentwicklung, Implementierung und Integration der Resident SW
- Analyse und Lösung auftretender Fehlfunktionen
- Bearbeitung von Problem Reports

Startup und Power-on-Selftest:
- Entwicklung eines generischen Moduls zur Durchführung von POST auf dem Target
- Entwicklung und implementierung von POST Tests, u.a. Initialisierung und Test
  der ECC Funktionalität von ECC SDRAM, Intrusive RAM Test mit Relokation des
  Stack Memory, Watchdog Test
- Integration und Test des POST und des Startup/Restart Verhaltens des Targetrechners.

Implementierung von Selftest Funktionen zur Durchführung von Engineering Tests
Entwicklung von Perl Test-Skripten zum Testen der Treiber als auch der Resident SW.

Requirement Engineering:
- Erstellen von Low Level Requirements (LLRs) und Software Architektur Diagrammen
- Zuordnung der LLRs zu den HLRs der SRS

Entwicklungsumgebung:
Embedded Echtzeitbetriebssystem INTEGRITY und
Multi C/C++ Compiler Suite der Fa. Green Hills
Target CPU: PowerPC MPC750GX (Freescale)
System Controller: Discovery III MV64460 (Marvell)

Versionsverwaltung: PVCS


Zeitraum 10/2006-11/2007
Firma: Diehl Aerospace GmbH Frankfurt
Projekt: Steuercomputer für die Rampe und Frachttür des Airbus A400M


Hauptaufgaben:
Mitarbeit an der Erstellung der Software Requirement Spezifikation
- textuelle Anforderungen an die operationelle Software abgeleitet von
  der System Spezifikation
- Analyse bestehender Requirements und Klärung technischer Fragen mit
  der Systemgruppe
- Spezifikation von BITE Requirements (Build In Test Equipment)
  zur Erkennung von Fehlfunktionen oder fehlerhaften Hardwarekomponenten

Mitarbeit an der Software-Architektur
- Aufteilung der Software in Komponenten und deren Schnittstellen
- Definition der einzelnen Prozesse und deren Interaktion mit anderen
- Entwurf des Prozess Schedulings (wann, in welcher Reihenfolge und
wie oft ein Prozess ausgeführt werden soll)

Implementierung, Integration und Test von Treibern für diverse Hardware
Interfaces
- Discrete I/O, Analog, UART, EEPROM, Arinc 429, Sensor Interface Module,
  BITE Memory Manager, Interlane Kommunikation der redundanten
  Rechnerkarten, proprietäre PLDs

Timing Analyse und Erstellung der Prozess Aufruftabelle

Synchronisationsprozess der dreifach redundanten Prozessorboards

Entwicklung des vollständigen BITE Konzeptes des Steuercomputers
- generischer Teil zum selektiven Aufruf der Selbsttest-Funktionen
- Verwaltung der Fehlerzustände
- Generierung der Fehlermeldungen und deren Weiterbearbeitung
  (Versendung über CAN-Bus und Speicherung im BITE Memory)
- Realisierungskonzept der zahlreichen Selbsttest-Funktionen
Implementierung, Integration und Test des BITE Konzeptes

Performance Analyse und Erstellung eines Verteilungsschemas
das angibt wann und wie oft eine Selbsttest-Funktion auszuführen ist

Entwicklung des vollständigen POST (Power-On Self-Test) und der Startup
Funktionen des Steuercomputers nach erfolgter Spannungsunterbrechung.

Entwicklung nach Designstandard: RTCA DO178B (assurance Level A)
Implementierung in C, teilweise in Assembler
(Processing Core Test, Intrusive RAM Test und Exception Test),
Prozessor: Mikrocontroller MPC565 (Derivat des MPC555)
Plattform: Proprietäres Arinc 653 basierendes Echtzeit-Betriebssystem

Eingesetzte Tools:
Dokumente: Doors, MS-Word, MS-Excel, ClearQuest
Design:    Rhapsody
Target SW: Wind River Diab Data Compiler, Make, Lclint, Lauterbach Emulator,

Trace32, Emacs, C-Shell
Versionsverwaltung: ClearCase
Tools: gcc, ddd, Shell-Scripte


Zeitraum: 06/2003-09/2006
Projekt: Tür- und Notrutschensystem des Airbus A380

Zeitraum: 04/2006-07/2006 Applikation zum Laden der operationellen Software
und der Konfigurationsdateien


Hauptaufgabe:
Gleichzeitiges Laden von Software oder Konfigurationsdateien auf die
3 Prozessorboards, Durchführung von Konsistenzchecks, automatische
Generierung eines Protokolls.

- Anpassung des UART Treibers der Target SW
(Ringbuffer, Checksum Algorithmus, Konsistenzchecks)
- Lade Applikation auf dem PC
(Win32, Interprozesskommunikation, Multi-Threading)
- User Manual

Eingesetzte Tools:
PC SW: Microsoft Visual C, Word, proprietäre Testrack SW


Zeitraum: 01/2004-09/2006  Operationelle Software der zentralen Rechnereinheit

(Doors and Slides Management Computer)
Der Zentralrechner ist ein dreifach redundantes System mit CAN-Bus, AFDX-Bus,
UART, Discrete I/O und Sensor Interface.

Hauptaufgaben:
Software Design und Dokumentation, POST (Power-On Self-Test) und Startup,
Synchronisation der Prozessorboards, Device Treiber für UART und EEPROM,
Build-In Tests, Memory Interface, Sensor Interface, Problemanalyse,
Softwarepflege

- Software Requirement Spezifikation
- Mitarbeit an der Software-Architektur
- Design verschiedener Softwaremodule
- Implementierung, Test, Hardware/Software Integration
- Analyse und Behebung auftretender Probleme
- Bearbeitung der Validierungsreports des Designs und der CSU Tests

Entwicklung nach Designstandard: RTCA DO178B (assurance Level A)
Implementierung in C, teilweise in Assembler
(Processing Core Test und Exception Test),
Prozessor: Mikrocontroller MPC565 (Derivat des MPC555)

Eingesetzte Tools:
Dokumente: Doors, Teamwork, MS-Word, MS-Excel, ClearQuest
Target SW: Diab Data Compiler, Make, Lclint, Lauterbach Emulator, Trace32,

ClearCase, Emacs, C-Shell
Tools: gcc, Shell-Scripte

Zeitraum: 06/2003-12/2003  Abnahme Testsoftware (Acceptance Test)
Hauptaufgabe:
Target SW: Treiber für Kommunikation und Synchronisation der 3 Prozessorboards
untereinander, Tests für jede Hardware-Funktionalität des 3-fach redundanten
Zentralrechners, Erweiterung der Target Monitor Software zur Kommandierung
der Tests

- Spezifikation der Tests für die verschiedenen HW-Funktionen
- Design der Modultests
- Implementierung, Test, Hardware/Software Integration, Inbetriebnahme
- Problemanalyse und -lösung

Implementierung in C, teilweise in Assembler
Hardware: 3 Prozessorboards mit jeweils einem Mikrocontroller MPC565, UART,
CAN-Bus, AFDX-Bus, proprietäre PLDs, Discrete I/O und Sensor Interface

PC SW: Entwicklung einer Bibliothek zur automatischen Durchführung von
Testsequenzen und Protokollierung.

Eingesetzte Tools:
Target SW: Diab Data Compiler, Make, Lauterbach Emulator, Trace32, ClearCase
Dokumente: Doors, Word, Excel, ClearQuest
PC SW: Microsoft Visual C (Win32 API: Interprozesskommunikation,
Multithreading/tasking; Synchronisation mit Mutex, Semaphoren, Events,
Critical Sections)

Zeitraum: 09/2002-05/2003  Projekt: Graphik Generierungs Modul für die Cockpit Displays
des Airbus A380

Acceptance Testsoftware

Hauptaufgabe:
Target SW: Konfiguration PCI-Bus/MMU Controller MPC107, Entwicklung von Tests
für jedes HW-Modul, Hardware Integrationssupport

- Spezifikation der Tests für die verschiedenen HW-Funktionen
- Design der Modultests
- Implementierung, Test, Hardware/Software Integration, Inbetriebnahme
- Problemanalyse und -behebung

Implementierung in C, teilweise in Assembler
Hardware: MPC750, proprietäres EPLD Graphic/PCI-Bus Controller (Fa. Thales),
PCI Bridge/Memory Controller MPC107, UART

PC SW: Entwicklung einer Testbibliothek zur Durchführung automatischer
Testsequenzen. Über ein Treiber Interface wird der Targetrechner mittels
Signalen eines Testracks stimuliert und über ein serielles Interface mit der
Target Testsoftware Kommandos und Statusdaten übertragen. Interface zur
automatischen Generierung des Testprotokolls.


Zeitraum: 02/2002-08/2002  Projekt: Video Schalteinheit für ein militärisches Flugzeug

Acceptance Testsoftware

Hauptaufgabe:
Target SW:
Entwicklung von Testsoftware für jedes HW-Modul, Hardware Integrationssupport,
Dokumentation
- Erstellen der Testspezifikation der verschiedenen HW-Funktionen
- Design der Modultests
- Implementierung, Test, Hardware/Software Integration, Inbetriebnahme
- Problemanalyse und -behebung

Implementierung in C, teilweise in Assembler
Hardware: 68020, Discrete I/O, AD, DA, UART, Milbus 1553

PC SW:
Treiber für neue Testrack Interfaces (seriell gesteuertes Power Supply,
Timer Karte zur Frequenz- und Zeitmessung),
Entwicklung einer Testbibliothek zur Durchführung automatischer Testsequenzen

Eingesetzte Tools:
Target SW: Microtek C Compiler/Xray, Lauterbach Emulator
PC SW: Microsoft Visual C, MS-Excel, MS-Word


Zeitraum: 09/2001-02/2002  Projekt: Lichtsteuerungsrechner für ein militärisches Flugzeug

Burn-In Testsoftware

Hauptaufgabe:
Erweiterung des bestehenden Testrackkonzepts, damit gleichzeitig mehrere Units
mittels eines Testrack-PC´s getestet werden können.

- Machbarkeits- und Aufwandsabschätzung der Erweiterung am bestehenden Konzept
- Erstellen der Spezifikation
- Anpassung des Designs
- Implementierung und Integration der Änderungen
- Anpassung der bestehenden Acceptance Tests für Burn-In
- Synchronisation der Testsequenzen für Power-off mehrerer Units
- Usermanual und Interface Description

Eingesetzte Tools:
PC SW: Microsoft Visual C, Bibliotheken von LabWindows/CVI, MS-Excel VBA Makros,
Teamwork, MS-Word


Zeitraum: 04/2000-08/2001  Projekt: Display Management Computer des Airbus A340
Aufbauend auf dem zuvor entwickelten Testkonzept für Testracks.

Hauptaufgabe:
Unterstützung der Testabteilung beim Einsatz des zuvor entwickelten Testkonzepts,
Konfiguration und Inbetriebnahme des Testracks, Behebung von Fehlfunktionen und
Implementierung projektspezifischer Erweiterungen, Entwicklung von Testsoftware
für jede Hardware Funktionalität des Targetrechners.

Target SW:
- Device Treiber für UART, Flash Memory und Discrete I/O
- Memory Tests (Adress-, Daten-, Zellen- und Checksum Test)
- Testsoftware für Discrete I/O-Signale und ARINC429
- Erweiterung der vorhandenen Monitor Software

PC SW:
- Excel Makros zum Erstellen von Konfigurationsdateien
- Inbetriebnahme des Testracks, Fehlerbeseitigung
- Tests der HW-Funktionen (Stimulieren/Lesen von Signalen des Testracks,
Target Monitor Software über RS232 kommandieren/Empfangsdaten auswerten)

Hardware: MPC603, SRAM, FLASH Memory, proprietäres EPLD (Fa. Thales), UART,
ARINC429, ARINC629, Discrete I/O

Eingesetzte Tools:
Target SW: Diab Data Compiler, Make, Emacs, C-Shell, HP Agilent Probe, SingleStep
PC SW: Microsoft Visual C, MS-Excel, MS-Word


Zeitraum: 07/1998-03/2000  Projekt: Neues Testkonzept für Testracks (Testbench Basis-SW)
Entwicklung eines neuen Testkonzeptes für Board- und Unittestracks zur automatischen
Durchführung von Testsequenzen und Protokollierung.

Entwicklung eines hierarchischen Systems bestehend aus mehreren Programmen,
die über Shared Memory Daten austauschen. Über ein Interface lassen sich die
Signale des Testracks steuern und Daten von mehreren Applikationen lesen.
Programme mit Bedienoberflächen, die das Zusammenstellen einer Testsequenz,
Datenvisualisierung und die automatische Protokollierung durchführen, runden
das System ab.
Für jedes PC-Interface (z.B. DIO, DA, AD, Timer, ARINC629, etc.) wurde eine
Treibertask entwickelt, die über ein Textfile konfiguriert werden kann.
Die Tests sind jeweils Exe-Dateien, die über DLLs mit der Testrack Basis-SW
Daten austauschen.

Sonstige Tätigkeiten:
Erstellen von Usermanual, Guidelines zur Erweiterung und Konfiguration.

Das Testkonzept wurde nach Anforderungen der Testabteilung selbstständig
und ohne fremde Hilfe von mir entwickelt. Es hat sich etabliert und wird seit Jahren
gepflegt und weiterentwickelt.

Eingesetzte Tools und Techniken:
PC SW: Microsoft Visual C (Win32 API: Memory Mapped Files, Interprozess-
kommunikation, Multitasking/threading; Synchronisation mit Mutex, Semaphoren,
Events, Critical Sections), GUI Applikationen teilweise in Visual Basic
(integriert über eine DLL), Bibliotheken von LabWindows/CVI,
Excel Makros zur Generierung der Signaldaten

Aus- und Weiterbildung

Aus- und Weiterbildung

seit 10/2006
freiberuflich Softwareentwickler

07/1998-09/2006
festangestellter Softwareentwickler bei Diehl Avionik Systeme GmbH

02/1998-06/1998 FH Frankfurt
Mitarbeit an einem Forschungsprojekt in Zusammenarbeit mit der
Fa. Fresenius Medical Care Deutschland GmbH im Anschluss an die Diplomarbeit.

03/1994-01/1998
Studium der Technischen Informatik an der FH Frankfurt
Abschluss: Dipl.-Ing.(FH), Abschlussnote 1,2
Diplomarbeit: "Analoge Signalaufbereitung, Digitalisierung und Verarbeitung

  mittels Mikrocontroller"

  (ausgezeichnet vom VDE-Bezirksverein Frankfurt am Main)


03/1992-01/1994
Zweijährige Fachschule für Technik
Fachrichtung Elektrotechnik, Schwerpunkt Energieelektronik
Abschluss: Staatlich geprüfter Techniker
(zusätzlich: Ausbildereignungsprüfung)

02/1989-02/1992
Energieanlagenelektroniker in der Hoechst AG
Abteilung Aufzüge/Kräne

09/1985-01/1989
Ausbildung zum Energieanlagenelektroniker
Abschluss: Facharbeiterbrief

Position

Position

Software development for safety critical Embedded Systems,  
Requirements Engineering

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Methoden:
=========
SA/SD (Strukturierte Analyse und strukturiertes Design)
Ereignisgesteuerte, strukturierte Programmierung
Objektorientierte Programmierung

Produkte:
=========
Konfigurations- und Versionsmanagement: Rational ClearCase, Serena PVCS, SVN, CVS, GIT
Requirement Spezifikation: Telelogic Doors
Problemreport und Änderungsmanagement: Rational ClearQuest, Serena Teamtrack
Software-Modellierung und Design: Teamwork, Telelogic Rhapsody
Embedded Compiler: Wind River Diab Data, Green Hills Multi mit RTOS Integrity, CodeWarrior, Keil MDK,
TI Code Composer
Emulator Tools: Lauterbach Trace32, Single Step, Green Hills Multi
Echtzeitbetriebssystem: Green Hills Integrity, Integrity-178B
Statische Codeanalyse: PC-Lint, Logiscope, QA Systems QA-C
Code Verifikation: MathWorks Polyspace Client für C
PC Software: Microsoft Visual Studio, LabWindows/CVI, GNU Compiler gcc, DDD
Dokumentation: Microsoft Office (Excel, Word, PowerPoint)

Erfahrungen in den Bereichen:
=============================
Echtzeitprogrammierung in sicherheitsrelevanten Systemen
Software Lifecycle nach DO178B, standards: ABD0100, ARINC615A, ARINC653, ARINC429
Redundante Hardware für höchste Verfügbarkeit, Voting 2-aus-3,
POST und BITE-Konzepte (Cylic Test Sequenz, CMS-Protokoll fuer Interaktiv BITE mode),
Mikrocontrollerprogrammierung, Multiprozessorsysteme
Spezifikation, Design, Implementierung, Integration und Test von Embedded Software
Requirement Engineering, Validierung und Verifikation von Requirements
Review von Code und Dokumenten
System und CSCI Tests nach DO178B/C
Erstellen von Testkonzepten fuer Embedded Systeme, Entwicklung von Testtools
Applikationsprogrammierung
Projektabwicklung, Teamarbeit, eigenverantwortliches Arbeiten

Betriebssysteme

Echtzeitbetriebssysteme
RTOS-Integrity, Integrity-178B (Green Hills), ARINC-653 APEX API
MS-DOS
SUN OS, Solaris
Unix
Linux, Sun Solaris
Windows
NT, XP Professional, Windows 7

Programmiersprachen

Assembler
PowerPC Architektur und ARM-Cortex-M4 (Startup Code, Exception handling)
Basic
Visual Basic Applikationen (GUI/Win32), VBA für Excel
C
21+ Jahre professionelle Erfahrung
C++
Host Applikationen, Win32-API und MFC-Bibliotheken unter Visual Studio
Emacs
Fortran
Grundkenntnisse
Imake, GNU-Make, Make-Maker etc...
GNU-Make
Pascal
Turbo Pascal Grundkenntnisse
Perl
4+ Jahre professionelle Erfahrung (Testscripte)
Python
5+ Jahre professionelle Erfahrung (Testscripte)
Shell
C-Shell Scripte (Build Environment)

fundierte Kenntnisse:
Start-up SW in Assembler for PowerPc Architektur und ARM Cortex-M4:
Initialisierung CPU (BBC, L2U, Memory Protection, Stack Memory, Daten Initialisierung (ROM to RAM, loeschen BSS), Exception handling).
POST (power on selftest) Entwicklung: CPU Core und Exception Test, intrusive RAM Test, Watchdog Test, EDC RAM, Test diverser HW devices, Konfigurations und Konsistenz Tests.

BITE Testentwicklung (Built-In-Test-Equipment), Interaktive Tests nach ABD100

PC-SW: Win32 API (Memory Mapped Files bzw. Shared Memory, Multitasking/threading, Interprozess-Kommunikation (Mutex, Event-Flags, Semaphoren, etc.), GUI Bedienoberflächen, DLL)

Datenbanken

MySQL
Content Management System

Datenkommunikation

Ethernet
parallele Schnittstelle
Proprietäre Protokolle
RS232

Hardware

Ascii/X - Terminals
Bus
PCI, CAN, VME, A429, AFDX, I2C, SPI, RS232
Echtzeitsysteme
Green Hills Integrity Real-time Operating System
embedded Systeme
Anwendungsspezifische Computersysteme fuer Flugzeuge
Emulatoren
Trace32, Single Step, Green Hills Multi Debugger
Hardware entwickelt
Diplomarbeit, Messverstärker, diverse Einplatinen-Computer
Mikrocontroller
Freescale (NXP) MPC565, MPC555, MPC5607, ARM-Cortex-M4, 8051 Derivate
Motorola
68020, MPC603, MPC750, MPC107 (PCI-Bridge/MMU)
PC
Treiber für PC-Einsteckkarten (DIO, DA, AD, Timer, Ethernet)
Sensoren
Induktive Naeherungssensoren (ELDEC)
Siemens-SPS STEP x
Simatic S5 während der Techniker Ausbildung
Device Treiber für:
UART, EEPROM, Flash Memory, Nand-Flash Memory (mit Bad Block Management), EDC-RAM (Error Detecting and Correcting), Interface Module für Induktive Naeherungssensoren, AD/DA Wandler, Discrete I/O, PCI Bus Konfiguration MPC107, Arinc 429, CAN-Bus (TOUCAN MPC565), GPIO, I2C, DSPI, MAX6625, HOLD-3585, proprietaere LED-Matrix, Noritake VFD-Displays (GU3900, VFD-GU7806), DMA,
diverse Interrupt-handler
 
Bootloader für Firmware update via CAN-Bus oder RS232 
 
Round-Robin Scheduling für PowerPC-Architektur und ARM Cortex-M4,
Generisches Error-handling mittels System Call Exception and ausführen von Recovery Actions
 
 
 
 
 

Branchen

Branchen

Avionik, Luft- und Raumfahrt

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.