Matthias Thömel verfügbar

Matthias Thömel

Software Entwickler C/C++; JAVA (Android); embedded; IoT; freeRTOS; Linux; hardwarenah; Middleware;

verfügbar
Profilbild von Matthias Thoemel Software Entwickler C/C++; JAVA (Android); embedded; IoT; freeRTOS; Linux; hardwarenah; Middleware; aus Hannover
  • 30159 Hannover Freelancer in
  • Abschluss: nicht angegeben
  • Stunden-/Tagessatz: 65 €/Std.
    Verhandelbar, wenn Projekt länger als 6 Monate läuft; Ich arbeite nur in meinem Büro und nicht vor Ort
  • Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher)
  • Letztes Update: 13.01.2020
SCHLAGWORTE
PROFILBILD
Profilbild von Matthias Thoemel Software Entwickler C/C++; JAVA (Android); embedded; IoT; freeRTOS; Linux; hardwarenah; Middleware; aus Hannover
DATEIANLAGEN
Referenzschreiben Bosch Radio/Navigations-Entwicklung

Diese Anzeige ist nur für angemeldete Nutzer möglich.

Linux Kernel Development Referenz

Diese Anzeige ist nur für angemeldete Nutzer möglich.

Referenz für IoT Projekt mit ESP32

Diese Anzeige ist nur für angemeldete Nutzer möglich.

Projektliste 2019

Diese Anzeige ist nur für angemeldete Nutzer möglich.

Skills Deutsch 2019

Diese Anzeige ist nur für angemeldete Nutzer möglich.

Project Reference 2019

Diese Anzeige ist nur für angemeldete Nutzer möglich.

Skills EN 2019

Diese Anzeige ist nur für angemeldete Nutzer möglich.

