Embedded Software Entwicklung

Begleitet von exzellentem Projektmanagement entwickeln wir für unsere Kunden Firmware und embedded Software. Die Programme laufen hocheffizient und hardwarenah oder als Anwendungen unter Betriebssystemen wie embedded Linux. Sie skalieren von besonders kompakten, ressourcen-optimierten bis hin zu komplexem Code. Unsere Schwerpunkte sind stets das Messen, Steuern, Regeln, Antreiben, Kommunizieren in Echtzeit und das Bedienen über GUIs.

Entwicklungsdienstleistungen

Die Kommunikation unterstützen wir in allen Schichten: Vom Data Link zur Anwendung. Mit eigenen und mit kommerziellen Stacks.

Wir nutzen klassische Entwicklungsmethoden wie auch agile. Die Vielzahl erfolgreicher Zertifizierungen funktional sicherer Produkte belegt die Qualität unserer Softwareentwicklung. Die strukturierte Entwicklung und Dokumentation der modularen Software auf Basis einer sorgfältig ausgearbeiteten Software-Architektur ermöglichen einen langen Lifecycle der Produkte. Wir verwenden eigene Coding Standards für C und C++ nach MISRA oder übernehmen die unserer Kunden. Die verlässliche Einhaltung der Kodierrichtlinien wird stets durch die „Continuous Integration” sichergestellt.

Folgende Komponenten verwenden wir für unsere Lösungen:

  • Betriebssysteme
    • Echtzeitbetriebssysteme (RTOS) verschiedener Hersteller
    • Funktional sichere RTOS wie Sciopta
    • embedded Linux
    • CODESYS
    • embOS (Segger)
  • Programmiersprachen
    • C, C++, C#
    • Skript-Sprachen wie Python
  • FPGA
    • VHDL für Xilinx, Intel, Microsemi/Microchip und Lattice
    • Softcores von ARM®

embedded Linux: Konfiguration und Applikationsentwicklung

  • Yocto Buildsystem zur Erzeugung eines auf die Hardware und Kundenanforderungen angepassten embedded Linux
    • Python, Shell, Bash für Konfigurationstätigkeiten
    • Linux Core-Utils, Device-Tree Konfiguration, Kernelkonfiguration, Treiberkonfiguration
  • Bootloader-Konfiguration insbesondere mit U-Boot
  • Linux-Konfiguration auch im Hinblick auf Security-Anforderungen
    • Bootloader-Konfiguration
    • Konzeptionierung und Konfiguration der in Linux integrierten Firewall
    • Konfiguration von zentralem Logging
    • SElinux Konfiguration

HMI und GUI

Bei der Entwicklung von HMIs und GUIs greifen wir auf folgende Kompetenzen zurück:

  • User Interfaces
    • WPF
    • MVVM
    • Windows Form
  • Webserver
    • Apache Tomcat
    • IIS
  • Datenbanken
    • SQL Server
    • MYSQL
    • SQLITE
  • Web APIs
    • ASP.NET
    • HTML
    • HTML5
    • Angular
    • Node.js
    • ReactJS
    • REST API
    • SOAP Web Services
  • Frameworks
    • Qt, Qt QML
    • emWin (segger)
    • MEF
    • Caliburn.Micro
    • SCFS

Entwickelte Produkte

  • Diverse HMIs und Bediengeräte zur Steuerung von embedded Systemen (C, C++, Qt)
  • Handbediengeräte mit und ohne Touch-Display (C++, Qt)
  • GUI zur Steuerung von Roboter-Achsen und Service Modul (C#, .NET)
  • GUI zur Visualisierung von Messdaten / Condition Monitoring (C#)
  • PC-GUI zur Datenerfassung und Anzeige

Tools

Für eine effiziente Zusammenarbeit mit unseren Kunden nutzen wir die gleichen Tools wie sie:

  • Rhapsody (IBM Rational Software)
  • Statische Code Analyse
    • Klocwork
    • PC-Lint
    • Understand for C / C++
  • SW-Modultest
    • Tessy (Razorcat Development)
    • Cantata (QA Systems)
    • VectorCAST (Vector Software)
    • Google Test

Wir haben Erfahrung mit vielen weiteren Tools unserer Kunden. Fragen Sie uns einfach an, wenn Sie ein anderes Tool bevorzugen.

Kontakt