Embedded-Softwareentwicklung

Embedded-Software für
sicherheits­kritische Systeme

Wir entwickeln Embedded-Software und helfen deinem Team, Anforderungen, Architektur und Tests zusammenzubringen. Mit Erfahrung aus safety-relevanten Projekten unterstützen wir euch bei IEC 62304 in der Medizintechnik, IEC 61508 und IEC 62061 in der Automatisierung sowie ISO 26262 im Automotive-Bereich.

Von Firmware und Treibern bis zu Traceability, Verifikation und einem Entwicklungsprozess, der im Projektalltag funktioniert.

Medizintechnik

Industrie & Automatisierung

Automotive

Dein nächster Entwicklungsschritt

Wo steht euer Projekt?

Ein Release steht an, Nachweise fehlen oder die Integration stockt? Lass uns besprechen, welches Arbeitspaket wir für euch übernehmen können.

Für ein persönliches Gespräch über dein Projekt.

15+ Jahre Projekterfahrung

Embedded-Software in C / C++

Architektur & Integration

ISO 26262 · Traceability · Tests

Unsere Embedded-Leistungen

Wenn Code, Anforderungen
und Nachweise auseinanderlaufen

Eine Funktion ist implementiert, aber der zugehörige Test fehlt. Ein Treiber funktioniert einzeln, scheitert jedoch im Gesamtsystem. Oder die Architektur beschreibt einen Softwarestand, den es längst nicht mehr gibt. Wir bearbeiten diese Lücken mit deinem Team – in der Software und im Entwicklungsablauf.

Konkrete Arbeitsergebnisse: spezifizierte Anforderungen, dokumentierte Architektur, implementierte Software und nachvollziehbare Tests.

01

Firmware-Entwicklung
& Treiber

Wir entwickeln Firmware, Bootloader und Treiber in C und C++. Dabei berücksichtigen wir Echtzeitverhalten, Speichergrenzen und die Schnittstellen zur Hardware – von der Inbetriebnahme bis zur Einbindung in eure Applikation.

C / C++ · Mikrocontroller · RTOS

02

Anforderungen
& Softwarearchitektur

Unklare Anforderungen und gewachsene Schnittstellen machen Änderungen teuer. Wir spezifizieren überprüfbare Softwareanforderungen, modellieren Architektur und Detailed Design und halten Abhängigkeiten zwischen Komponenten fest. So wird sichtbar, welche Teile eine Änderung betrifft.

Softwarearchitektur · UML · Schnittstellen

03

Systemintegration
& Fehlersuche

Fehler treten erst auf der Zielhardware oder unter Last auf? Wir integrieren Treiber, Betriebssystem und Applikation, analysieren Timing und Kommunikation und grenzen Fehler mit Debugger, Oszilloskop und Busanalyse ein. Im Automotive-Umfeld übernehmen wir auch AUTOSAR-Konfiguration und -Migration.

RTOS · AUTOSAR · Hardware-Debugging

04

Bootloader, Diagnose
& Security

Updates und Diagnose müssen mit der Applikation zusammenspielen. Wir entwickeln und integrieren Bootloader, Diagnosezugriffe und Kommunikationsschnittstellen. Erfahrung bringen wir unter anderem mit UDS, geschützter Fahrzeugdiagnose und AUTOSAR Crypto mit.

UDS · SFD · HSM · Bootloader

05

Funktionale Sicherheit
& Entwicklungsprozesse

Safety-Anforderungen müssen sich in Architektur, Implementierung und Tests wiederfinden. Wir unterstützen bei deren Umsetzung, bei Architektur- und Code-Reviews sowie beim Aufbau der Traceability. Unsere Erfahrung umfasst Sicherheitsmechanismen und die Mitarbeit an technischen Sicherheitskonzepten.

Safety-Anforderungen · Reviews · Traceability

06

Software-Verifikation
& Testautomatisierung

Manuelle Tests bremsen Releases, und nach Änderungen bleibt die Regression unklar? Wir erstellen Testspezifikationen, implementieren Modul- und Integrationstests und binden sie in eure CI-Pipeline ein. Testfälle und Ergebnisse werden den Softwareanforderungen zugeordnet.

Tessy · GTest · Jenkins · Automatisierung

C / C++

AUTOSAR Classic

FreeRTOS

Embedded Linux

STM32

AURIX

RH850

CAN / LIN

SPI

Ethernet

UDS

Medizintechnik · IEC 62304

Embedded-Software für Medizinprodukte:
Entwicklung und Nachweise zusammenführen

Die Firmware entwickelt sich weiter, doch Softwareanforderungen, Architektur und Verifikation halten nicht Schritt? Vor dem nächsten Review fehlen Zuordnungen, Änderungen sind schwer nachzuvollziehen und das Team sammelt Nachweise nachträglich zusammen.

Wir unterstützen euch bei der Softwareentwicklung nach IEC 62304. Gemeinsam mit eurem Entwicklungsteam und Qualitätsmanagement bringen wir Software-Lebenszyklusprozesse und technische Umsetzung zusammen.

