Softwareentwicklung in Bereichen Toolchain, Kernel, System Software, Tools, Embedded
Aktualisiert am 21.08.2023
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.09.2023
Verfügbar zu: 25%
davon vor Ort: 35%
Assembler
C
Embedded C
GNU make
Perl
Git
Subversion
CVS
Shell-Script
ARM
Linux-Distribution
Linux Administration
Linux
FreeBSD
Kernelprogrammierung
Kernel Treiber
JTAG
Deutsch
Muttersprache
Englisch
Fließend

Einsatzorte

München (+200km)
Deutschland
möglich

Projekte

  • Modifizierung eines Android-Clones (LineageOS), daß er von SD-Karte startet anstatt vom eingebauten Flash-Memory des Handys. Für Samsung S7,S9,S10,S10e,A70.

  • Linux "bringup" auf ARM SOC bis zum Shell Prompt

    • Bootcode

    • Speicher Layout

    • Console über ARM DS-5 Semihosting

    • Treiber für ARM SOC Devices (timer, interrupt controller, SPI, etc.)

  • Implementierung und Pflege einer selbstgebauten Distribution für dieses Linux.

  • Linux Treiber für Partitionsverschlüsselung, wobei die Verschlüsselung im User-Mode abläuft (ähnlich dm-crypt.c, aber Verschlüsselungsanfragen werden an ein User-Mode Programm weitergeleitet).

  • Pflege von GNU binutils, gdb, gcc, und newlib für einen proprietären Prozessor

  • Implementierung eines "gdb remote debugging stub" für ARM (ohne JTAG, über serielle Leitung), und für einen proprietären Prozessor

  • Proof-of-concept Implementierung eines UEFI Bootloaders auf der PC Plattform, der ein System von einer vorher "versteckten" Partition booten kann.

  • Testprogramme für SOC für RTL Simulation, "gate level" Simulation, FPGA, und richtige Hardware

  • Kernel-mode Treiber um Informationen auf der Harddisk zu verstecken (MacOS-X, Windows)

  • Infrastructur für den Zugriff auf "copy protection dongles"

    • Kernel-mode Treiber für den parallelen Port und USB (Windows, Linux)

    • User-mode daemons für USB Dongles (Linux, MacOS-X)

    • Zugriff auf Dongles über ein Netzwerk (Windows, Linux, MacOS-X)

      • Server ('service' auf Windows, 'daemon' auf Linux/MacOS-X)

    • Bibliotheken für den Zugriff auf die Dongles (geschrieben in C)

  • Plattform-unabhängiges "Build System" mittels "GNU make" (verschiedene Unices, Linux, MacOS-X, MacOS 9, Windows NT)

Aus- und Weiterbildung

Abitur 1986

Position

Mehr als 25 Jahre Erfahrung in der professionellen Softwareentwicklung. Teamleader für dezentrale Teams (verteilt über Deutschland, Rumänien, Italien, Israel, Indien, Rußland).

Kompetenzen

Top-Skills

Assembler C Embedded C GNU make Perl Git Subversion CVS Shell-Script ARM Linux-Distribution Linux Administration Linux FreeBSD Kernelprogrammierung Kernel Treiber JTAG

Produkte / Standards / Erfahrungen / Methoden

  • 25+ Jahre Programmiererfahrung (Hardware Treiber, Hardware Testprogramme, Netzwerk Client/Server)
    • C
    • Assembler (X86, ARM, und andere)
    • Shell ("sh" und "bash")
    • GNU make
    • C++
    • Perl
    • passives Wissen: diverse andere Sprachen: ocaml, python, elisp, forth, tcl, BASIC, Java. Passiv heißt, ich habe existierende Programme in diesen Sprachen erfolgreich für meinen Anwendungsbereich modifiziert. Projekte in diesen Sprachen benötigen evtl. etwas Einarbeitungszeit.
  • Mehr als 15 Jahre Erfahrung mit der "GNU toolchain" (binutils, gdb, gcc) und "newlib".
    • Offizieller Maintainer des z8k-coff binutils Targets.
    • Implementierung eines ARM gdb Debug-Stubs, der über eine serielle Verbindung und ohne JTAG-Verbindung arbeitet.
  •  Linux kernel:
    • Port des Linux Kernels auf einen proprietäten ARM SOC.
      • Anpassung des Kernel Build Systems
      • Implementation des Boot-Loaders
      • Implementierung verschiedener Treiber für die SOC Devices:
        • Timer
        • Interrupt controller
        • Power controller
        • Console (seriell und ARM "semihosting")
        • Treiber zum Ansprechen eines proprietären Co-Prozessors
        • "user- crypt": Adaption des dm-crypt Treibers daß die Ver-/Entschlüsselung durch einen User-Mode Prozeß durchgeführt wird.
    • Autor der CONFIG_NCPFS_STRONG Konfigurationsoption
  • Verschiedene Open-Source Aktivitäten:
    • Dreamcast LAN-Adapter Support für NetBSD ([URL auf Anfrage])
    • Atari800 emulator Port auf Dreamcast (http://www.atari800.org)
    • z8k GCC Port für Olivetti M20 PCOS ([URL auf Anfrage])
    • cc65 Atari runtime library ((http://www.cc65.org)

Betriebssysteme

Linux

Windows (NT/2000/XP/Vista/7)

MacOS-X 10.x

NetBSD

Solaris

ThreadX

DOS

Programmiersprachen

Aktiv benützt:

C

Assembler (x86, x86_64, ARM)

Shell ("sh" und "bash")

GNU make

Manchmal benützt:

C++

Assembler (SH4, Alpha, Z8000, 6502)

Perl

Tcl

Java

Ocaml

 

Datenkommunikation

IP

RS-232

IPX

 

Hardware

ARM, x86, SH4, PPC

PCs, SoCs, Workstations, Embedded Devices

Branchen

Embedded software

Toolchain (binutils, gdb, gcc, newlib)

System software (Linux, BSD, MacOS-X)

System administration (Linux, BSD)

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.