Systemprogrammierer Embedded Linux

Profil Foto
Verfügbarkeit einsehen
  Nähe des Wohnortes
de  |  en  |  fr
  79€/Stunde
  85567 Grafing bei München
 15.10.2018

Kurzvorstellung

Ich bin ein Hardware naher Software Ingenieur und entwickle Linux Treiber, Bootloader und portiere Linux für Embedded Geräte.

Ich biete

IT, Entwicklung
Technik, Ingenieurwesen
  • Regelungstechnik / Steuerungstechnik
  • Nachrichtentechnik
  • Elektronik
  • Messtechnik
  • Funktechnik
  • Elektrotechnik
  • Automatisierungstechnik (allg.)
Forschung, Wissenschaft, Bildung
  • Ingenieurwissenschaft
  • Informatik

Projekt‐ & Berufserfahrung

Erstellung eines Linux Treibers für PCI Express via PLX-Switch
Delphi, Wiehl
9/2017 – 9/2018 (1 Jahr, 1 Monat)
Automobilindustrie
Tätigkeitszeitraum

9/2017 – 9/2018

Tätigkeitsbeschreibung

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.
- Erstellung eines Linux Treibers für einen Hochgeschwindigkeits-Datenaustausch unter Zuhilfe der DMA Einheit von PLX über einen NT-Link. Beschleunigung von den DMA Transfers mittels Scatter/Gather Listen und erhöhter TLB Größe.
- 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 Board-Support-Package 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.

Eingesetzte Qualifikationen

Forschung & Entwicklung (allg.), Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Kernel Programmierung, Agile Entwicklung, SCRUM, ARM-Architektur, Enterprise Architect (EA), Software Analyse, Software Architektur / Modellierung, Software Design, Assembler, Bash (Shell), C++, Disassembler, Git, Jira, Perl, XML, HTML


Linux Treiber Entwickler
Siemens Healthcare GmbH, Erlangen
4/2016 – 6/2017 (1 Jahr, 3 Monate)
Medizintechnik
Tätigkeitszeitraum

4/2016 – 6/2017

Tätigkeitsbeschreibung

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

Eingesetzte Qualifikationen

Embedded Linux, Linux (Kernel), ARM-Architektur, Apache Subversion (SVN), Bash (Shell), Perl, Software engineering / -technik, Softwareentwicklung (allg.), Git, make (Software), Gerätetreiber, Embedded Software Engineering