Von der Softwareanforderung bis zum Verifikationsergebnis

  • Softwareanforderungen und Architektur: überprüfbare Anforderungen formulieren, Schnittstellen dokumentieren und Softwarekomponenten nachvollziehbar strukturieren.
  • Risikokontrollmaßnahmen umsetzen: mit euren Risikomanagement-Verantwortlichen die softwarebezogenen Maßnahmen aus dem Risikomanagement nach ISO 14971 in Anforderungen, Implementierung und Tests überführen.
  • Verifikation und Traceability: Anforderungen mit Modul- und Integrationstests verknüpfen und Testergebnisse nachvollziehbar dokumentieren.
  • Änderungen und Regression: Auswirkungen einer Softwareänderung bewerten, betroffene Arbeitsergebnisse aktualisieren und wiederholbare Tests aufbauen.

Ein möglicher Einstieg: Wir betrachten eine bestehende Softwarekomponente, prüfen die Kette von der Anforderung bis zum Test und übernehmen die vereinbarten Lücken als Arbeitspaket.

Unterstützung für euer Medizinsoftware-Projekt besprechen

Automatisierung · IEC 61508 · IEC 62061

Funktionale Sicherheit:
vom Safety Requirement bis zum Test auf der Zielhardware

Eine Sicherheitsfunktion ist auf Systemebene beschrieben – aber was muss die Software konkret leisten? Fehlerreaktionen, Überwachungsmechanismen und Schnittstellen müssen spezifiziert werden. Gleichzeitig sollen Echtzeitverhalten, Integration und die Nachweise für den nächsten Meilenstein stimmen.

Wir unterstützen euch bei sicherheitsbezogener Embedded-Software im Umfeld von IEC 61508 und IEC 62061. Wir arbeiten mit euren System- und Safety-Verantwortlichen an den Softwareanforderungen, der Umsetzung und der Verifikation.

Sicherheitsmechanismen implementieren und überprüfbar machen

  • Safety-Anforderungen konkretisieren: softwarebezogene Anforderungen aus dem Sicherheitskonzept ableiten und überprüfbare Akzeptanzkriterien festlegen.
  • Architektur und Fehlerreaktionen: Schnittstellen, Zustandsübergänge und Diagnosefunktionen beschreiben und im Review gegen die Anforderungen prüfen.
  • Hardwarenahe Umsetzung: Treiber, Watchdog-Anbindung, Speicherprüfungen und Überwachungsfunktionen entwickeln und auf der Zielhardware integrieren.
  • Verifikation und Regression: Modul- und Integrationstests, Tests von Fehlerreaktionen und automatisierte Prüfungen in eure Build-Pipeline einbinden.

Ein möglicher Einstieg: Wir übernehmen ein Treiber- oder Überwachungsmodul einschließlich Softwareanforderungen, Implementierung und Tests – mit abgestimmten Schnittstellen zu eurem Sicherheitskonzept.

Safety- und Integrationsaufgaben mit uns besprechen

Projektbeispiele von mars engineering

Safety umsetzen und Entwicklungsprozesse verbessern

Safety-Module für ein ASIL-C-Steuergerät

Die Aufgabe: Basissoftware für ein ASIL-C-Steuergerät in einem Assistenzsystem für Nutzfahrzeuge entwickeln.

Unser Beitrag: Wir entwickelten Safety-Module für Speicher-CRC-Prüfungen, Watchdog-Tests und kontinuierliche Spannungsüberwachung und arbeiteten am technischen Sicherheitskonzept mit.

Verifikation: Softwaretests mit Tessy wurden in das Jenkins-Build-System integriert. So verband das Projekt hardwarenahe Entwicklung, Sicherheitsmechanismen und automatisierte Tests.

Architektur- und Prozessberatung für ein drahtloses Batteriemanagementsystem

Die Aufgabe: Die Hardware-Architektur und Systemstruktur eines Bluetooth-basierten Batteriemanagementsystems unterstützen und einen passenden Entwicklungsprozess aufbauen.

Unser Beitrag: Wir analysierten das Kommunikationsprotokoll, definierten einen Entwicklungsprozess mit Orientierung an ASPICE Level 1 und erstellten projektspezifische Dokumentation.

Wissen ins Team bringen: Schulungen zu Systemanalyse und Spezifikationserstellung ergänzten die Architektur- und Prozessarbeit. Hinzu kamen Testsysteme zur Sensorevaluation.

Weitere Projekte zu AUTOSAR, Bootloadern und Embedded-Software ansehen

Zusammenarbeit mit mars engineering

Ein Arbeitspaket übernehmen.
Euer Team weiterbringen.

Ihr braucht Unterstützung bei einer konkreten Funktion, vor einem Meilenstein oder beim Aufbau eures Softwareentwicklungsprozesses? Wir steigen dort ein, wo euer Projekt steht.

Zum Einstieg betrachten wir eure Anforderungen, den Softwarestand und die offenen Nachweise. Daraus vereinbaren wir ein abgegrenztes Arbeitspaket mit klaren Ergebnissen und Schnittstellen zu eurem Team.

Trag oben deine Kontaktdaten ein. Den Rest besprechen wir persönlich.

01

Entwickeln und integrieren

