Systemprogrammierer Embedded Linux
Aktualisiert am 22.12.2023
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.07.2024
Verfügbar zu: 100%
davon vor Ort: 100%
Embedded Linux Kernel Treiber Programmierung in C
U-Boot (Bootloader)
ARM, PowerPC (Prozessoren)
Barebox (Bootloader)
Git (Versionsverwaltung)
JTAG Debugger
C (Programmiersprache)
Buildroot (Embedded Linux System)
Yocto (Embedded Linux System)
C++ (Programmiersprache)
Subversion (Versionsverwaltung)
Java (Programmiersprache)
Make (Buildsystem)
Perl (Programmiersprache)
Python (Programmiersprache)
Bash (Scriptsprache)
GCC (Compiler)
Ethernet (Netzwerk)
PCI Express (Bus-System)
CAN-Bus (Bus-System)
Deutsch
Muttersprache
Englisch
fließend
Französisch
erweiterte Grundkentnisse
Italienisch
Grundkurs

Einsatzorte

Einsatzorte

München (+100km) Grafing bei München (+20km) Rosenheim (+10km) Mindelheim (+100km)

Großraum München oder 90% Remote

möglich

Projekte

Projekte

2 Jahre 1 Monat
2021-06 - 2023-06

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur ARM
Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur
? Erstellung eines Bootloaders fu?r den ARM Cortex-A53 Kern des S32G von NXP
? Anpassung des Bootloader fu?r den ARM Cortex-M7 Kerns vom S32G von NXP
? Optimierung der Bootloader bezgl. verschiedener Themen:
? Verku?rzung Bootzeiten
? DDR4 RAM Konfiguration
? Flash via QuadSPI
? Ethernet: PFE, GMAC
? IOMUX, GPIOs, Bootpins, Fuses
? Safety, HSE
? XRDC

? Cache Administration: L1, L2


Eingesetzte Technologien:

Linux-Kernel, Netzwerk, SPI-Treiber, Embedded Linux, C, C ++,

GCC, Git, GNU Make, CMake, CAN, S32G2 (NXP: ARMv8-A

Cortex-A53, ARM Cortex-M7) Doxygen, U-Boot, S32 Design

Studio, DDR4 RAM: (Samsung, Hynix) QuadSPI, Uart, PMIC
Watchdog, Ubuntu, VMware, GitHub, Repo, Jira, Artifactory,

Jenkins, QNX, AutoSAR

CANoe
ARM
Continental Corporation
Homeoffice
9 Monate
2021-01 - 2021-09

Entwicklung einer Echtzeitsteuerung für einen Antriebsbus.

Embedded Software-Entwickler Linux-Kernel Embedded Linux Linux Treiber ...
Embedded Software-Entwickler
  • Erstellung eines Linux Treibers für die Realiserung einer SPI-Kommunikationsverbindung.
  • Festlegung zum Austausch von Daten zwischen zwei Linux-Prozessen mit Echtzeitanforderungen.
  • Lieferung von Spezifikation, Programmierung und Testbericht über den Leistungstest.
Sitara CPU ARM 7: TQ Module mit AM3352 (Texas Instruments) OMAP Doxygen Hackbench Barebox Code Composer Studio (Version 10)
Linux-Kernel Embedded Linux Linux Treiber CPSW Ethernet Bridge FTrace C C++ GCC PTXdist GNU Make CAN SPI
Homeoffice
1 Monat
2021-06 - 2021-06

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur
Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur
? Erstellung eines Bootloaders fu?r den ARM Cortex-A53 Kern des S32G von NXP
? Anpassung des Bootloader fu?r den ARM Cortex-M7 Kerns vom S32G von NXP
? Optimierung der Bootloader bezgl. verschiedener Themen:
? Verku?rzung Bootzeiten
? DDR4 RAM Konfiguration
? Flash via QuadSPI
? Ethernet: PFE, GMAC
? IOMUX, GPIOs, Bootpins, Fuses
? Safety, HSE
? XRDC
? Cache Administration: L1, L2

Homeoffice
3 Monate
2020-08 - 2020-10

Linux Netzwerktreiberentwicklung

Linux Kernel Entwickler Linux-Kernel Embedded Linux C ...
Linux Kernel Entwickler

Anpassung eines Linux Kernel Treibers für die Netzwerk ICs LAN7801 und KSZ9897 von Microchip auf dem Prozessor Freescale LayerScape LS1021.

Redmine ARM Layerscape LS1021 - Cortex A7
Linux-Kernel Embedded Linux C GCC Git Yocto GNU Make
Homeoffice
1 Jahr 6 Monate
2019-02 - 2020-07

Entwicklung und Performance Optimierung für Videogeräte

Software-Entwickler Linux-Kernel Embedded Linux Barebox ...
Software-Entwickler
  • Erweiterung vom Bootloader Barebox.
  • Videooptimierung für eine Bildkette mittels Gstreamer.
  • Verschiedene Anpassungen in \CC\ und einer QT Applikation.
  • Installation einer Buildumgebung für TeamCity mittels Ansible und Tests mit Molecule.
  • Erstellung eines Debug-Images auf Basis von Buildroot für QTcreater und GDB.
ARM i.MX6 - Cortex A9 QT QTcreator TeamCity Ansible Molecule Artifactory openSuse 15.1 Skype Microsoft Team Scrum Jira Trac OneNote
Linux-Kernel Embedded Linux Barebox C C++ GCC Buildroot GNU Make Gstreamer Video vivid GDB QMake Python Git SVN BPF WLAN EAP-Enterprise CAN Meson H264 typeperf Valgrind RS-232 Busybox iwd
München
11 Monate
2019-06 - 2020-04

Anpassung vom Linux Betriebssystem für ein Laser Positionierungs System

Software-Entwickler Linux-Kernel Embedded Linux Device Tree ...
Software-Entwickler
  • Erstellung Rootfilesystem aus dem Yocto-Projekt.
  • Anpassung vom Device Tree an eine Hardware mit dem i.MX6.
  • Konfiguration der Multiplexpins des i.MX6 Prozessors.
  • Erweiterung vom Mfgtool zum Aufspielen der Software.
TX6S-8035 von Ka-Ro electronics
Linux-Kernel Embedded Linux Device Tree U-Boot C ARM i.MX6 - Cortex A9 GCC Yocto Mfgtool GNU Make Git SPI Ubuntu Busybox
SL-Laser
Homeoffice
1 Jahr 1 Monat
2017-09 - 2018-09

Erstellung Linux-Treiber für PCI Express

Software-Entwickler C Linux-Kernel Embedded Linux ...
Software-Entwickler

Erstellung eines Linux Treibers für einen schnellen Datenaustausch zwischen mehreren unterschiedlichen ARM CPUs, welche über PCI Express mittels PLX-Switch verbunden sind.

  • Evaluierung vom schnellen Datenaustausch aus dem User space auf Intel-CPUs auch mit mittels SSE2 Instruktionen.
  • System für schnelle Zeitmessung im Linux Kernel und im User space
  • Testdurchführung mittels Testapplikation die durch viele Parameter instrumentiert wird.
  • Anpassung vom Yocto System für das QorIQ Evaluation System mit dem 64 Bit ARM Prozessor LS1043a von NXP.
  • Modifizierung vom Reset-Configuration-Word (RCW) im Bootloader U-Boot zum Ansprechen der GPIOs.
QorIQ LS1043A Cortex-A53 ARMv8-A PEX 8725 PEX 8717 Plastic SCM Enterprise Architekt Atlassian JIRA Atlassian Confluence
C Linux-Kernel Embedded Linux Device Tree Ftrace ANSI-C++ PCIe PLX-Switch DMA Assembler ARM Intel-CPU GCC Git GitLab GNU Make CMake U-Boot Yocto Bitbake LibXML Bash Perl Busybox QEmu Markdown Scrum AutoScrum
Delphi / Aptiv
Wiehl
11 Monate
2016-04 - 2017-02

Linux Treiber Programmierung von zwei Motoren für die Steuerungseinheit eines Röntgengeräts und einem Soundtreiber.

  • Linux Treiber Erstellung für Motoren zum Einstellen der Öffnung von Blende und Kollimator. Die Position wird über ein Potentiometer rückgekoppelt. Die resultierende Spannung wurde über einen Analog Digital Konverter eingelesen und der erstellten Regelschleife zugeführt. Hierzu habe ich auf das etablierte Industrial Input Output Framework (IIO) des Linux Compilers zurückgegriffen. Die aktuellen Positionsdaten der Motoren werden über den mehrkanaligen Analog-Digital-Konverter AD7924 von Analog Devices eingelesen, nachdem sie über einen Highresolution Timer angesteuert wurden. Über PWM-Schnittstellen wurden die Motorenkontroller mit integrierter H-Brücke angesteuert. Für die Iris-Blende wurde hierzu der Baustein TI-DRV8832 und für den Kollimator der TI-DRV8816 verwendet. Die Konfiguration ist im Device-Tree abgelegt. Performance Analyse wurde mittels Ftrace durchgeführt. Zu Beginn wird vom Treiber eine automatische Kalibrierung durchgeführt.
  • Portierung und Erweiterung eines Audio Treibers für den Treiber Baustein TI-DAC3101 von Texas Instruments und Einbindung über ALSA an das Geräteframework.
  • Analyse für die SATA Verbindung von Festplatten and die CPU. Anpassung der analogen PHY Werte.
  • Einbindung eines Sony Drucker Treibers in das Cups Drucksystem für die ARM Architektur auf Yocto Basis.
C Linux-Kernel IIO Device Tree Motor Treiber H-Brücke AD7924 TI-DRV8832 TI-DRV8816 Sound Treiber TI-DAC3101 ESAI SSI C++ ARM i.MX6QuadP Cortex A9 GCC Git SVN GNU make Cmake U-Boot Yocto Bash Perl
Siemens Healthcare GmbH, Medizintechnik, Erlangen / 90% Homeoffice
8 Monate
2015-07 - 2016-02

Entwicklung eines zentralen Smart Home Gateways

Entwicklung eines zentralen Smart Home Gateways mit embedded Linux und Bootloader U-Boot auf einem ARM Prozessor von Freescale. Die Daten von verschiedenen Sensoren und Aktoren werden in C++11 mittels Frameworks, oBIX, Smart Pointer und unter Zuhilfenahme der POCO Libraries verwaltet.

  • Analyse des bisherigen embedded Linux Geräts in Bezug auf Redundanz und Sicherheitsaspekten.
  • Erweiterung der Treiber für eine Ansteuerung von Photovoltaik Anlagen in C++.
  • Einbindung eines Echtzeitprozessors vom Base Baseboard mit C++ und oBIX über eine serielle Schnittstelle.
  • Erstellung eines Treibers in C++ für die Ansteuerung von Geschirrspüler über eine Socket Verbindung.
C++ C oBIX Poco ARM i.MX28 i.MX6 Cortex A9 GCC Git Git flow Eclipse Valgrind GNU Make Linux-Kernel U-Boot UBIFS UBI Watchdog REST TCP Mosquitto MQTT obix spy Linux Mint Scrum Jira Kunagi Doxygen Serial Jenkins Mantis YASDI Profibus
Diehl Connectivity Solutions GmbH, Gebäudeautomation
1 Jahr 3 Monate
2014-05 - 2015-07

Entwicklung eines Embedded Linux Routers

Entwicklung eines Embedded Linux Routers mit dem i.MX6 ARM Prozessor von Freescale:

  • Evaluierung der ARM i.MX6 Plattform in Bezug auf Netzwerkperformance auch mit GRE-Tunnel und Verschlüsselung.
  • Vergleich IPsec Verschlüsselungs Durchsatz mit Racoon.
  • Generierung einer Initialen Ramdisk und Einbindung des Flashspeichers.
  • Einbindung des NAND-Flashs mit dem Filesystem UBIFS in einem logischen UBI Volume.
  • Erweiterung von GNU Make und C Dateien für die neue ARM Plattform welche OpenWRT basierend ist.
  • Evaluierung der Systemgenerierung mit Yocto auf Basis von Freescale.
  • Anbindung von weiteren Ethernet Schnittstellen mit dem Ethernet Controller I210 von Intel über einem PCIe Switch.     
  • Programmierung eines RS-485 Treibers.
  • Anpassung vom Bootloader U-Boot mit redundantem Environment, brennen von Fuses.
  • Anpassung Linux Kernel mit Device Tree für Peripherie vom i.MX6 Prozessor.
  • Inbetriebnahme von dem Marvell Ethernet Switch 88E6176.
Linux-Kernel U-Boot Device Tree RS-485 C ARM i.MX6 - Cortex A9 GCC Yocto LTIB OpenWRT Buildroot GNU Make Git SVN NAND-Flash UBIFS UBI Watchdog TCP UDP Marvell Racoon Jenkins Mantis Ubuntu GPIO USB-Treiber imx_usb I210 Mentor PCB
Garderos GmbH, Telekommunikation
3 Jahre 9 Monate
2010-03 - 2013-11

Programmierung verschiedener Softwareanteile für ein Funkgerätesystem.

Teil 1: Entwicklung von Inbetriebnahmetests unter Linux und dem Bootloader U-Boot für eine Bedieneinheit des Funksystems.

  • Inbetriebnahme der ARM CPU i.MX51 von Freescale mit Cortex A8 Kern mit Einsatz vom Debugger Trace32 von Lauterbach.
  • Anpassungen eines Linux Boad-Support-Package für die Platform.
  • Anzeige eines Splash-Screens auf einem LCD Display mit dem Bootloader U-Boot.
  • Konfiguration der Ethernet Anbindungen über ein Switch Baustein.
  • Hardware Fehlersuche am Prozessorboard.
  • Ansteuerung von Flash Chips, EEPROMs und Auslesen von Analog Digital   Converter (ADC) über SPI.
  • Erweiterung Linux-Treiber Ansteuerung von Flash Chips, EEPROMs.

 

Eingesetzte Technologien:

U-Boot, C, Linux-Treiber, ARM i.MX51, ARM Assembler, Bash, Trace32, Buildroot, ClearCase, ClearQuest, Git, Jenkins, Debian 

 

Teil 2: Erstellung eines Bedienprogramms über USB unter Windows für eine Entwicklungseinheit des Funksystems.

  • Kommandierung von Kommandos bzw. Datenübertragung ins Flash über eine USB-Schnittstelle.
  • Beschleunigung des Auslesens des Flash Speichers über die USB-Schnittstelle.
  • Entwicklung eines Installationsprogramms bassierend auf "Windows Install XML   (WIX)" für ein Windows Programm und USB Treiber.

 

Eingesetzte Technologien:

