Hardwarenahe Programmierung in Echtzeitumgebung

Ausgangslage

Für Steuerungsaufgaben im Bereich der Batterie-Fertigung wurde von unserem Kunden eine neue Hardware-Plattform auf Basis des Concerto Mikrocontroller von Texas Instruments entwickelt. Der Mikrocontroller kombiniert einen ARM-Prozessor (Master) mit einem DSP für die schnellen Steuerungsaufgaben. aixITem unterstützte das Entwicklerteam des Kunden fortlaufend bei speziellen Aufgaben. Dank der Flexibilität von aixITem konnten die einzelnen Komponenten schnell integriert werden.

Herausforderung

Die Entwicklung war bereits bis zu einem gewissen Grad fortgeschritten als aixITem um Unterstützung gebeten wurde. Um die Kontinuität zu gewährleisten bestand für uns die Herausforderung darin, uns in kurzer Zeit in die Besonderheiten des TI-Prozessors einzuarbeiten und den Kunden damit optimal zu unterstützen.

Unsere Leistung

Für das Zusammenspiel der bestehenden Komponenten war es erforderlich, das Realtime-Betriebssystems TI-RTOS einzusetzen. aixITem hat die Umstellung der bestehenden Software für das Realtime-Betriebssystem übernommen, Tasks eingeführt und die Hardwarezugriffe so gestaltet, dass sie zum Betriebssystem kompatibel sind. Eine Besonderheit stellten hierbei die Netzwerkzugriffe dar. Diese mussten zum Erhalt der Performance unverändert bleiben und durften nicht auf die Funktionen des Betriebssystems umgestellt werden. Ergänzend wurde das TFTP-Protokoll implementiert um die Software auf den beiden Kernen des Prozessors aktualisieren zu können. Die Flash-API von TI wurde verwendet um Daten für den Master (ELF-Format) und den DSP (COFF-Format) im Flash-Speicher abzulegen. Die Realisierung erfolgte in C und C++ mit Hilfe der TI-Entwicklungsumgebung. Während der Realisierung und in der ausführlichen Testphase waren unsere Kenntnisse zur Analyse des Assemblercodes notwendig.

Wie läuft die Einarbeitung ab?

Im Bereich der Mikrocontroller ist es unumgänglich, dass sich die Entwickler in jedem Projekt mit der Hardwaredokumentation beschäftigen. Insbesondere dann, wenn unterschiedliche Hardware-Komponenten zusammenwirken wird in seltenen Fällen exakt die gleiche Kombinationen von Komponenten verwendet wie in einem bereits realisierten Projekt.

Mit unserem Grundverständnis für die Abläufe im Realtime-Umfeld können wir uns schnell und effektiv in die Dokumentation einlesen. In den meisten Fällen steht eine umfangreiche Sammlung von Beispielen zur Verfügung auf deren Basis die benötigten Funktionen realisiert werden. Die Einarbeitung in eine neue Entwicklungsumgebung gehört bei uns zum Tagesgeschäft.

Die Hardware und die Testumgebung existiert nur in Ihrem Hause. Wo findet die Entwicklung statt?

In solchen Fällen kann die Entwicklung teilweise oder ganz beim Kunden stattfinden. Die Entscheidung, welche Leistungen bei aixITem und welche beim Kunden erbracht werden, können individuell festgelegt werden. Recherchen und theoretische Einarbeitung in Hardware- und Softwarekomponenten sowie das Erstellen von Konzepten können in der Regel vollständig bei aixITem stattfinden. 

Können auch nur Teilaufgaben in einem Großprojekt von aixITem übernommen werden?

Wenn beim Kunden ein eigenes Entwicklerteam besteht, dann kann dieses Team von aixITem ergänzt werden. Wir übernehmen für Sie passende Teilaufgaben in Ihrem Gesamtprojekt.

Der Mehrwert für das Gesamtprojekt entsteht dann, wenn die Teilaufgaben klar abgegrenzt werden können. Bei einer geeigneten Projektstruktur können Teilaufgaben immer ausgelöst und unabhängig vom Gesamtprojekt durch aixITem entwickelt und getestet werden. Die Integration der entwickelten Lösungen in das Gesamtprojekt erfolgt dann gemeinsam mit dem Entwicklerteam beim Kunden.