In unserer heutigen Zeit wird der Erfolg von einem Produkt auch zu großen Teilen von der Software mitbestimmt. Immer mehr Funktionen werden mittlerweile nicht mehr in analogen oder diskreten Schaltungen realsiert, sondern in Software ausgelagert. Somit sieht sich ein Hardwareentwickler in zunehmenden Maße mit Software im hardwarenahen Bereich konfrontiert. Nur mit einer fehlerfreien gut strukturierten Software wird das Produkt auch den Anforderungen des Marktes gerecht. Dazu gehört der Einsatz von Codeanalysesoftware genauso zum Repertoire eines Entwicklers wie die Dokumentation der Software.
Software für Microcontroller
- Software für Contollersysteme in ANSI C
- Versionskonntrolle mittels Git
- Einsatz von Code Analyse- und Debugtools
- Dokumentation des Quellcodes mittels Doxygen
- Umsetzung des MISRA-C Programmierstandards
- Betriebssyteme mit µClinux für Microcontroller ohne MMU
- Hardwaretreiber für Grafikcontroller Mint, Coral B, Lime
- Spezielle Grafikalgorithmen zur Optimierung der Geschwindigkeit sowie Drehen und Bewegen von Grafiken
- Ansteuerung von Motoren und Schrittmotoren
- Einsatz von Hardwaredebuggern zur effektiven Programmierung
- Einsatz von speziellen Funkprotokollen zur Reichweitenoptimierung bei der Funkübertragung
Software für embedded Computer
- Erstellen von Board Support Packages für unsere i.MX6 Boards mit Hilfe von YOCTO (embedded Linux und Android)
- grafische Projekte und Benutzeroberflächen mit Qt Creator, QML und C++
- Erstellen von Treibersoftware für kundenspezifische Hardware unter Linux
- Optimierung des Bootloaders (UBoot) und des Linuxkernel bezüglich Bootzeit und Performance
- Erstellen eines kundenspezifischen Rootfilesystems durch Einbinden sämtlich benötigter Scripte und Libraries
Software für PCs / Host-Systeme
- C#
- Visual C++
- Java
- PHP
- SQL Datenbankprogrammierung