C, C++, Visual Studio 2010, WIX, USB, ClearCase, ClearQuest, Windows XP 

 

Teil 3: Entwicklung von Inbetriebnahmetests unter Linux und U-Boot für das Basis Funkgerät.

  • Anpassung eines Linux-Treibers um mit dem QorIQ Prozessor P2020 über   PCI-Express mit einem FPGA zu kommunizieren und Erstellung von Testroutinen   mit Performancemessungen um die Funktionsfähigkeit des FPGAs und DSPs zu   bestätigen.
  • Inbetriebnahme der USB-Schnittstelle.
  • Erstellung von Tests eines GPS-Bausteins und auch mit Weiterleitung der Daten   an ein PC über TCP/IP.
  • Inbetriebnahme von DDR3 RAM mit ECC am QorIQ mit Fehleranalyse und Erzeugung   von Tests im Bootloader U-Boot und unter Zuhilfenahme vom Debugger Trace32 von   Lauterbach.
  • Entwicklung einer Datenkommunikation von einem DSP von Texas Instruments zum GPP über das Host-Port-Interface (HPI).
  • Erstellung eines Testprogramms für eine serielle UART Schnittstelle welche in einem FPGA implementiert ist.
  • Ansteuerung der Ethernet Phys für Ethernet Konformance Tests.
  • Ansteuerung von EEPROMs und Auslesen von Analog Digital Converter (ADC) über SPI.
  • Automatisiertes Aufspielen des Bootloaders mittels Python Skripten.

 

Eingesetzte Technologien:

Linux-Treiber, C, U-Boot, Bash, Python, Perl, Trace32, TCP/IP, UDP, DSP, HPI,

DDR3 RAM, ClearCase, ClearQuest, Git, ELDK, Debian, Ubuntu

Rohde & Schwarz, Meßtechnik
8 Monate
2009-07 - 2010-02

Leistungen im Telematik-Bereich und Personen Ortung

  • Evaluierung von Android/iPhone auf einem portablen Gerät für die GPS-Ortung.
  • Entwicklung einer Telematik-Applikation in Objective-C 2.0 auf dem iPhone.
  • Telematik-Server: Thread Synchronisation mit Sperrung kritischer Bereiche.
  • Migration eines CVS-Repository auf einen frisch installierten Linux Debian 5.0 (Lenny) Server mit Backup, Virenscanner und Ausfallerkennung von Festplatten.
Objective-C C++ Windows-API Visual Studio Debian Git CVS clamav S.M.A.R.T
ISA-Telematics GmbH, Automatisierung
10 Monate
2008-07 - 2009-04

Erstellung einer Maschinensteuerung mit FPGA Anbindung.

  • Spezifizierung u. Implementierung einer Protokollschicht über UDP zu einem FPGA
  • Erstellung von Sensorabfragen mit Datenbankanbindung über MySQL
  • Detektion und Sperrung kritischer Bereiche
  • Fehlersuche, Aufspüren von Memory Leaks
  • Erstellung von Benchmarks und Optimierung auf Realzeiteigenschaften
C++ Boost-Library Bash Perl UDP AMD 64 Red-Hat Subversion quilt MySQL Valgrind Bugzilla Can-Bus
Arri, Automatisierung
2 Monate
2008-09 - 2008-10

Optimierung der Realzeiteigenschaften eines Wireless HART-Gateway unter Linux.

  • Konfiguration des Board-Support-Package PTXdist auf einem Embedded Linux System
  • Test RS485 Anschaltung für Realzeit Fähigkeit mit Linux Preemption
Linux-Treiber C ARM-Assembler PTXdist RS485 Modbus Git quilt
Pepperl & Fuchs, Automatisierung
7 Monate
2007-12 - 2008-06

Integration von Linux auf einem Embedded Server auf Basis vom Atmel AT91RM9200 Prozessor.

  • Analyse und Optimierung vom Linux-Kernel
  • Optimierung des SPI-Treiber für Zugriffe auf Pyxos-Chips
  • Anpassung des Bootloaders U-Boot
  • Durchführung von Coaching für die Linux-Programmierung
  • QS durch CodeReview, systematisierten Tests und Dokumentation
C C++ Boost-Library Bash ARM-Assembler Linux-Kernel Subversion Git quilt ELDK
microNet Automation, Automatisierung
1 Jahr 7 Monate
2006-05 - 2007-11

Design und Implementierung von Linux Treibern auf dem OMAP-Prozessor von Texas-Instruments mit ARM-Kern

  • Portierung "Linux Trace Toolkit next generation (LTTng)" für OMAP 1710 Prozessor zum Debuggen und zur Diagnose
  • DMA Programmierung für Echtzeit Audio-Daten
  • Design eines seriellen Treibers für Audio-Daten mit DMA (IOM2-Bus)
  • Erstellung von Treibern für Helligkeit von LEDs und Display über PWM-Timer
  • Inbetriebnahme von der Hardware über Erweiterungen am Open-Source Bootloader "U-Boot"
  • Hardware Diagnose und Fehlerbehebung
  • Bluetooth-Chip Kommunikation für Programmierung
Linux-Kernel U-Boot Cogito StGit ELDK ARM-Assembler OTRS BDI 2000
Siemens AG, Telekommunikation
2 Monate
2007-08 - 2007-09

Schulungen über Linux Programmierung und Bootloader U-Boot am Beispiel vom Sequoia-Board von AMCC.

Linux-Kernel U-Boot PowerPC Prozessor von AMCC ELDK BDI 2000
DENX GmbH
2 Monate
2007-07 - 2007-08

Portierung "Linux Trace Toolkit next generation" (LTTng) für PowerPC Prozessoren. Konzeption und Integration in Linux-Kernel auf DENX-GIT-Server.

LTTng C Linux-Kernel PowerPC Git StGit quilt ELDK
DENX GmbH
10 Monate
2005-08 - 2006-05

Media-Server - Telefonanlage für VoIP auf PC-Basis

Linux Systemprogrammierung in C, Realzeitanwendung in C++ mit Java Anbindung:

  • Untersuchung und Verbesserung des Echtzeitverhaltens
  • Profiling bzgl. Performance mit oprofile, LTT
  • Analyse von Speicherproblemen des C++ Anteils
  • Hilfe beim Einsatz von Linux Debugging Tools
  • Konzeption und Support bei der Treiberentwicklung für einen Hardwarebooster auf DSP-Basis
C++ C Java Ant SVN Rational ClearCase Linux-Kernel Eclipse Suse-Linux VoIP RTP SIP G729 G711 Intel-Assembler
Siemens AG, Telekommunikation
7 Monate
2005-05 - 2005-11

Entwicklung eines Codegenerators für die universelle Datenablage eines Bonierungssystems auf einem Motorala basierten embedded Linux-Projekt. Aus XML-Dateien wird mittels eines C-Programms automatisch C++ Quelldateien erzeugt.

C C++ XML
Micros-Fidelio, Automatisierung
3 Monate
2005-03 - 2005-05

Erstellung eines NAS-Systems (Network Attached Storage). Anpassung des Bootloaders Redboot. Portierung von Linux auf einer embedded Hardware mit Xscale Prozessor.

C Linux-Kernel Redboot Xscale ARM-Assembler BDI 2000
DIMEDEV, Multimediasysteme
6 Jahre
1999-03 - 2005-02