Wir übernehmen Firmware, Treiber oder Integrationsaufgaben einschließlich Spezifikation und Tests. Die Umsetzung stimmen wir mit eurer Hardware, Toolchain und Releaseplanung ab.

02

Lücken in Prozess und Nachweisen schließen

Wir prüfen, wo Anforderungen, Architektur und Tests nicht zusammenpassen, priorisieren offene Arbeitsergebnisse und unterstützen bei ihrer Erstellung. Reviews und Schulungen helfen eurem Team, den Ablauf selbst weiterzuführen.

03

Entwicklung gezielt automatisieren

Wir automatisieren Build- und Testabläufe und unterstützen beim gezielten Einsatz von KI in der Entwicklung. Dabei bringen wir Erfahrungen aus dem Ausbau unseres eigenen KI-gestützten Entwicklungsprozesses ein. Für Security-Fragen zum Entwicklungsprozess ist unser CRA-Check ein weiterer Einstieg.

Markus Däschler
Geschäftsführer · mars engineering

Dein Ansprechpartner

Ich kenne die Software.
Und den Alltag dahinter.

Ich bin Markus Däschler, Geschäftsführer von mars engineering. Seit über 15 Jahren arbeite ich an Embedded-Systemen – vom Treiber auf der Zielhardware bis zur Softwarearchitektur und zum Entwicklungsprozess. Ich kenne die Fehlersuche am Prüfstand ebenso wie die Frage, ob Anforderungen und Tests wirklich zusammenpassen.

In safety-relevanten Automotive-Projekten habe ich Sicherheitsmechanismen entwickelt, an Sicherheitskonzepten mitgearbeitet und Architektur-Reviews begleitet. In der Prozessberatung und in Schulungen geht es mir darum, dass ein Team mit den Ergebnissen im Alltag weiterarbeiten kann.

Wenn du mit uns über dein Projekt sprichst, möchte ich verstehen, wo es konkret hakt: in der Software, an einer Schnittstelle oder im Entwicklungsablauf. Gemeinsam mit meinem Team bei mars engineering kläre ich, welche Aufgaben wir übernehmen können und welche Ergebnisse euch beim nächsten Schritt helfen.

C / C++ · AUTOSAR · Diagnose · Softwarearchitektur · ISO 26262

Kurz beantwortet

Fragen zur Entwicklung und Zusammenarbeit

Ja. Wir unterstützen bei Softwareanforderungen, Architektur, Implementierung, Verifikation und Traceability sowie bei den dazugehörigen Entwicklungsabläufen. Den Umfang stimmen wir mit eurem Entwicklungsteam und Qualitätsmanagement ab. Unsere Erfahrung aus safety-relevanten Embedded-Projekten bildet dafür die technische und methodische Grundlage.

Wir unterstützen bei den softwarebezogenen Aufgaben: Safety-Anforderungen konkretisieren, Architektur und Schnittstellen beschreiben, Sicherheitsmechanismen implementieren und ihre Funktion durch Reviews und Tests prüfen. Die Aufgaben stimmen wir mit euren System- und Safety-Verantwortlichen ab.

Ja. Wir entwickeln Firmware und Treiber in C und C++, integrieren Software auf der Zielhardware und erstellen Modul- und Integrationstests. Bei Bedarf verbinden wir diese Aufgaben mit der Überarbeitung von Anforderungen und Entwicklungsnachweisen.

Ja. ISO 26262, AUTOSAR, Diagnose und Basissoftware gehören zu unserer Projekterfahrung. Wir unterstützen unter anderem bei Stack-Migrationen, Integration, Safety-Anforderungen, Architektur-Reviews und Verifikation.

Ja. Zum Beispiel mit einer Softwarekomponente, einer Integrationsaufgabe oder der durchgängigen Verknüpfung von Anforderungen und Tests. Wir legen gemeinsam die Ergebnisse, Zuständigkeiten und Schnittstellen fest.

Wir bauen unseren eigenen KI-gestützten Entwicklungsprozess aus und geben diese Erfahrungen an Entwicklungsteams weiter. Gemeinsam betrachten wir, wo KI euch bei Anforderungen, Implementierung, Tests oder Dokumentation unterstützen kann. Wir legen fest, wie Ergebnisse geprüft werden und in eure bestehenden Abläufe einfließen. Ein möglicher Einstieg ist ein abgegrenzter Anwendungsfall, den wir mit eurem Team erproben und auswerten.

Der CRA-Check ist ein Einstieg, um euren Entwicklungsprozess mit Blick auf Cybersecurity zu betrachten. Gemeinsam schauen wir, wie Security-Anforderungen, Softwareabhängigkeiten, Schwachstellen und Updates bisher behandelt werden und wo Handlungsbedarf besteht. Daraus lassen sich nächste Schritte für euren Prozess und die dazugehörige Dokumentation ableiten. Mehr zum CRA-Check.

Welche Aufgabe steht eurem nächsten Release im Weg?

Erzähl uns von eurer Software, den relevanten Standards und dem nächsten Meilenstein. Gemeinsam legen wir fest, wo mars engineering dein Team konkret unterstützen kann.