Entwicklung der Firmware für einen digitalen Videoaufzeichnungsrekorder (Nahverkehr). C++-Programmierung unter embedded Linux.
Aufsetzen und Pflege des embedded Linux-Systems mit Bob Build Tool. Programmierung der Firmware mit Schwerpunkt bei Aufzeichnung und Netzwerkfähigkeiten.
Mitarbeit an der Entwicklung eines Automotive Infotainment System. C++-Programmierung unter Linux. Teilweise hardwarenahe Entwicklung am Grafiksystem.
Erweiterung eines Viewers für Videoaufzeichnungen. Programmierung in C++ / C# / .Net unter Windows.
Erweiterung der FW eines Videoaufzeichnungsrekorders für den öffentlichen Personennahverkehr (Optimierung der Aufzeichnung und des Aufzeichnungsformats; Netzwerkfähigkeiten). C++-Programmierung unter embedded Linux.
Reengineering einer vorhandenen Leiterplatte zur Signalübertragung für die Halbleiterindustrie. Schaltung und Leiterplattenentwurf mit Altium Designer. Aufbau von Prototypen.
Projekte
Zeitraum: 2005 - 2014
Projekt: Videoaufzeichnungssystem für Nahverkehr
Hard- und Softwareentwicklung für einen Videorecorder zum Einsatz in Fahrzeugen
des ÖPNV.
Komplette HW-Entwicklung der Elektronik mit PowerPC Prozessor, FPGA und
Video-IC. Inbetriebnahme und Board Bring-up der Prototypen.
FPGA-Entwicklung (Xilinx Spartan-3) in VHDL, wobei der FPGA als Datenrouter
fungiert, die Schnittstelle zum Datenträger realisiert (IDE/ATA) und andere
Hardware anbindet.
Aufsetzen eines Linux-Systems "from scratch". Eigenes kleines Buildsystem
mit Make und Shell-Skripten zum automatischen Generieren des Linux-Systems.
Hardware-nahe SW-Entwicklung in C beim Anpassen des Bootloaders (u-boot) und
Linux-Kernels an das System. Schreiben von Kernel-Treibern für den Videoeinzug
und die IDE/ATA-Schnittstelle. Bereitstellen einer low-level Schicht für die
Gerätefirmware zum Zugriff auf die Hardware.
Ab 2010 Gesamtverantwortung für die komplette Firmware (C/C++).
DV-Basis: Sprachen: VHDL, C, C++, Make, Shell
Tools: Ultiboard, Xilinx ISE, Make, Shell, GCC
Versionsverwaltung: Subversion
Plattform: Linux
Zeitraum: 2010 - 2014
Projekt: Viewer für Videoaufzeichnungen
Realisierung eines Anzeigeprogramms für Videoaufzeichnungen unter Windows. Das
Programm liest von der Wechselfestplatte, separiert die Daten und bringt sie
zur Anzeige. Es kommen mehrere Threads zum Einsatz, die über Events und einen
FIFO kommunizieren.
Die Oberfläche nutzt Windows Form und WPF/XAML unter .NET.
Zum Lesen von Festplatte und Speichern von Videos kommen externe Third-Party
Bibliotheken zum Einsatz. Für die Verwendung im Projekt wurden Wrapper in C++
geschrieben.
Im ersten Jahr begleitender Entwickler, dann gesamtverantwortlich für das
Projekt.
DV-Basis: Sprachen, C#, C++
Tools: MS Visual C#, MS Visual C++
Versionsverwaltung: Git
Plattform: Windows
Zeitraum: 2013 - 2014
Projekt: Software zum Betrachten von Videostreams
Viewer für Netzwerk-Videostreams auf einem Panel-PC (x86) mit Touchscreen unter
Linux. Die grafische Oberfläche wurde mit GTK+ realisiert und für die
Touchscreen-Bedienung optimiert. Zum Dekomprimieren der Videostreams kam das
GStreamer-Framework zum Einsatz. Die Software in C++ baut die Oberfläche auf,
nutzt Sockets für die Kommunikation mit den Systemen im Netzwerk und steuert
die GStreamer-Bibliothek.
Die Software zeigt Live-Bilder von Netzwerk-Kameras und erlaubt das Navigieren
in Aufzeichnungen von Rekordern.
DV-Basis: Sprachen: C++
Tools: GNU Autotools, GCC, GTK+, GStreamer
Versionsverwaltung: Git
Plattform: Linux (Fedora)
Zeitraum: 2012 - 2013
Projekt: Funk-Video-Übertragungssystem mit Freescale i.MX5 ARM Prozessor
Aufsetzen des embedded Linux-Systems mit Buildroot. Einbinden der eigenen
Software in Buildroot.
Hardware-nahe Programmierung zum Ansteuern der Videohardware im i.MX Prozessor
in C. Netzwerkprogrammierung unter Linux (Sockets) für die Übertragung zwischen
den Systemen.
Testsoftware auf PC (Desktop-Linux) für einfacheren Test/Entwicklung mit
Qt-Framework und USB-Cam Anbindung.
DV-Basis: Sprachen: C, Shell, Make
Tools: Buildroot, Make, GCC, Qt
Versionsverwaltung: Git
Plattform: Linux
Zeitraum: 2013 - 2014
Projekt: Umschaltbox für analoges Video
Hardwareentwicklung vom Design über die Schaltung bis zum Layout des PCB.
Inbetriebnahme der Prototypen.
Programmierung der Firmware für den Controller der LPC-Serie (ARM Prozessor)
von NXP.
DV-Basis: Sprachen: C
Tools: OrCAD, Eagle
Versionsverwaltung: Git
Zeitraum: 2012 - 2014
Projekt: diverse HW-Module zur Evaluierung von seriellen Schnittstellen-IC
Entwicklung mehrerer Module mit seriellen Videoübertragungsschaltkreisen.
High-Speed LVDS Design.
DV-Basis: Tools: OrCAD, Eagle
Zeitraum: 2012
Projekt: Prozessormodul zur Evaluierung
Hardwareentwicklung eines Aufsatzmoduls zur Evaluierung eines Prozessors für
die Bildverarbeitung in automotive Umgebungen. Desing und Komponentenauswahl
in Absprache mit dem Auftraggeber. Schaltung und PCB-Layout.
DV-Basis: Tools: Altium-Designer
Zeitraum: 2003 - 2005
Projekt: Framegrabber für Videoübertragungssystem via Ethernet
Komplette Hardwareentwicklung der Platine mit Videodekoder und Kompressions-IC.
Inbetriebnahme der Karte auf dem Zielsystem mit Freescale Coldfire Prozessor.
Hardware-nahe Softwareentwicklung in C. Bereitstellen der zentralen Funktionen
zur Ansteuerung der Hardware unter uClinux aus dem Userspace heraus.
DV-Basis: Sprachen: Shell, C
Tools: Make, GCC
Plattform: uClinux
Zeitraum: 2004 - 2005
Projekt: Basisboard zur Evaluierung eines Blackfin DSP
Komplette Hardwareentwicklung einer Platine mit Blackfin DSP zur Evaluierung
für den Einsatz in Videosystemen. Aufbau und Inbetriebnahme der Hardware.
Bereitstellen der Basisfunktionen zum Zugriff auf speziellen Hardwarefunktionen
des DSP. Testprogramme für die Evaluierung der Videofunktionen.
DV-Basis: Sprachen: C, Assembler
Tools: Ultiboard, Visual DPS++
Zeitraum: 2003
Projekt: Videoübertragungssystem via Lichtwellenleiter
Komplette Hardwareentwicklung des Systems mit einem Atmel uC, Videode- und
-encoder, Serializer / Deserializer und CPLD. Der CPLD wurde in VHDL
programmiert und realisierte die Glue-Logic zwischen digitalem Video, den
(De)Serializern und dem uC.
Der Atmel uC wurde in Assembler programmiert und übernahm die Steuerung der
Hardware. Außerdem bot seine serielle Schnittstelle einen Seitenkanal für eine
PTZ-Ansteuerung.
DV-Basis: Sprachen: Assembler
Tools: Ultiboard
Elektroinstallateur
Fachoberschule
Studium an der HTW-Dresden (FH) zum Dipl.-Ing. für Automatisierungstechnik
Altium Designer (PCB)
Elektronik/Elektrotechnik
Automotive-Zulieferer
Entwicklung der Firmware für einen digitalen Videoaufzeichnungsrekorder (Nahverkehr). C++-Programmierung unter embedded Linux.
Aufsetzen und Pflege des embedded Linux-Systems mit Bob Build Tool. Programmierung der Firmware mit Schwerpunkt bei Aufzeichnung und Netzwerkfähigkeiten.
Mitarbeit an der Entwicklung eines Automotive Infotainment System. C++-Programmierung unter Linux. Teilweise hardwarenahe Entwicklung am Grafiksystem.
Erweiterung eines Viewers für Videoaufzeichnungen. Programmierung in C++ / C# / .Net unter Windows.
Erweiterung der FW eines Videoaufzeichnungsrekorders für den öffentlichen Personennahverkehr (Optimierung der Aufzeichnung und des Aufzeichnungsformats; Netzwerkfähigkeiten). C++-Programmierung unter embedded Linux.
Reengineering einer vorhandenen Leiterplatte zur Signalübertragung für die Halbleiterindustrie. Schaltung und Leiterplattenentwurf mit Altium Designer. Aufbau von Prototypen.
Projekte
Zeitraum: 2005 - 2014
Projekt: Videoaufzeichnungssystem für Nahverkehr
Hard- und Softwareentwicklung für einen Videorecorder zum Einsatz in Fahrzeugen
des ÖPNV.
Komplette HW-Entwicklung der Elektronik mit PowerPC Prozessor, FPGA und
Video-IC. Inbetriebnahme und Board Bring-up der Prototypen.
FPGA-Entwicklung (Xilinx Spartan-3) in VHDL, wobei der FPGA als Datenrouter
fungiert, die Schnittstelle zum Datenträger realisiert (IDE/ATA) und andere
Hardware anbindet.
Aufsetzen eines Linux-Systems "from scratch". Eigenes kleines Buildsystem
mit Make und Shell-Skripten zum automatischen Generieren des Linux-Systems.
Hardware-nahe SW-Entwicklung in C beim Anpassen des Bootloaders (u-boot) und
Linux-Kernels an das System. Schreiben von Kernel-Treibern für den Videoeinzug
und die IDE/ATA-Schnittstelle. Bereitstellen einer low-level Schicht für die
Gerätefirmware zum Zugriff auf die Hardware.
Ab 2010 Gesamtverantwortung für die komplette Firmware (C/C++).
DV-Basis: Sprachen: VHDL, C, C++, Make, Shell
Tools: Ultiboard, Xilinx ISE, Make, Shell, GCC
Versionsverwaltung: Subversion
Plattform: Linux
Zeitraum: 2010 - 2014
Projekt: Viewer für Videoaufzeichnungen
Realisierung eines Anzeigeprogramms für Videoaufzeichnungen unter Windows. Das
Programm liest von der Wechselfestplatte, separiert die Daten und bringt sie
zur Anzeige. Es kommen mehrere Threads zum Einsatz, die über Events und einen
FIFO kommunizieren.
Die Oberfläche nutzt Windows Form und WPF/XAML unter .NET.
Zum Lesen von Festplatte und Speichern von Videos kommen externe Third-Party
Bibliotheken zum Einsatz. Für die Verwendung im Projekt wurden Wrapper in C++
geschrieben.
Im ersten Jahr begleitender Entwickler, dann gesamtverantwortlich für das
Projekt.
DV-Basis: Sprachen, C#, C++
Tools: MS Visual C#, MS Visual C++
Versionsverwaltung: Git
Plattform: Windows
Zeitraum: 2013 - 2014
Projekt: Software zum Betrachten von Videostreams
Viewer für Netzwerk-Videostreams auf einem Panel-PC (x86) mit Touchscreen unter
Linux. Die grafische Oberfläche wurde mit GTK+ realisiert und für die
Touchscreen-Bedienung optimiert. Zum Dekomprimieren der Videostreams kam das
GStreamer-Framework zum Einsatz. Die Software in C++ baut die Oberfläche auf,
nutzt Sockets für die Kommunikation mit den Systemen im Netzwerk und steuert
die GStreamer-Bibliothek.
Die Software zeigt Live-Bilder von Netzwerk-Kameras und erlaubt das Navigieren
in Aufzeichnungen von Rekordern.
DV-Basis: Sprachen: C++
Tools: GNU Autotools, GCC, GTK+, GStreamer
Versionsverwaltung: Git
Plattform: Linux (Fedora)
Zeitraum: 2012 - 2013
Projekt: Funk-Video-Übertragungssystem mit Freescale i.MX5 ARM Prozessor
Aufsetzen des embedded Linux-Systems mit Buildroot. Einbinden der eigenen
Software in Buildroot.
Hardware-nahe Programmierung zum Ansteuern der Videohardware im i.MX Prozessor
in C. Netzwerkprogrammierung unter Linux (Sockets) für die Übertragung zwischen
den Systemen.
Testsoftware auf PC (Desktop-Linux) für einfacheren Test/Entwicklung mit
Qt-Framework und USB-Cam Anbindung.
DV-Basis: Sprachen: C, Shell, Make
Tools: Buildroot, Make, GCC, Qt
Versionsverwaltung: Git
Plattform: Linux
Zeitraum: 2013 - 2014
Projekt: Umschaltbox für analoges Video
Hardwareentwicklung vom Design über die Schaltung bis zum Layout des PCB.
Inbetriebnahme der Prototypen.
Programmierung der Firmware für den Controller der LPC-Serie (ARM Prozessor)
von NXP.
DV-Basis: Sprachen: C
Tools: OrCAD, Eagle
Versionsverwaltung: Git
Zeitraum: 2012 - 2014
Projekt: diverse HW-Module zur Evaluierung von seriellen Schnittstellen-IC
Entwicklung mehrerer Module mit seriellen Videoübertragungsschaltkreisen.
High-Speed LVDS Design.
DV-Basis: Tools: OrCAD, Eagle
Zeitraum: 2012
Projekt: Prozessormodul zur Evaluierung
Hardwareentwicklung eines Aufsatzmoduls zur Evaluierung eines Prozessors für
die Bildverarbeitung in automotive Umgebungen. Desing und Komponentenauswahl
in Absprache mit dem Auftraggeber. Schaltung und PCB-Layout.
DV-Basis: Tools: Altium-Designer
Zeitraum: 2003 - 2005
Projekt: Framegrabber für Videoübertragungssystem via Ethernet
Komplette Hardwareentwicklung der Platine mit Videodekoder und Kompressions-IC.
Inbetriebnahme der Karte auf dem Zielsystem mit Freescale Coldfire Prozessor.
Hardware-nahe Softwareentwicklung in C. Bereitstellen der zentralen Funktionen
zur Ansteuerung der Hardware unter uClinux aus dem Userspace heraus.
DV-Basis: Sprachen: Shell, C
Tools: Make, GCC
Plattform: uClinux
Zeitraum: 2004 - 2005
Projekt: Basisboard zur Evaluierung eines Blackfin DSP
Komplette Hardwareentwicklung einer Platine mit Blackfin DSP zur Evaluierung
für den Einsatz in Videosystemen. Aufbau und Inbetriebnahme der Hardware.
Bereitstellen der Basisfunktionen zum Zugriff auf speziellen Hardwarefunktionen
des DSP. Testprogramme für die Evaluierung der Videofunktionen.
DV-Basis: Sprachen: C, Assembler
Tools: Ultiboard, Visual DPS++
Zeitraum: 2003
Projekt: Videoübertragungssystem via Lichtwellenleiter
Komplette Hardwareentwicklung des Systems mit einem Atmel uC, Videode- und
-encoder, Serializer / Deserializer und CPLD. Der CPLD wurde in VHDL
programmiert und realisierte die Glue-Logic zwischen digitalem Video, den
(De)Serializern und dem uC.
Der Atmel uC wurde in Assembler programmiert und übernahm die Steuerung der
Hardware. Außerdem bot seine serielle Schnittstelle einen Seitenkanal für eine
PTZ-Ansteuerung.
DV-Basis: Sprachen: Assembler
Tools: Ultiboard
Elektroinstallateur
Fachoberschule
Studium an der HTW-Dresden (FH) zum Dipl.-Ing. für Automatisierungstechnik
Altium Designer (PCB)
Elektronik/Elektrotechnik
Automotive-Zulieferer
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.