Adaption von Linux zum Einsatz in Komponenten der Automatisierungstechnik für zahlreiche Produkte:

  • Einrichtung, Konfiguration und Pflege einer Linux-Entwicklungsumgebung für Power-PC-Prozessoren als Basis für zahlreiche Produkte
  • Konfiguration, Optimierung und Pflege eines Linux-Kernels mit Echtzeiterweiterung RTAI zur Verwendung als Echtzeitbetriebssystem für eingebettete Systeme in der Automatisierungstechnik
  • Integration und Modifikation von Linux-Treibern für RS232, RS485, IRDA, ISDN und Modems (Analog, GSM, GPRS)
  • Portierung einer Protokoll-Software für FOUNDATION Fieldbus High Speed Ethernet Tätigkeiten im Bereich der Linux-basierten DV-Infrastruktur:
  • Installation und Wartung des Firewall-Rechners, Mail-Servers und Web-Servers
  • Einrichtung von Virtual-Private-Network-Verbindungen zu Niederlassungen
  • Einrichtung geschützter, kundenspezifischer Web-Zugänge mit Apache und CGI-Skripten
C C++ Perl CVS Bash-Shell PPC-Assembler Intel-Assembler HTML VHDL Debian-Linux Suse-Linux TCP/IP
Softing AG, Automatisierung

Aus- und Weiterbildung

Aus- und Weiterbildung

1992 - 1998

Studium Elektrotechnik - Nachrichtentechnik und Informationstechnik

Technische Universität München

  • Abschluss: Dipl.-Ing.

Position

Position

insbesondere Programmierung von Linux-Treibern und Bootloader

Kompetenzen

Kompetenzen

Top-Skills

Embedded Linux Kernel Treiber Programmierung in C U-Boot (Bootloader) ARM, PowerPC (Prozessoren) Barebox (Bootloader) Git (Versionsverwaltung) JTAG Debugger C (Programmiersprache) Buildroot (Embedded Linux System) Yocto (Embedded Linux System) C++ (Programmiersprache) Subversion (Versionsverwaltung) Java (Programmiersprache) Make (Buildsystem) Perl (Programmiersprache) Python (Programmiersprache) Bash (Scriptsprache) GCC (Compiler) Ethernet (Netzwerk) PCI Express (Bus-System) CAN-Bus (Bus-System)

Produkte / Standards / Erfahrungen / Methoden

Ansible
ARM i.MX6 - Cortex A9
Artifactory
Atlassian Confluence
Atlassian JIRA
AutoScrum
Barebox
Bitbake
Buildroot
Busybox
CAN
Confluence
DMA
EAP-Enterprise
Enterprise Architekt
GCC
GDB
Git
GitLab
Gstreamer
H264
IIO
Intel-CPU
iwd
Jira
LibXML
Markdown
Meson
Mfgtool
Microsoft Team
Molecule
OneNote
openSuse 15.1
PEX 8717
PEX 8725
Plastic SCM
QEmu
QTcreator
Redmine
RS-232
Scrum
Skype
SVN
TeamCity
Trac
TX6S-8035 von Ka-Ro electronics
typeperf
U-Boot
Video
vivid
WLAN
Yocto

Erfahrungen im Bereich:

  • Anwendungs- und Systemprogrammierung
  • Spezifikation, Programmierung, Test

 

Methoden:

  • Objektorientierte Analyse, Design, Programmierung
  • Ereignisgesteuerte, strukturierte Programmierung

 

Spezialkenntnisse:

  • Embedded Programmierung, Bootloader, Assembler
  • Echtzeiterweiterung RTAI, Xenomai
  • Parser, Zustandsautomaten
  • Virtual-Private-Network (VPN)
  • Internet WebServer Aufbau, Design, Programmierung, DB-Anbindung (WWW, HTML, HTTP, HTTPS, SSL, CGI, TCP/IP, FTP, NFS)
  • Versionsverwaltungen: Git, CVS, SVN, Clearcase

 

Standards, Schnittstellen:

  • RS232
  • RS485
  • Modems (Analog, GSM, GPRS)

Beruflicher Werdegang

 

1999-2005

Festanstellung als Entwicklungsingenieur mit Schwerpunkt: Inbetriebnahme und Programmierung von embedded Systemen unter Linux

 

2005-heute

Freiberufler

Betriebssysteme

Amiga OS
Echtzeitbetriebssysteme
Xenomai (RTAI) für Linux
Embedded Linux
Linux-Kernel
RTEMS
Ubuntu
Unix
insbesondere Linux-Treiber, Plattform-Anpassungen

Programmiersprachen

ANSI-C++
Assembler
PowerPC, Arm, Intel, Motorola 68000, 6510
Bash
Basic
begonnen mit Basic
BPF
C
sehr gute Erfahrung in Linux-Treiber Programmierung
C++
sehr gute Erfahrung - auch mit Standard Template Library, XML-Parser
CMake
Device Tree
Fortran
benützt an der Universität
GNU make
GNU Makefile
Imake, GNU-Make, Make-Maker etc...
sehr gute GNU-Make Erfahrung, ANT
Java
einige Jahre Java Programmiererfahrung
JavaScript
ein wenig
Maschinensprachen
gute Erfahrung in Assembler
Modula-2
benützt an der Universität
Objective C
Version 2.0 mit Cocoa auf dem iPhone
Perl
sehr gute Erfahrung
Python
gute Erfahrung
QMake
Qt
Scriptsprachen
sed, awk
SDL
benützt an der Universität
Shell
GNU Bash V4.2 bevorzugte Shell, ash, tcsh, Busybox
Tcl/Tk
ein wenig Erfahrung
TeX, LaTeX
Diplomarbeit mit LaTeX erstellt
yacc/lex
bison/lex und javacc

Datenbanken

MySQL
Oracle

Datenkommunikation

Bus
Profibus, Foundation Fieldbus High Speed Ethernet
ISO/OSI
Experte
Ethernet
Experte
Internet, Intranet
Experte
ISDN
LAN, LAN Manager
Experte
Message Queuing
Experte
parallele Schnittstelle
Experte
PCIe
Experte
RFC
Experte
Router
Experte
RPC
Experte
Packet-Radio
RS232
Experte
SMTP
Experte
SNMP
SPI
Experte
TCP/IP
Experte
Windows Netzwerk
Insbesondere tiefere Erfahrung mit Samba

Hardware

AD7924
Amiga
ARM
ARM Layerscape LS1021 - Cortex A7
ARMv8-A
BDI 2000 von Abatron
Sehr gute Erfahrung mit dem JTAG Debugger auf PowerPC, ARM
Bus-Systeme
Profibus, CAN-Bus, FF - Fieldbus, Modbus, Ethernet
Cortex A9
Cortex-A53
Echtzeitsysteme
RTAI, Xenomai
embedded Systeme
sehr gute Erfahrungen mit PowerPC und ARM Prozessoren
Hardware entwickelt
seit früher Kindheit und immernoch praktische Anpassung
i.MX6QuadP
Messgeräte
Oszilloskope, Logikanalysatoren, Spektrumanalyser, ...
Mikrocontroller
PowerPC, ARM, Atmel, Xscale, Intel PC
Modem
Motorola
68000, 68040
PC
PLD, FPGA
Programmierung mit VHDL
PLX-Switch
QorIQ LS1043A
Scanner
Siemens MX
Steuer und Regelsysteme
Texas Instruments
OMAP
TI-DAC3101
TI-DRV8816
TI-DRV8832
Trace32 von Lauterbach
Sehr gute Erfahrung mit dem JTAG Debugger auf PowerPC und ARM Prozessoren

