Firmware Entwicklung

Die meisten Kommunikationsgeräte heute basieren auf Mikrocontrollereinheiten (MUCs) und Transceivern (ICs). Die Funktionalität der Geräte ist in ihrer Firmware definiert. Wir haben einen kompletten Firmware-Entwicklungsprozess, der auf folgenden Elementen basiert (aber natürlich nicht auf diese limitiert ist):

Wiederverwendbarkeit

Im Lauf der Zeit haben wir eine große Palette an an Elementen und Design-Mustern gesammelt, die uns die Entwicklung gängiger Funktionalitäten erleichtert, schneller von der Hand gehen lässt und zudem die Code Qualität verbessert. 

Portabilität

Wir sind es gewohnt mit vielen verschiedenen Mikrocontrollern und Transceiver-Plattformen zu arbeiten. Eine saubere Hardware-Abstraktion ist uns besonders wichtig. Mit der Zeit haben wir extrem viel Erfahrung gesammelt. Wir können viele verschiedene Halbleiter be- und verarbeiten und  kennen die Anforderungen, um flexible und komplett ausgestattete Oberflächen-Designs der Hardware zu gestalten. 

PROJEkT MANAGEMENT

Die Leitung komplexer Projekte bedarf hoher Anforderungen. Intern arbeiten wir mit agiler Entwicklung, teilweise basierend auf SCRUM, teilweise basierend auf anderen agilen Ansätzen. Diese kombinieren wir mit testgesteuerter Entwicklung wann immer es notwendig ist. Zusätzlich nutzen wir GIT-basierte Versionskontrollen, Fehlersuchen und kontinuierliche Integration via Gitlab, sowie ein Projektmanagement mit BlueAnt (by proventis). 

Tests und deren Prüfung

Unsere Software wird mit Unit-Tests in den kleinsten sinnvollen Einheiten entwickelt. Zusätzlich nutzen wir automatisierte Testsysteme auf Systemlevel, um verlässliche Regressionstests  sicher zu stellen. Diese Systemtests werden in simulierten, nachgeahmten und reellen Umgebungen durchgeführt.