Software Entwickler und Berater
Diehl Connectivity Solutions GmbH, Wangen und Homeoffice
7/2015 – 2/2016 (8 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

7/2015 – 2/2016

Tätigkeitsbeschreibung

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.

Eingesetzte Technologien:

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

Eingesetzte Qualifikationen

Betriebssysteme (allg.), SCRUM, Mantis, Softwareentwicklung (allg.), C++, C, Eclipse, Router / Gateways, TCP/IP, IT-Beratung (allg.), Forschung & Entwicklung (allg.)


Software Entwicklung
Garderos GmbH, München
5/2014 – 7/2015 (1 Jahr, 3 Monate)
Telekommunikation
Tätigkeitszeitraum

5/2014 – 7/2015

Tätigkeitsbeschreibung

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 Performance.
- 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.

Eingesetzte Technologien:

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

Eingesetzte Qualifikationen

IPSec, Ubuntu, Betriebssysteme (allg.), Mantis, C++, C, Apache Subversion (SVN), Router / Gateways, TCP/IP, Telekommunikation / Netzwerke (allg.), Ethernet


Programmierung verschiedener Softwareanteile für ein Funkgerätesystem.
Rohde & Schwarz, München
3/2010 – 11/2013 (3 Jahre, 9 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

3/2010 – 11/2013

Tätigkeitsbeschreibung

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 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

Eingesetzte Qualifikationen

Hardware Entwicklung, Ubuntu, Windows XP, Debian, Perl, Python, Visual Studio, XML, C++, C, Assembler, Bash (Shell), WIX (Windows Install XML)


Software Entwicklung im Telematik-Bereich und Personen Ortung
ISA-Telematics GmbH, Grafing bei München
7/2009 – 2/2010 (8 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

7/2009 – 2/2010

Tätigkeitsbeschreibung

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.

Eingesetzte Technologien:

Objective-C, C++, Windows-API, Visual Studio, Debian, Git, CVS, clamav, S.M.A.R.T

Eingesetzte Qualifikationen

Linux (Kernel), Debian, Android, Objective-C, Visual Studio, Softwareentwicklung (allg.), C++, C, Android Entwicklung, CVS (Concurrent Versions System), Migration, Back up / Recovery, Forschung & Entwicklung (allg.)


Programmierung eines Wireless HART-Gateways
Pepperl & Fuchs, Mailand und Homeoffice
9/2008 – 10/2008 (2 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

9/2008 – 10/2008

Tätigkeitsbeschreibung

09.2008 - 10.2008 Pepperl & Fuchs, Automatisierung

Optimierung der Realzeiteigenschaften eines Wireless HART-Gateways unter Linux.
- Konfiguration des Board-Support-Package PTXdist auf einem Embedded Linux System
- Test RS485 Anschaltung für Realzeit Fähigkeit mit Linux Preemption

Eingesetzte Technologien:

Linux-Treiber, C, ARM-Assembler, PTXdist, RS485, Modbus, Git, quilt

Eingesetzte Qualifikationen

Embedded Linux, Linux (Kernel), ARM-Architektur, C++, C, Assembler, Router / Gateways


Programmierung einer Maschinensteuerung mit FPGA Anbindung.
ARRI, München
7/2008 – 4/2009 (10 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

7/2008 – 4/2009

Tätigkeitsbeschreibung

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

Eingesetzte Technologien:

C++, Boost-Library, Bash, Perl, UDP, AMD 64, Red-Hat, Subversion, quilt, MySQL,
Valgrind, Bugzilla, Can-Bus

Eingesetzte Qualifikationen

mySQL, Field Programmable Gate Array (FPGA), Perl, C++, C, Apache Subversion (SVN), Bash (Shell), CAN-Bus (controller area network)


Integration von Linux auf einem Embedded Gerät
microNet Automation, Vaterstetten
12/2007 – 6/2008 (7 Monate)
Konsumgüterindustrie
Tätigkeitszeitraum

12/2007 – 6/2008

Tätigkeitsbeschreibung

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

Eingesetzte Technologien:

C, C++, Boost-Library, Bash, ARM-Assembler, Linux-Kernel, Subversion, Git, quilt, ELDK


Schulungen über Linux Programmierung
DENX GmbH, Gröbenzell
8/2007 – 9/2007 (2 Monate)
Telekommunikation
Tätigkeitszeitraum

8/2007 – 9/2007

Tätigkeitsbeschreibung

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

Eingesetzte Technologien:

Linux-Kernel, U-Boot, PowerPC Prozessor von AMCC, ELDK


Portierung LTTng für PowerPC Prozessoren
DENX GmbH, Gröbenzell
7/2007 – 8/2007 (2 Monate)
Telekommunikation
Tätigkeitszeitraum

7/2007 – 8/2007

Tätigkeitsbeschreibung

07.2007 - 08.2007 DENX GmbH

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

Eingesetzte Technologien:

LTTng, C, Linux-Kernel, PowerPC, Git, StGit, quilt, ELDK


Erstellung Linux Treiber auf dem OMAP-Prozessor
Siemens AG, München
5/2006 – 11/2007 (1 Jahr, 7 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

5/2006 – 11/2007

Tätigkeitsbeschreibung

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

Eingesetzte Technologien:

Linux-Kernel, U-Boot, Cogito, StGit, ELDK, ARM-Assembler, OTRS

Eingesetzte Qualifikationen

Hardware Entwicklung, Linux (Kernel), Betriebssysteme (allg.), ARM-Architektur, Assembler, Migration, Filtertechnik, Inbetriebnahme (allg.), Kommunikation (allg.), Design (allg.)


Telefonanlage für VoIP
Siemens AG, München
8/2005 – 5/2006 (10 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

8/2005 – 5/2006

Tätigkeitsbeschreibung

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

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

Eingesetzte Technologien:

C++, C, Java, Ant, SVN, Rational ClearCase, Linux-Kernel, Eclipse, Suse-Linux,
VoIP, RTP, SIP, G729, G711, Intel-Assembler


Entwicklung eines Codegenerators
Micros-Fidelio, München
5/2005 – 11/2005 (7 Monate)
Telekommunikation
Tätigkeitszeitraum

5/2005 – 11/2005

Tätigkeitsbeschreibung

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.

Eingesetzte Technologien:

C, C++, XML


Erstellung eines NAS-Systems
DIMEDEV, München
3/2005 – 5/2005 (3 Monate)
Multimediasysteme
Tätigkeitszeitraum

3/2005 – 5/2005

Tätigkeitsbeschreibung

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

Eingesetzte Technologien:

C, Linux-Kernel, Redboot, Xscale, ARM-Assembler


Software Programmierer in Festanstellung
Softing AG, Haar bei München
3/1999 – 2/2005 (6 Jahre)
Automatisierung
Tätigkeitszeitraum

3/1999 – 2/2005

Tätigkeitsbeschreibung

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

Eingesetzte Technologien:

C, C++, Perl, CVS, Bash-Shell, PPC-Assembler, Intel-Assembler, HTML,
VHDL, Debian-Linux, Suse-Linux, TCP/IP


Ausbildung

Elektrotechnik - Nachrichtentechnik und Informationstechnik
(Diplomingenieur Universität)
Jahr: 1998
Ort: TU München

Qualifikationen

Programmiersprachen

Assembler - sehr gute Erfahrung auf PowerPC, ARM, Intel PC, Motorola 68000
Bash - seit vielen Jahren ständig im Einsatz
C - sehr gute Erfahrung in Linux-Treiber Programmierung
C++ - sehr gute Erfahrung, Standard Template Library, XML-Parser
Java - einige Jahre Java Programmiererfahrung
make - sehr gute Erfahrung mit GNU-Make
Objective C - Version 2.0 mit Cocoa auf dem iPhone
Parser - gute Erfahrungen mit Bison, Lex und Javacc
Perl - sehr gute Erfahrung
Python - gute Erfahrung, zuletzt immer mehr im Einsatz
Skriptsprachen - gute Erfahrung mit Tcl/Tk, sed, awk


Betriebssysteme

Linux - Debian, Ubuntu, SUSE, Gentoo, embedded Linux
embedded Linux - ELDK, Buildroot, PTXdist


Versionsverwaltungen

Git - sehr gute Erfahrung mit Git von Linus Torvalds
Subversion - sehr gute Erfahrung mit Subversion (SVN)
CVS - sehr gute Erfahrung mit CVS (und RCS)
ClearCase - einiges an Praxis mit IBM R Rational R ClearCase R


Issue-Tracking-Systeme

Bugzilla - 6 Monate Erfahrung
ClearQuest - 4 Jahre Erfahrung mit IBM R Rational R ClearQuest R
Mantis - 1 Jahr Erfahrung mit Mantis Issue Tracking System
OTRS - 1 Jahr Erfahrung mit Open Ticket Request System

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Fließend)
  • Französisch (Gut)
  • Italienisch (Grundkenntnisse)
Reisebereitschaft
Nähe des Wohnortes
Home-Office
bevorzugt
Profilaufrufe
2441
Alter
48
Berufserfahrung
27 Jahre und 2 Monate (seit 08/1991)

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden »