Andreas Schibilla Engineering
Dipl.-Ing. (FH) Technische Informatik
Software Engineering • Embedded Systems • Hardware Design • Microcontroller

Software-Entwicklung: Compiler und Tools

Visual Studio Sehr intensiver, jahrelanger Einsatz von Visual Studio im Windows und Embedded Bereich.
Green Hills Multi,
Lauterbach Trace32
NIOS II Eclipse & SBT,
ARM DS-5,
Atmel Studio,
IAR Embedded Workbench,
CodeWarrior
Diese Embedded-Umgebungen und Compiler sind mir sehr vertraut und wurden in vielen Projekten eingesetzt. Insbesondere GHS Multi und verschiedene Eclipse Varianten gehören regelmäßig zum Arbeitsalltag.
QAC/MISRA, Lint,
BullsEye Coverage,
CodeSonar,
Gcov
Diese Tools zur Qualitätssicherung spielen in vielen Projekten eine wichtige Rolle und wurden zahlreich von mir genutzt: Zur statischen Codeanalyse, MISRA oder Lint Check und Ermittlung der Testabdeckung (Code Coverage).
Gprof, AQTime,
DevPartner Perf Analysis,
CodeAnalyst
Performance-Analysen und Code-Optimierungen lassen sich am besten mit Hilfe von Profiling Tools durchführen. Mit diesen Programmen bin ich sehr vertraut und habe sie in vielfachen Projekten eingesetzt, z.B. zur Optimierung von Grafik-Systemen oder komplexen Algorithmen.

Software-Entwicklung: Sprachen

C/C++,
ANSI-C
Meine wichtigsten Sprachen: Intensive und jahrelange Nutzung des gesamten Sprachumfangs. Eingesetzt z.B. für Lowlevel-Treiber-entwicklung auf diversen Plattformen, Ansteuerung von Hardware Controllern, Single- und Multithreading Systeme, Schreiben komplexer, objektorientierter Anwendungen, Demos und Tests.
C# Von mir ständig und gerne eingesetzt z.B. für die Entwicklung komplexer Windows-Anwendungen mit ausgefeilten Algorithmen und tiefgehender Nutzung des .NET Frameworks. Häufig auch zur Programmierung kleiner Tools mit und ohne GUI.
Assembler Jahrelange Praxiserfahrung auf unterschiedlichen Plattformen und Architekturen, meist in Kombination mit Hochsprachen.
Python Häufige Nutzung für kleine Utilities und ein Regression Framework.
PHP, XML, HTML, CSS, JavaScript, MySQL Seit der frühen Phase des Internets habe ich mich regelmäßig mit Web-Programmierung beschäftigt und bleibe stets auf dem Laufenden.
Delphi, Java Vor dem .NET-Durchbruch war Delphi neben C++ die Sprache meiner Wahl für Windows-Projekte. Auch Java habe ich gelegentlich verwendet.
Shell-Scripte (Bash), Batch und Make Häufige Nutzung, da Makefiles und diverse Shell-Scripte nahezu jedes Projekt begleiten.

Windows-Programmierung

Win32-API, MFC Die Windows native API habe ich jahrelang in vielen Projekten eingesetzt. Der Umgang und Funktionsumfang ist mir bestens vertraut.
Driver DDK Eingesetzt für die Entwicklung eines USB-Treibers (Bulk Transfers) und einfacher HID Devices.
.NET Framework, WinForms, WPF Das .NET Framework und WinForms habe ich in zahlreichen Projekten ver-wendet und bin damit bestens vertraut; auch mit WPF GUIs habe ich Erfahrung.
Installer: MSI, WiX Toolset, NSIS Mit dem WiX Toolset habe ich mehrere MSI- und Standalone Installer für Win32-Native und .NET Anwendungen erzeugt.
Code Signing Erfahrung mit der Code-Signierung mit Class 2 Zertifikaten.

Computergrafik

Realtime Rendering Jahrelange Erfahrung mit Grafik-Systemen im Embedded Bereich.
OpenGL (ES) Intensive Nutzung und Entwicklung einiger API-Teile für einen 3D Core.
OpenVG Vielfältige Nutzung und Entwicklung großer Teile der API für einen 2D Core.
EGL, WGL, GLUT Vielfältige Nutzung auf verschiedenen Plattformen und Systemen. Implementierung der kompletten EGL API für einen 2D und 3D Core.
D/AVE 2D/3D/HD Intensive Mitarbeit an Hardware-Design und Treiber-Entwicklung der proprietären 2D- und 3D-Grafik Cores für den Embedded Bereich.
Raytracing, ADF Forschungsarbeit über Algorithmen zum Rendern von adaptiven Distanz-feldern (ADF) mittels Raytracing. Abbildung in ein Hardware-Design (FPGA).
GUI Umfangeiche Erfahrung mit GUI-Entwicklung: WinForms, WPF, QT

Bildverarbeitung

Filter-Techniken Implementierung und Optimierung globaler und lokaler Filter, separierbare und nicht-separierbare Convolution Filter, Gauß, Laplace, Sobel u.a.
Farbräume und Modelle Erfahrung mit Konvertierungen und Operationen in verschiedenen Farbräumen und Modellen wie RGB, LMS, HSV, YUV/YCbCr
Bildoptimierungen Erfahrung mit Techniken für Bildschärfe und Unschärfe/Weichzeichnen, Algorithmen für Kontrast, Helligkeit, Farbsättigung u.a. Operationen im Orts- und Frequenzraum, lineare und nichtlineare Verfahren.

Configuration Management

Subversion (Svn), Git, Synergy, Visual SourceSafe Professionelle Tools zur Versionsverwaltung sind im Alltag selbstverständlich. Ich arbeite täglich insbesondere mit SVN und Git und weiß die vielen Vorteile zu schätzen.
Mantis, Bugzilla, Redmine, Jira Eingesetzt zum Bugtracking im Team und für Zusammenarbeit mit Kunden.

Dokumentation

MS Office, Visio, (LaTeX), Photoshop, Inkscape, Graphviz Verständliche und ansprechende Dokumentation halte ich für sehr wichtig. Daher gehört ein ständiger Einsatz dieser Tools zu meinem Arbeitsalltag.
Doc-O-Matic, Natural Docs, Doxygen Häufige Nutzung dieser Tools als Dokumentationswerkzeug in mehreren Projekten.

Hardware-Entwicklungstools

Quartus II, SOPC Builder, Qsys Jahrelange Erfahrung u. intensiver Umgang mit diversen Altera FPGAs und den Entwicklungstools.
NCSim, SimVision, ModelSim Regelmäßiger Einsatz bei der Hardware-Entwicklung im Embedded Graphics Bereich.
SynaptiCAD Mehrfach genutzt als Wave-Viewer und zur Analyse von Timing-Diagrammen.
Actel Libero, PeakVHDL Gelegentliche Verwendung für Fortbildungszwecke und kleinere Projekte.
Spyglass Mehrfache Nutzung für statische Design-Analysen von RTL Code in den Bereichen Automotive und Embedded Graphics.
Synopsys Design Compiler Gelegentlicher Einsatz zur Synthese von VHDL Designs für ASIC-Umsetzungen.
Eagle PCB Design Gelegentliche Nutzung in kleineren Projekten.
Cadence PSpice Seltener Einsatz beim analogen Schaltungsentwurf in kleineren Projekten.

Hardware-Entwicklung: Sprachen

VHDL Häufiger Einsatz und reichlich Erfahrung im Embedded Graphics Bereich mit einigen ASIC-Umsetzungen und Schwerpunkt auf FPGA-Systemen.
Verilog Mit Verilog habe ich in den letzten Jahren hin und wieder Erfahrung gesammelt und verschiedene Module geschrieben oder angepasst.
SystemC Gelegentlich eingesetzt zur Verifikation und für Test- und Analysezwecke.

Engineering

Microcontroller und Plattformen Jahrelange und vielseitige Erfahrung mit diversen Controllern, z.B. Atmel AVR, C51, Arduino, Microchip PIC, ARM, Renesas v850, R8C, Intel x86, Motorola 68000 u.a.
Systeme Entwicklungsprojekte auf Android, Raspberry Pi, Palm.
BUS Systeme Reichlich Praxiserfahrung bei der Hardware- und Software-Entwicklung verschiedener Busse, z.B. USB, PCI, AMBA AHB/APB, Avalon, I²C, CAN, LVDS, Ethernet, UART (RS232).
Betriebssysteme Umfangreiche Erfahrung mit unterschiedlichen Betriebssystemen bei Anwendung und Entwicklung auf Systemebene, z.B. Microsoft Windows, Linux, Embedded Linux, GreenHills Integrity, Autosar, EEOS, GRLC, QNX und Palm OS
Algorithmik, Matlab/Simulink, Derive Viel Erfahrung und ständiges Interesse an unterschiedlichen Algorithmen und Mathematik, insbesondere in den Bereichen Computergrafik, Compilerbau und Text-Processing

Habe ich Ihr Interesse geweckt? Gerne können Sie auch mein Kurzprofil im PDF-Format herunterladen. Kontaktieren Sie mich für weitere Details und Informationen.