Mikrocontroller-Upgrade: Migration der Firmware von Assembly zu C
Projekt in Kürze: Wir haben die vom Kunden hergestellten Geräte auf einen neuen Mikrocontroller übertragen, um den abgekündigten zu ersetzen. Unsere Ingenieure wählten einen optimalen Mikrocontroller aus, passten die Firmware an und migrierten sie von Assembly zu C. Dadurch konnten wir mögliche Verzögerungen bei der Produktion von Berührungssensoren verhindern und die erforderliche Funktionalität beibehalten.

Kunde und Herausforderung
Wir begannen unsere Zusammenarbeit auf der Grundlage des Zeit- und Materialmodells und stellten ein Team von Fachleuten mit den richtigen Kompetenzen für die anstehende Aufgabe zusammen:
- ein Projektmanager;
- zwei Softwareingenieure;
- ein Softwarearchitekt.
Das Promwad-Team arbeitete mit Experten auf Kundenseite zusammen: einem Hardware-Ingenieur und einem Firmware-Architekten. Um die Arbeiten zu synchronisieren und den Fortschritt zu besprechen, erstellten wir wöchentliche Berichte.
Lösung
1. Auswahl des Mikrocontrollers
- Auswahl eines geeigneten Mikrocontrollers, der die spezifischen Anforderungen des Systems erfüllt.
- Umwandlung des vorhandenen Firmware-Codes von Assembler in C und Anpassung an einen neuen Mikrocontroller: Die Migration zu einer moderneren Entwicklungssprache ist notwendig, da Assembler als veraltet gilt.

Das Projektteam experimentierte mit verschiedenen MCU-Modellen und entschied sich nach den Tests für die Hardwareplattform MC9S08SH8 von NXP.
2. Softwareentwicklung
Die neue Firmware, die in C neu geschrieben wurde, musste die Anforderungen an RAM und physischen Speicher erfüllen, da C-Code in der Regel mehr Speicherplatz beansprucht als Assembler-Code. Es waren Optimierungen erforderlich, damit die Firmware effizient auf dem Mikrocontroller ausgeführt werden konnte: Wir haben die Möglichkeit konfiguriert, das ausführbare Programm in einen Flash-Speicherbereich zu verschieben, der zuvor nicht verwendet wurde.
Die Promwad-Ingenieure verwendeten die Super-Loop-Architektur ohne Unterbrechungen mit fester Zykluszeit als Programmstruktur. Software mit einer solchen Struktur läuft kontinuierlich und führt dieselbe Reihe von Aufgaben in einer Schleife ohne Pausen aus, wodurch ein vorhersehbarer und konsistenter Systembetrieb gewährleistet wird.

Unsere Softwareingenieure entwickelten außerdem ein Simulationsprogramm für den Sensor, um das entwickelte Kommunikationsprotokoll zu testen und zu validieren und sicherzustellen, dass es korrekt mit dem Gerät funktioniert.
Geschäftswert

Mehr zu unseren Leistungen im Bereich Firmware-Entwicklung
- Firmware für einen Fahrradcomputer: Eine Fallstudie zur Entwicklung von Firmware für einen Fahrradcomputer und die AWS-Cloud-Infrastruktur für das Schweizer Start-up Jespr.
- Promwad tritt dem S32K-Ökosystem von NXP bei: Unsere Forschung zum S32K-Ökosystem als Plattform für eingebettete Lösungen im Automobilbereich.