PORTFOLIO
SKILLS
Technische Datenverarbeitung
• Erstellen einer Benutzeroberfläche mit WebToolkit
• Digitale Signal Verarbeitung mittels OpenCV und eigenen FIR Filtern
• Maschinelles Lernen mittels NVIDIA CUDA auf GPU (RTX2070)
• Implementierung und Test des USB Treibers für EFM32 SOC
• Anbindung LDMA an USART Schnittstellen für EFM32 SOC um Interrupt Latenzen zu überbrücken
• Schnelle embedded Messdaten-Speicherung und Aggregation mit SQLite3-SQL unter Android
• Update Over the Air für embedded IoT Modul
• Azure-Cloud-Anbindung für IoT Modul
• WLAN Daten-Routing Modul für IoT im Bereich Consumer-Geräte
• AES Verschlüsselung
• Linux File Change Observer mit inotify (eigene Implementierung)
• Linux-Kernel-Treiber Entwicklung für DMA- und Tracing-Treiber
• Projection auf Android Java API in Richtung Android Wear
• P2P Verschlüsselung mit RSA 1024 Bit
• Bluetooth Kommunikation auf Android Java API
• Protokollayer für ein Kundenprotokoll zwischeneiner Verkehrsleitstelle und den Bussen im öffentlichen Bereich
• UDP Scrambler um das Verhalten von UDP über Luftschnittstelle für den Test und die Entwicklung zu simulieren
• Hoch-Parallele Bilddatenverarbeitung auf Nvidia GPUs (Filtering, Mustererkennung)
• Embedded Mediaplayer Core Design und Implementation
• Design einer Mediaplayer Datenbank für SqLite inklusive prototypischer SqLite SQL Abfragen für SqLite Performance Analyse unter embedded Linux
• Entwicklung eines Function Tracing Tools für embedded Linux als Preload Bibliothek
• Entwicklung eines Memory Tracing Tool für embedded Linux als Preload Bibliothek
• Einführen einer Eclipse-CDT Debugging Umgebung unter X86 (uBuntu) für embedded Linux (ARM) Debugging
• Portierung von C/C++ Software von t-kernel auf X86 Linux und ARM embedded Linux (Monta Vista) unter GNU-EABI (C/C++), inklusive Buildsystem-Anpassungen für Cross-Compile mit GNU EABI Toolchain
• Generelles Audio-Management für ein Radio/Navigations-Projekt (C++)
• Erweiterung des Nucleus+ OS gegen Prioritäten-Inversion
• Low-Level Startup-Statemaschine für Nucleus+ (RNS) mit automatischer Abhängigkeitsanalyse und –Steuerung
• In-Target Profiling Tool für C55 DSP/BIOS
• Interprozessorkommunikation mit Zero-Copy-Eigenschaften zwischen ARM und C55 DSP
• Sehr schnelles Memory Management System für internen und externen Speicher (C55 / DSP/BIOS)
• DMA Management für DSP C55 DMA Controller
• Realisation diverser Modem-Standards (Siemens und normales FSK)
• Eigene Sprachanalyse und –synthese für verschlüsselte Sprachübertragungen mit FFT/iFFT und FIR.
• Ansteuerung diverser Modems für Fax, SMS, Voice, DTMF für ein Multi-Messaging System auf einem embedded Prozessor
• Eigener Video-Komprimierer und –Dekomprimierer (ohne Sound), mit FHT
• Synchronisation von multiplen Multimedia-PC für ein 3D-Spiele-System (NEMO) über UDP-Broadcast
• Paketdatentransfer vom Internet zum Mobile-Phone auf Multiprozessorsystem zum Einsatz in Japan. Protokolle: HDLC, IP, TCP, Unit (Ericsson), LAPDM (Ericsson)
• Netzwerk-Analysator (Sniffer) für die Protokolle TCP/IP, HTTP, FTP, SMTP, NNTP, POP3, NetBios an der NDIS-Schnittstelle für Windows-Netzwerk-Treiber (LAN und DFÜ)
• Unix-Systemprogramme zur Netzwerk-Anbindung auf Systemebene zwischen HP-UX (Unix-Workstations) und RTE-A (HP1000-Realtimesysteme)
• Entwicklung des Projekts: "Der Wellenreiter, ein DSP-MC56001-Entwicklungssystem" für die Elektronikfachzeitschrift ELRAD, Hannover
• Digitales-Signal-Prozessing
• schnelle Echtzeit-Analog/Digital-Wandlung
• Mikroprozessorprogrammierung
• Echtzeit-Meßdatenerfassung und Dokumentation/Darstellung
• (Schall-)Analysesysteme für Forschung und Entwicklung für einen Kfz-Konzern
• Materialeinsatzplanung und Materialverfolgung für ein führendes Stahlunternehmen
• Qualitätssicherung mit statistischen Mitteln (X/R-Regelkarte)
• Vernetzung verschiedener Rechnersysteme
• schnelle grafische Darstellungen
• grafische Auswertung gemessener Daten
3. Android
• JAVA unter AndroidX
• GPU Unterstütztes Grafik-Rendering der Daten-Plots
• Extrem schnelle sqlite Anbindung (für mehrere Millionen Datensätze pro Sekunde)
• ProGuard
• Multilingual
• Portrait und Landscape Unterstützung
• WebViews / JAVAScript Anbindung an JAVA
• USB-Host Schnittstelle
• GPS Anbindung
• Graddle-Programmierung (Mehrere Flavors für die App)
• Dynamische Views (zur Laufzeit erzeugt)
• Foreground-Service (für Messungen im Hintergrund)
• Unit-Tests / Demo-Mode der App
• Obfuskierung eines Teils der Datenbank (Maßnahme gegen Reverse Engineering)
4. Programmieren
• C++14 für WebToolkit für Benutzeroberfläche im Browser
• Maschinelles Lernen mit CUDA 10.2
• Android JAVA an AndroidX
• Graddle (Android Build)
• Python Webserver for GoogleTest Testcases
• Embedded Software auf freeRTOS und ESP-IDF
• Design eines Convolutional Neuronal Nets (KI) mit TensorFlow
• Thread-Control und -Scheduling Framework für CUDA 5.0
• Eigenes State Machine Framework für generierte Statemaschinen
• Memory- und Function-Trace Tools für embedded Linux (C/C++)
• Oberfläche für ein Live-Soundmixing-System (C# / .NET)
• Portierung der LUA Script Bibliothek auf ein embedded Target
• Erweiterung des Nucleus+ OS in C
• Diverse Optimierungen für die C55 DSP Software (RAMSET, Stackmove)
• Erweiterung des DSP/BIOS um Analysefunktionen und Task-Steuerung
• Applikationsverwaltung auf Basis C55 DSP/BIOS
• Diverse Devices und Treiber unter VxWorks
• Realisation eines eignen DSP Multitasking Echtzeit-Betriebssystems als Basis für diverse Teilprojekte (für DSP 56826)
• Verteiltes System zur Übermittlung von Internetdaten zum Mobile Phone und zurück (Japanische Nutzer)
• Verteiltes Data-Broker-System (unter Linux und HP-UX; dynamische Netzlast-Verteilung; TCP-sockets; 60 MB Daten in binärem Baum; maximale Antwortzeit: 3 Sekunden)
• Einbindung des Data-Broker-Systems in Intranet-Seiten über php (eigene Funktion in php implementiert)
• Unix- und NT-Programmierung (Programmiersprache C) einer allgemeine Datenbank-Programmierschnittstelle (DBAPI) zur Anbindung von Applikationen an unterschiedliche Datenbank-Systeme (auf Treibern basierend)
• Windows-Oberflächenprogrammierung in C (C++) auf Windows 95 und NT (diverse Compiler)
• Programmierung eines Cross-Compilers zwischen AutoCAD-Lisp und C und zwischen DBase 4.0 und Clipper 5.0
• Softwareherstellung für Windows 3.11 unter Borland C++/API-Schnittstelle
• Applikationsprogrammierung für AutoCAD R12/R13 an der ADS-Schnittstelle in C
• Benutzeroberflächen für Windows 3.11, AutoCAD R12/R13, XWindow, Terminals, ...
• Mitarbeiterverwaltungen
• Lagerbestandsverwaltungen
• Arbeitseinsatzplanung und Zeiterfassung in der Produktion
• Auftragsverfolgung
• Meßdaten-Verwaltung
5. Schnittstellen und Netzwerke
• MIDI
• LDMA
• I²C, USART
• Bluetooth-LE-Modem
• WebSocket, SSL, JSON, UPnP
• WIFI (WLAN) Access Point und Station
• Linux Coherence Memory Interface (ARM v7)
• Bluetooth (Android API)
• MOST-Bus für vernetzte CAR Multimedia Systeme
• MIDI unter Windows (für Digitale Mischpulte; System-Exclusive, Controller-Daten)
• AIC23 AD/DA Wandler
• Serielle Interfaces unter DSP, VxWorks, viele andere
• ISDN (Uk0)
• T1-Interface (US-Standard)
• Analog/Digital- und Digital/Analog-Schnittstellen
• AES/EBU, S/P-DIF und andere Digital-Audio-Schnittstellen
• Parallelschnittstellen, Seriellschnittstellen, HP-IB, GP-IB, eigene digitale Schnittstellen (seriell und parallel)
• LAN, ThinLAN, ThicLAN, X25
• Low-Level-Access-Programmierung Ethernet 802.3 (LAN) in C (HP-UX) und Fortran
6. Hardware und Rechnersysteme
• EFM32 von SiliconLabs (emlib, SDK)
• ESP32 von Espressif (freeRTOS, ESP-IDF)
• iMX6, ARM V7 (Linux/Kernel)
• ARM Prozessor (WinCE 4.2)
• Nvidia-GPU (GT-260) Stream Processors (CUDA 5.0)
• ARM Triton 3 Core System on Chip (Kundenentwicklung) (t-kernel und embedded Linux)
• Texas Instruments OSK5912, OSK5946 (Trinity-OSK)
• Texas Instruments OMAP5912 (C55 DSP), OMAP5946 (Trinity) (C55 DSP)
• Motorola DSP 56826
• VideoGrabber Karte für PC104 Systeme
• VME-Bus
• Diverse Modems: Voice, Fax, GSM
• Power-PC (604, 860) (VxWorks, Ericsson-WPP)
• IBM-kompatible PC (MS-DOS, Windows 3.11/95/NT, 32-Bit-DOS-Extender, Linux)
• HP 9000 (HP-UX, HP-Technical BASIC)
• HP 1000 (RTE-A, RTE-6, RTE-L)
• HP 85 (HP-BASIC)
• Mikroprozessoren: 8051, Z80, MC68000/8, DSP56001, MC68302
• Paragon (HP eigenes Meßdatenverarbeitungs-System)
• Cyber 76 und 128 (Control-Data)
• HP-Plotter, Laserjet, Magnetbandgeräte, CTD-Streamer, ...
7. 4-GL-Programmiersprachen
• ArgoUML + eigenes State Machine Framework
• TresosGUIDE mit XML Export und Crosscompiler auf C
• Rational Rose für Realtime (PPC860)
• Innovator unter HP-UX 9.5 (auf HP-Workstations)
8. Spezielle Bibliotheken
• Linux:
o libtag
o libpl-parser-lib
o libmtp
o libcppunit
o libdbus
o libsqlite3
o Devil (libIL, libILU, libILUT)
o libduma
o glib
o pthread
o zlib
• Windows:
o Videoinput
o CUDA 10.0
o WT (WebToolkit)
9. Programmiersprachen
• C++14 (smart pointer) unter Microsoft Visual Studio 2017
• GCC Crosscompiler Suite (viele Systeme)
• JAVA auf Android API
• Perl/Tk under Windows und Linux
• C/C++ for WinCE 4.2 for embedded devices
• C/C++ für CUDA Nvida GPU Stream Processors (inkl. NSight)
• C/C++ auf uBuntu Linux (gdb/Eclipse CDT)
• C/C++ mit GNU EABI inkl. gdb/gdbserver und Eclipse CDT
• Perl unter Linux
• JAVA (JDK 1.6, J9, Eclipse)
• C# (.NET) für eine GUI
• LUA (für die Widgets eines Radio/Navigations-Systems)
• TCONF (TI Configuration für DSP/BIOS Projekte)
• C (TI Code-Composer-Studio 2.21 und 3.20 mit XDS zum OMAP)
• GNU-C (Metrowerks Codewarrior für DSP 56826)
• GNU-C++ für VisiBroker-Anwendungen (CORBA)
• TCL/TK (mit eigener DLL unter WIN32)
• GNU-C (VxWorks), SunWS-C-Compiler
• C, C++ (MSVS++6.0, Linux, SGI, ...), ECOC (für MC68008), SCZ80 (für Z80), MRI-C (für MC68302)
• CDM(CATIA)-Datenbank Programmierschnittstelle
• Dbase4 und SQL (Datenbank auf MS-DOS, Unix, NT)
• FORTRAN 7X von HP
• Image (Datenbank auf HP 1000)
• Fortran 5 von Control-Data
• diverse BASIC-Dialekte
• diverse Assembler
• HP-GL (Graphics-Language von HP)
• diverse Tabellenkalkulationsprogramme
10. Auslandserfahrung / Fremdsprachen
• Fachteamleitung in Englischer Sprache für indische und chinesische Mitarbeiter (4 Monate)
• Zwei Musterpräsentation beim Kunden in den USA (3 Wochen)
• Teamsupport und Fortbildung für indische Kollegen auf Englisch (2 Jahre)
• Software Design Dokumentation auf Englisch (10 Jahre)
• Drei Zulieferer-Meetings mit japanischem Zulieferer auf Englisch (3 Tage)
• Zuliefererbesprechung in Belgien auf Englisch (1 Tag)
• Entwicklungsbesprechung in Schweden auf Englisch (2 Tage)
• Schulung für ein Meßdatenerfassungsystem in USA auf Englisch (2 Wochen)
• Entwicklung und Support für eine Meßdatenerfassung in England auf Englisch (eine Woche)
11. Weiteres
• Erstellen einer Produktseite für das KI Projekt AILO: http://ailo.show
• Migration einer Geräte-Software von veralteten MicroController auf EFM32 inklusive der Low-Level-Treiber und des LowPower handling
• Software-Architektur und -Design eines WIFI-Router Moduls für schnellste Reaktionszeiten und höchste Zuverlässigkeit (für IoT Geräte)
• Entwicklung eines Software Design Prozesses für eine mittelständische Firma basierend auf SVN, perl/tk für Tooling
• Fachteamleitung für ausländisches Entwickler-Team (Indien, China) im Bereich Media Player Core Entwicklung, 4 – 7 Mitarbeiter
• Entwicklerworkshops für C/C++, Build-System, Download-System, Remote-Debugging, 40 Teilnehmer, 5 Termine; um das Projekt hochzufahren
• Geräte-Muster Präsentationen in Detroit/USA beim Kunden
• Leitung verschiedener Taskforces im Bereich Software-Entwicklung
• Performance Analysen und Bottleneck Beseitigung im embedded Linux und t-kernel
• C/C++ Code Reviews
• Design eines Software-Entwicklungs – und Fehler-Abstell-Prozesses für ein Projekt mit über 50 Entwicklern
• Design eines Software-Schnittstellen-Abstimmprozesses für einen Automobilkonzern
• Projektleitung / Gruppenleitung (max. 15 MA / Gruppe)
• Komplettes Systemdesign für den C55 unter DSP/BIOS mit notwendigen Erweiterungen
• Neu-Aufsetzen einer Multi-Target und Multi-Project Buildumgebung unter ClearCase
• Eigenständige Forschung und Realisation bis zur Produktreife
• Vorträge
• Autor für Elektronikfachzeitschrift
• Dokumentation für diverse Programmsysteme
• Handbuch-Erstellung
• Service vor Ort
• Mitarbeiterschulungen
• Auftragsschulungen für PC-Benutzung und Programmierung
• Anwenderschulungen in der Industrie
• Systemadministrator (UNIX)
PROJEKTHISTORIE
  • 10/2000 - bis jetzt

    • diverse
    • >10.000 Mitarbeiter
    • Sonstiges
  • Referenzschreiben
  • Referenzschreiben finden Sie auf meiner Seite: 
    http://thoemel-consulting.de/index.php/de/consulting/software-entwicklung/dokumente

ZEITLICHE UND RÄUMLICHE VERFÜGBARKEIT
Ich möchte in Hannover arbeiten. Hauptsächlich Remote also. Zu Besprechungen kann ich gerne zum Auftraggeber fahren.
KONTAKTANFRAGE VERSENDEN

Nachricht:

Absenderdaten:

WEITERE PROFILE IM NETZ