Berechnung / Simulation / Versuch / Validierung

PSpice

Design / Entwicklung / Konstruktion

AutoCAD
Ftrace
H-Brücke
SSI
Valgrind
Grundlagen in CAD und Leiterplatten Entflechtung.

Branchen

Branchen

Automatisierungstechnik
Automobilindustrie
Industrie
Telekommunikation
Elektrotechnik
Forschung
Entwicklung
IT-Branche

Einsatzorte

Einsatzorte

München (+100km) Grafing bei München (+20km) Rosenheim (+10km) Mindelheim (+100km)

Großraum München oder 90% Remote

möglich

Projekte

Projekte

2 Jahre 1 Monat
2021-06 - 2023-06

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur ARM
Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur
? Erstellung eines Bootloaders fu?r den ARM Cortex-A53 Kern des S32G von NXP
? Anpassung des Bootloader fu?r den ARM Cortex-M7 Kerns vom S32G von NXP
? Optimierung der Bootloader bezgl. verschiedener Themen:
? Verku?rzung Bootzeiten
? DDR4 RAM Konfiguration
? Flash via QuadSPI
? Ethernet: PFE, GMAC
? IOMUX, GPIOs, Bootpins, Fuses
? Safety, HSE
? XRDC

? Cache Administration: L1, L2


Eingesetzte Technologien:

Linux-Kernel, Netzwerk, SPI-Treiber, Embedded Linux, C, C ++,

GCC, Git, GNU Make, CMake, CAN, S32G2 (NXP: ARMv8-A

Cortex-A53, ARM Cortex-M7) Doxygen, U-Boot, S32 Design

Studio, DDR4 RAM: (Samsung, Hynix) QuadSPI, Uart, PMIC
Watchdog, Ubuntu, VMware, GitHub, Repo, Jira, Artifactory,

Jenkins, QNX, AutoSAR

CANoe
ARM
Continental Corporation
Homeoffice
9 Monate
2021-01 - 2021-09

Entwicklung einer Echtzeitsteuerung für einen Antriebsbus.

Embedded Software-Entwickler Linux-Kernel Embedded Linux Linux Treiber ...
Embedded Software-Entwickler
  • Erstellung eines Linux Treibers für die Realiserung einer SPI-Kommunikationsverbindung.
  • Festlegung zum Austausch von Daten zwischen zwei Linux-Prozessen mit Echtzeitanforderungen.
  • Lieferung von Spezifikation, Programmierung und Testbericht über den Leistungstest.
Sitara CPU ARM 7: TQ Module mit AM3352 (Texas Instruments) OMAP Doxygen Hackbench Barebox Code Composer Studio (Version 10)
Linux-Kernel Embedded Linux Linux Treiber CPSW Ethernet Bridge FTrace C C++ GCC PTXdist GNU Make CAN SPI
Homeoffice
1 Monat
2021-06 - 2021-06

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur

Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur
Entwicklung von Bootloadern fu?r eine heterogene ARM Architektur
? Erstellung eines Bootloaders fu?r den ARM Cortex-A53 Kern des S32G von NXP
? Anpassung des Bootloader fu?r den ARM Cortex-M7 Kerns vom S32G von NXP
? Optimierung der Bootloader bezgl. verschiedener Themen:
? Verku?rzung Bootzeiten
? DDR4 RAM Konfiguration
? Flash via QuadSPI
? Ethernet: PFE, GMAC
? IOMUX, GPIOs, Bootpins, Fuses
? Safety, HSE
? XRDC
? Cache Administration: L1, L2

Homeoffice
3 Monate
2020-08 - 2020-10

Linux Netzwerktreiberentwicklung

Linux Kernel Entwickler Linux-Kernel Embedded Linux C ...
Linux Kernel Entwickler

Anpassung eines Linux Kernel Treibers für die Netzwerk ICs LAN7801 und KSZ9897 von Microchip auf dem Prozessor Freescale LayerScape LS1021.

Redmine ARM Layerscape LS1021 - Cortex A7
Linux-Kernel Embedded Linux C GCC Git Yocto GNU Make
Homeoffice
1 Jahr 6 Monate
2019-02 - 2020-07

Entwicklung und Performance Optimierung für Videogeräte

Software-Entwickler Linux-Kernel Embedded Linux Barebox ...
Software-Entwickler
  • Erweiterung vom Bootloader Barebox.
  • Videooptimierung für eine Bildkette mittels Gstreamer.
  • Verschiedene Anpassungen in \CC\ und einer QT Applikation.
  • Installation einer Buildumgebung für TeamCity mittels Ansible und Tests mit Molecule.
  • Erstellung eines Debug-Images auf Basis von Buildroot für QTcreater und GDB.
ARM i.MX6 - Cortex A9 QT QTcreator TeamCity Ansible Molecule Artifactory openSuse 15.1 Skype Microsoft Team Scrum Jira Trac OneNote
Linux-Kernel Embedded Linux Barebox C C++ GCC Buildroot GNU Make Gstreamer Video vivid GDB QMake Python Git SVN BPF WLAN EAP-Enterprise CAN Meson H264 typeperf Valgrind RS-232 Busybox iwd
München
11 Monate
2019-06 - 2020-04

Anpassung vom Linux Betriebssystem für ein Laser Positionierungs System

Software-Entwickler Linux-Kernel Embedded Linux Device Tree ...
Software-Entwickler
  • Erstellung Rootfilesystem aus dem Yocto-Projekt.
  • Anpassung vom Device Tree an eine Hardware mit dem i.MX6.
  • Konfiguration der Multiplexpins des i.MX6 Prozessors.
  • Erweiterung vom Mfgtool zum Aufspielen der Software.
TX6S-8035 von Ka-Ro electronics
Linux-Kernel Embedded Linux Device Tree U-Boot C ARM i.MX6 - Cortex A9 GCC Yocto Mfgtool GNU Make Git SPI Ubuntu Busybox
SL-Laser
Homeoffice
1 Jahr 1 Monat
2017-09 - 2018-09

Erstellung Linux-Treiber für PCI Express

Software-Entwickler C Linux-Kernel Embedded Linux ...
Software-Entwickler

Erstellung eines Linux Treibers für einen schnellen Datenaustausch zwischen mehreren unterschiedlichen ARM CPUs, welche über PCI Express mittels PLX-Switch verbunden sind.

  • Evaluierung vom schnellen Datenaustausch aus dem User space auf Intel-CPUs auch mit mittels SSE2 Instruktionen.
  • System für schnelle Zeitmessung im Linux Kernel und im User space
  • Testdurchführung mittels Testapplikation die durch viele Parameter instrumentiert wird.
  • Anpassung vom Yocto System für das QorIQ Evaluation System mit dem 64 Bit ARM Prozessor LS1043a von NXP.
  • Modifizierung vom Reset-Configuration-Word (RCW) im Bootloader U-Boot zum Ansprechen der GPIOs.
QorIQ LS1043A Cortex-A53 ARMv8-A PEX 8725 PEX 8717 Plastic SCM Enterprise Architekt Atlassian JIRA Atlassian Confluence
C Linux-Kernel Embedded Linux Device Tree Ftrace ANSI-C++ PCIe PLX-Switch DMA Assembler ARM Intel-CPU GCC Git GitLab GNU Make CMake U-Boot Yocto Bitbake LibXML Bash Perl Busybox QEmu Markdown Scrum AutoScrum
Delphi / Aptiv
Wiehl
11 Monate
2016-04 - 2017-02

Linux Treiber Programmierung von zwei Motoren für die Steuerungseinheit eines Röntgengeräts und einem Soundtreiber.

  • Linux Treiber Erstellung für Motoren zum Einstellen der Öffnung von Blende und Kollimator. Die Position wird über ein Potentiometer rückgekoppelt. Die resultierende Spannung wurde über einen Analog Digital Konverter eingelesen und der erstellten Regelschleife zugeführt. Hierzu habe ich auf das etablierte Industrial Input Output Framework (IIO) des Linux Compilers zurückgegriffen. Die aktuellen Positionsdaten der Motoren werden über den mehrkanaligen Analog-Digital-Konverter AD7924 von Analog Devices eingelesen, nachdem sie über einen Highresolution Timer angesteuert wurden. Über PWM-Schnittstellen wurden die Motorenkontroller mit integrierter H-Brücke angesteuert. Für die Iris-Blende wurde hierzu der Baustein TI-DRV8832 und für den Kollimator der TI-DRV8816 verwendet. Die Konfiguration ist im Device-Tree abgelegt. Performance Analyse wurde mittels Ftrace durchgeführt. Zu Beginn wird vom Treiber eine automatische Kalibrierung durchgeführt.
  • Portierung und Erweiterung eines Audio Treibers für den Treiber Baustein TI-DAC3101 von Texas Instruments und Einbindung über ALSA an das Geräteframework.
  • Analyse für die SATA Verbindung von Festplatten and die CPU. Anpassung der analogen PHY Werte.
  • Einbindung eines Sony Drucker Treibers in das Cups Drucksystem für die ARM Architektur auf Yocto Basis.
C Linux-Kernel IIO Device Tree Motor Treiber H-Brücke AD7924 TI-DRV8832 TI-DRV8816 Sound Treiber TI-DAC3101 ESAI SSI C++ ARM i.MX6QuadP Cortex A9 GCC Git SVN GNU make Cmake U-Boot Yocto Bash Perl
Siemens Healthcare GmbH, Medizintechnik, Erlangen / 90% Homeoffice
8 Monate
2015-07 - 2016-02

Entwicklung eines zentralen Smart Home Gateways

Entwicklung eines zentralen Smart Home Gateways mit embedded Linux und Bootloader U-Boot auf einem ARM Prozessor von Freescale. Die Daten von verschiedenen Sensoren und Aktoren werden in C++11 mittels Frameworks, oBIX, Smart Pointer und unter Zuhilfenahme der POCO Libraries verwaltet.

  • Analyse des bisherigen embedded Linux Geräts in Bezug auf Redundanz und Sicherheitsaspekten.
  • Erweiterung der Treiber für eine Ansteuerung von Photovoltaik Anlagen in C++.
  • Einbindung eines Echtzeitprozessors vom Base Baseboard mit C++ und oBIX über eine serielle Schnittstelle.
  • Erstellung eines Treibers in C++ für die Ansteuerung von Geschirrspüler über eine Socket Verbindung.
C++ C oBIX Poco ARM i.MX28 i.MX6 Cortex A9 GCC Git Git flow Eclipse Valgrind GNU Make Linux-Kernel U-Boot UBIFS UBI Watchdog REST TCP Mosquitto MQTT obix spy Linux Mint Scrum Jira Kunagi Doxygen Serial Jenkins Mantis YASDI Profibus
Diehl Connectivity Solutions GmbH, Gebäudeautomation
1 Jahr 3 Monate
2014-05 - 2015-07

Entwicklung eines Embedded Linux Routers

Entwicklung eines Embedded Linux Routers mit dem i.MX6 ARM Prozessor von Freescale:

  • Evaluierung der ARM i.MX6 Plattform in Bezug auf Netzwerkperformance auch mit GRE-Tunnel und Verschlüsselung.
  • Vergleich IPsec Verschlüsselungs Durchsatz mit Racoon.
  • Generierung einer Initialen Ramdisk und Einbindung des Flashspeichers.
  • Einbindung des NAND-Flashs mit dem Filesystem UBIFS in einem logischen UBI Volume.
  • Erweiterung von GNU Make und C Dateien für die neue ARM Plattform welche OpenWRT basierend ist.
  • Evaluierung der Systemgenerierung mit Yocto auf Basis von Freescale.
  • Anbindung von weiteren Ethernet Schnittstellen mit dem Ethernet Controller I210 von Intel über einem PCIe Switch.     
  • Programmierung eines RS-485 Treibers.
  • Anpassung vom Bootloader U-Boot mit redundantem Environment, brennen von Fuses.
  • Anpassung Linux Kernel mit Device Tree für Peripherie vom i.MX6 Prozessor.
  • Inbetriebnahme von dem Marvell Ethernet Switch 88E6176.
Linux-Kernel U-Boot Device Tree RS-485 C ARM i.MX6 - Cortex A9 GCC Yocto LTIB OpenWRT Buildroot GNU Make Git SVN NAND-Flash UBIFS UBI Watchdog TCP UDP Marvell Racoon Jenkins Mantis Ubuntu GPIO USB-Treiber imx_usb I210 Mentor PCB
Garderos GmbH, Telekommunikation
3 Jahre 9 Monate
2010-03 - 2013-11

Programmierung verschiedener Softwareanteile für ein Funkgerätesystem.

Teil 1: Entwicklung von Inbetriebnahmetests unter Linux und dem Bootloader U-Boot für eine Bedieneinheit des Funksystems.

  • Inbetriebnahme der ARM CPU i.MX51 von Freescale mit Cortex A8 Kern mit Einsatz vom Debugger Trace32 von Lauterbach.
  • Anpassungen eines Linux Boad-Support-Package für die Platform.
  • Anzeige eines Splash-Screens auf einem LCD Display mit dem Bootloader U-Boot.
  • Konfiguration der Ethernet Anbindungen über ein Switch Baustein.
  • Hardware Fehlersuche am Prozessorboard.
  • Ansteuerung von Flash Chips, EEPROMs und Auslesen von Analog Digital   Converter (ADC) über SPI.
  • Erweiterung Linux-Treiber Ansteuerung von Flash Chips, EEPROMs.

 

Eingesetzte Technologien:

U-Boot, C, Linux-Treiber, ARM i.MX51, ARM Assembler, Bash, Trace32, Buildroot, ClearCase, ClearQuest, Git, Jenkins, Debian 

 

Teil 2: Erstellung eines Bedienprogramms über USB unter Windows für eine Entwicklungseinheit des Funksystems.

  • Kommandierung von Kommandos bzw. Datenübertragung ins Flash über eine USB-Schnittstelle.
  • Beschleunigung des Auslesens des Flash Speichers über die USB-Schnittstelle.
  • Entwicklung eines Installationsprogramms bassierend auf "Windows Install XML   (WIX)" für ein Windows Programm und USB Treiber.

 

Eingesetzte Technologien:

C, C++, Visual Studio 2010, WIX, USB, ClearCase, ClearQuest, Windows XP 

 

Teil 3: Entwicklung von Inbetriebnahmetests unter Linux und U-Boot für das Basis Funkgerät.

  • Anpassung eines Linux-Treibers um mit dem QorIQ Prozessor P2020 über   PCI-Express mit einem FPGA zu kommunizieren und Erstellung von Testroutinen   mit Performancemessungen um die Funktionsfähigkeit des FPGAs und DSPs zu   bestätigen.
  • Inbetriebnahme der USB-Schnittstelle.
  • Erstellung von Tests eines GPS-Bausteins und auch mit Weiterleitung der Daten   an ein PC über TCP/IP.
  • Inbetriebnahme von DDR3 RAM mit ECC am QorIQ mit Fehleranalyse und Erzeugung   von Tests im Bootloader U-Boot und unter Zuhilfenahme vom Debugger Trace32 von   Lauterbach.
  • Entwicklung einer Datenkommunikation von einem DSP von Texas Instruments zum GPP über das Host-Port-Interface (HPI).
  • Erstellung eines Testprogramms für eine serielle UART Schnittstelle welche in einem FPGA implementiert ist.
  • Ansteuerung der Ethernet Phys für Ethernet Konformance Tests.
  • Ansteuerung von EEPROMs und Auslesen von Analog Digital Converter (ADC) über SPI.
  • Automatisiertes Aufspielen des Bootloaders mittels Python Skripten.

 

Eingesetzte Technologien:

Linux-Treiber, C, U-Boot, Bash, Python, Perl, Trace32, TCP/IP, UDP, DSP, HPI,

DDR3 RAM, ClearCase, ClearQuest, Git, ELDK, Debian, Ubuntu

Rohde & Schwarz, Meßtechnik
8 Monate
2009-07 - 2010-02

Leistungen im Telematik-Bereich und Personen Ortung

  • Evaluierung von Android/iPhone auf einem portablen Gerät für die GPS-Ortung.
  • Entwicklung einer Telematik-Applikation in Objective-C 2.0 auf dem iPhone.
  • Telematik-Server: Thread Synchronisation mit Sperrung kritischer Bereiche.
  • Migration eines CVS-Repository auf einen frisch installierten Linux Debian 5.0 (Lenny) Server mit Backup, Virenscanner und Ausfallerkennung von Festplatten.
Objective-C C++ Windows-API Visual Studio Debian Git CVS clamav S.M.A.R.T
ISA-Telematics GmbH, Automatisierung
10 Monate
2008-07 - 2009-04

Erstellung einer Maschinensteuerung mit FPGA Anbindung.

  • Spezifizierung u. Implementierung einer Protokollschicht über UDP zu einem FPGA
  • Erstellung von Sensorabfragen mit Datenbankanbindung über MySQL
  • Detektion und Sperrung kritischer Bereiche
  • Fehlersuche, Aufspüren von Memory Leaks
  • Erstellung von Benchmarks und Optimierung auf Realzeiteigenschaften
C++ Boost-Library Bash Perl UDP AMD 64 Red-Hat Subversion quilt MySQL Valgrind Bugzilla Can-Bus
Arri, Automatisierung
2 Monate
2008-09 - 2008-10

Optimierung der Realzeiteigenschaften eines Wireless HART-Gateway unter Linux.

  • Konfiguration des Board-Support-Package PTXdist auf einem Embedded Linux System
  • Test RS485 Anschaltung für Realzeit Fähigkeit mit Linux Preemption
Linux-Treiber C ARM-Assembler PTXdist RS485 Modbus Git quilt
Pepperl & Fuchs, Automatisierung
7 Monate
2007-12 - 2008-06

Integration von Linux auf einem Embedded Server auf Basis vom Atmel AT91RM9200 Prozessor.

  • Analyse und Optimierung vom Linux-Kernel
  • Optimierung des SPI-Treiber für Zugriffe auf Pyxos-Chips
  • Anpassung des Bootloaders U-Boot
  • Durchführung von Coaching für die Linux-Programmierung
  • QS durch CodeReview, systematisierten Tests und Dokumentation
C C++ Boost-Library Bash ARM-Assembler Linux-Kernel Subversion Git quilt ELDK
microNet Automation, Automatisierung
1 Jahr 7 Monate
2006-05 - 2007-11

Design und Implementierung von Linux Treibern auf dem OMAP-Prozessor von Texas-Instruments mit ARM-Kern

  • Portierung "Linux Trace Toolkit next generation (LTTng)" für OMAP 1710 Prozessor zum Debuggen und zur Diagnose
  • DMA Programmierung für Echtzeit Audio-Daten
  • Design eines seriellen Treibers für Audio-Daten mit DMA (IOM2-Bus)
  • Erstellung von Treibern für Helligkeit von LEDs und Display über PWM-Timer
  • Inbetriebnahme von der Hardware über Erweiterungen am Open-Source Bootloader "U-Boot"
  • Hardware Diagnose und Fehlerbehebung
  • Bluetooth-Chip Kommunikation für Programmierung
Linux-Kernel U-Boot Cogito StGit ELDK ARM-Assembler OTRS BDI 2000
Siemens AG, Telekommunikation
2 Monate
2007-08 - 2007-09

Schulungen über Linux Programmierung und Bootloader U-Boot am Beispiel vom Sequoia-Board von AMCC.

Linux-Kernel U-Boot PowerPC Prozessor von AMCC ELDK BDI 2000
DENX GmbH
2 Monate
2007-07 - 2007-08

Portierung "Linux Trace Toolkit next generation" (LTTng) für PowerPC Prozessoren. Konzeption und Integration in Linux-Kernel auf DENX-GIT-Server.

LTTng C Linux-Kernel PowerPC Git StGit quilt ELDK
DENX GmbH
10 Monate
2005-08 - 2006-05

Media-Server - Telefonanlage für VoIP auf PC-Basis

Linux Systemprogrammierung in C, Realzeitanwendung in C++ mit Java Anbindung:

  • Untersuchung und Verbesserung des Echtzeitverhaltens
  • Profiling bzgl. Performance mit oprofile, LTT
  • Analyse von Speicherproblemen des C++ Anteils
  • Hilfe beim Einsatz von Linux Debugging Tools
  • Konzeption und Support bei der Treiberentwicklung für einen Hardwarebooster auf DSP-Basis
C++ C Java Ant SVN Rational ClearCase Linux-Kernel Eclipse Suse-Linux VoIP RTP SIP G729 G711 Intel-Assembler
Siemens AG, Telekommunikation
7 Monate
2005-05 - 2005-11

Entwicklung eines Codegenerators für die universelle Datenablage eines Bonierungssystems auf einem Motorala basierten embedded Linux-Projekt. Aus XML-Dateien wird mittels eines C-Programms automatisch C++ Quelldateien erzeugt.

C C++ XML
Micros-Fidelio, Automatisierung
3 Monate
2005-03 - 2005-05

Erstellung eines NAS-Systems (Network Attached Storage). Anpassung des Bootloaders Redboot. Portierung von Linux auf einer embedded Hardware mit Xscale Prozessor.

C Linux-Kernel Redboot Xscale ARM-Assembler BDI 2000
DIMEDEV, Multimediasysteme
6 Jahre
1999-03 - 2005-02

Adaption von Linux zum Einsatz in Komponenten der Automatisierungstechnik für zahlreiche Produkte:

  • Einrichtung, Konfiguration und Pflege einer Linux-Entwicklungsumgebung für Power-PC-Prozessoren als Basis für zahlreiche Produkte
  • Konfiguration, Optimierung und Pflege eines Linux-Kernels mit Echtzeiterweiterung RTAI zur Verwendung als Echtzeitbetriebssystem für eingebettete Systeme in der Automatisierungstechnik
  • Integration und Modifikation von Linux-Treibern für RS232, RS485, IRDA, ISDN und Modems (Analog, GSM, GPRS)
  • Portierung einer Protokoll-Software für FOUNDATION Fieldbus High Speed Ethernet Tätigkeiten im Bereich der Linux-basierten DV-Infrastruktur:
  • Installation und Wartung des Firewall-Rechners, Mail-Servers und Web-Servers
  • Einrichtung von Virtual-Private-Network-Verbindungen zu Niederlassungen
  • Einrichtung geschützter, kundenspezifischer Web-Zugänge mit Apache und CGI-Skripten
