Profilbild von Matthias Thoemel Software Entwickler C/C++; JAVA (Android); embedded; IoT; freeRTOS; Linux; hardwarenah; Middleware; aus Hannover

Matthias Thömel

verfügbar

Letztes Update: 16.04.2024

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

Firma: Thömel Consulting
Abschluss: nicht angegeben
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher)

Dateianlagen

bosch-referenz-2016-blurred.pdf
20170109__thoemel__referenzschreiben.pdf
Referenz ESP32 Spirit21 4.2018.pdf
Skills Matthias Thoemel en-v1.20.pdf
Project Reference Matthias Thoemel en-v1.24.pdf
Erfahrungen-und-technische-Kenntnisse-Matthias-Thoemel-DE-v1_160424.pdf
Projektliste-Matthias-Thoemel-DE-v1_160424.pdf

Skills

Technische Datenverarbeitung
•    Verarbeitung der Daten einer Tiefenkamera
•    MQTT-Client für Embedded Systeme
•    Anbindung des ESP32 an die Microsoft IOT HUB Cloud unter Verwendung der ESP32-MQTT Komponente
•    Echtzeit Audio-Datenverarbeitung und Frequenzanalyse (ESP32/ES8388)
•    Datenbroker für MQTT und MODBUS
•    Temperatur-Messdatenerfassung über OneWire (eigener Teiber)
•    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
5. Schnittstellen und Netzwerke
• ESP32: I2C, Analog-IO, Digital-IO, WIFI, Sockets, mbettls• 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
Referenzschreiben
diverse (Sonstiges, >10.000 Mitarbeiter)

Referenzschreiben finden Sie auf meiner Seite: 
http://thoemel-consulting.de/index.php/de/consulting/software-entwicklung/dokumente

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz
Ich möchte in Hannover arbeiten. Hauptsächlich Remote also. Zu Besprechungen kann ich gerne zum Auftraggeber fahren.
Profilbild von Matthias Thoemel Software Entwickler C/C++; JAVA (Android); embedded; IoT; freeRTOS; Linux; hardwarenah; Middleware; aus Hannover Software Entwickler C/C++; JAVA (Android); embedded; IoT; freeRTOS; Linux; hardwarenah; Middleware;
Registrieren