C C++ Perl CVS Bash-Shell PPC-Assembler Intel-Assembler HTML VHDL Debian-Linux Suse-Linux TCP/IP
Softing AG, Automatisierung

Aus- und Weiterbildung

Aus- und Weiterbildung

1992 - 1998

Studium Elektrotechnik - Nachrichtentechnik und Informationstechnik

Technische Universität München

  • Abschluss: Dipl.-Ing.

Position

Position

insbesondere Programmierung von Linux-Treibern und Bootloader

Kompetenzen

Kompetenzen

Top-Skills

Embedded Linux Kernel Treiber Programmierung in C U-Boot (Bootloader) ARM, PowerPC (Prozessoren) Barebox (Bootloader) Git (Versionsverwaltung) JTAG Debugger C (Programmiersprache) Buildroot (Embedded Linux System) Yocto (Embedded Linux System) C++ (Programmiersprache) Subversion (Versionsverwaltung) Java (Programmiersprache) Make (Buildsystem) Perl (Programmiersprache) Python (Programmiersprache) Bash (Scriptsprache) GCC (Compiler) Ethernet (Netzwerk) PCI Express (Bus-System) CAN-Bus (Bus-System)

Produkte / Standards / Erfahrungen / Methoden

Ansible
ARM i.MX6 - Cortex A9
Artifactory
Atlassian Confluence
Atlassian JIRA
AutoScrum
Barebox
Bitbake
Buildroot
Busybox
CAN
Confluence
DMA
EAP-Enterprise
Enterprise Architekt
GCC
GDB
Git
GitLab
Gstreamer
H264
IIO
Intel-CPU
iwd
Jira
LibXML
Markdown
Meson
Mfgtool
Microsoft Team
Molecule
OneNote
openSuse 15.1
PEX 8717
PEX 8725
Plastic SCM
QEmu
QTcreator
Redmine
RS-232
Scrum
Skype
SVN
TeamCity
Trac
TX6S-8035 von Ka-Ro electronics
typeperf
U-Boot
Video
vivid
WLAN
Yocto

Erfahrungen im Bereich:

  • Anwendungs- und Systemprogrammierung
  • Spezifikation, Programmierung, Test

 

Methoden:

  • Objektorientierte Analyse, Design, Programmierung
  • Ereignisgesteuerte, strukturierte Programmierung

 

Spezialkenntnisse:

  • Embedded Programmierung, Bootloader, Assembler
  • Echtzeiterweiterung RTAI, Xenomai
  • Parser, Zustandsautomaten
  • Virtual-Private-Network (VPN)
  • Internet WebServer Aufbau, Design, Programmierung, DB-Anbindung (WWW, HTML, HTTP, HTTPS, SSL, CGI, TCP/IP, FTP, NFS)
  • Versionsverwaltungen: Git, CVS, SVN, Clearcase

 

Standards, Schnittstellen:

  • RS232
  • RS485
  • Modems (Analog, GSM, GPRS)

Beruflicher Werdegang

 

1999-2005

Festanstellung als Entwicklungsingenieur mit Schwerpunkt: Inbetriebnahme und Programmierung von embedded Systemen unter Linux

 

2005-heute

Freiberufler

Betriebssysteme

Amiga OS
Echtzeitbetriebssysteme
Xenomai (RTAI) für Linux
Embedded Linux
Linux-Kernel
RTEMS
Ubuntu
Unix
insbesondere Linux-Treiber, Plattform-Anpassungen

Programmiersprachen

ANSI-C++
Assembler
PowerPC, Arm, Intel, Motorola 68000, 6510
Bash
Basic
begonnen mit Basic
BPF
C
sehr gute Erfahrung in Linux-Treiber Programmierung
C++
sehr gute Erfahrung - auch mit Standard Template Library, XML-Parser
CMake
Device Tree
Fortran
benützt an der Universität
GNU make
GNU Makefile
Imake, GNU-Make, Make-Maker etc...
sehr gute GNU-Make Erfahrung, ANT
Java
einige Jahre Java Programmiererfahrung
JavaScript
ein wenig
Maschinensprachen
gute Erfahrung in Assembler
Modula-2
benützt an der Universität
Objective C
Version 2.0 mit Cocoa auf dem iPhone
Perl
sehr gute Erfahrung
Python
gute Erfahrung
QMake
Qt
Scriptsprachen
sed, awk
SDL
benützt an der Universität
Shell
GNU Bash V4.2 bevorzugte Shell, ash, tcsh, Busybox
Tcl/Tk
ein wenig Erfahrung
TeX, LaTeX
Diplomarbeit mit LaTeX erstellt
yacc/lex
bison/lex und javacc

Datenbanken

MySQL
Oracle

Datenkommunikation

Bus
Profibus, Foundation Fieldbus High Speed Ethernet
ISO/OSI
Experte
Ethernet
Experte
Internet, Intranet
Experte
ISDN
LAN, LAN Manager
Experte
Message Queuing
Experte
parallele Schnittstelle
Experte
PCIe
Experte
RFC
Experte
Router
Experte
RPC
Experte
Packet-Radio
RS232
Experte
SMTP
Experte
SNMP
SPI
Experte
TCP/IP
Experte
Windows Netzwerk
Insbesondere tiefere Erfahrung mit Samba

Hardware

AD7924
Amiga
ARM
ARM Layerscape LS1021 - Cortex A7
ARMv8-A
BDI 2000 von Abatron
Sehr gute Erfahrung mit dem JTAG Debugger auf PowerPC, ARM
Bus-Systeme
Profibus, CAN-Bus, FF - Fieldbus, Modbus, Ethernet
Cortex A9
Cortex-A53
Echtzeitsysteme
RTAI, Xenomai
embedded Systeme
sehr gute Erfahrungen mit PowerPC und ARM Prozessoren
Hardware entwickelt
seit früher Kindheit und immernoch praktische Anpassung
i.MX6QuadP
Messgeräte
Oszilloskope, Logikanalysatoren, Spektrumanalyser, ...
Mikrocontroller
PowerPC, ARM, Atmel, Xscale, Intel PC
Modem
Motorola
68000, 68040
PC
PLD, FPGA
Programmierung mit VHDL
PLX-Switch
QorIQ LS1043A
Scanner
Siemens MX
Steuer und Regelsysteme
Texas Instruments
OMAP
TI-DAC3101
TI-DRV8816
TI-DRV8832
Trace32 von Lauterbach
Sehr gute Erfahrung mit dem JTAG Debugger auf PowerPC und ARM Prozessoren

Berechnung / Simulation / Versuch / Validierung

PSpice

Design / Entwicklung / Konstruktion

AutoCAD
Ftrace
H-Brücke
SSI
Valgrind
Grundlagen in CAD und Leiterplatten Entflechtung.

Branchen

Branchen

Automatisierungstechnik
Automobilindustrie
Industrie
Telekommunikation
Elektrotechnik
Forschung
Entwicklung
IT-Branche

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.