english  | Home | Impressum | Datenschutz | KIT

Synchrone-Multi-Processing-Erweiterungen für eingebettete Echtzeitbetriebssysteme auf Zynq-SoCs

Synchrone-Multi-Processing-Erweiterungen für eingebettete Echtzeitbetriebssysteme auf Zynq-SoCs
Typ:Bachelor-/ Masterarbeit
Datum:offen (zu vergeben)
Betreuer:

M. Eng. Augusto Hoppe

Synchrone-Multi-Processing-Erweiterungen für eingebettete Echtzeitbetriebssysteme auf Zynq-SoCs

Umfeld

Eingebettete elektronische Systeme unterliegen verschiedenen Anforderungen. Vor allem der Bedarf an Rechenleistung ist seit Jahrzehnten stetig gestiegen. Um diesen zu bedienen, kann der Einsatz moderner Prozessoren in Multicore- und Netzwerkarchitekturen nicht vermieden werden. Höhere Komplexität macht solche Architekturen jedoch anfälliger für zufällige Ausfälle, was katastrophale Auswirkungen haben kann. Strahlung kann zufällig Transistorzellen beeinflussen (Fig. 1), was dazu führt, dass sich die laufende Anwendung unvorhersehbar und unzuverlässig verhält.

                          

Fig. 1 Hochenergie-Neutronen-Effekte an einem N-MOS-Transistor

 

Im sicherheitskritischen Umfeld, wie dem automatisierten Fahren, der Avionik und der Luftfahrt, stellt dies eine massive Herausforderung dar: Denn trotz der Komplexität, die der Einsatz solch moderner Technologien hervorruft, muss das System die bestehenden Anforderungen an Zuverlässigkeit und Verfügbarkeit erfüllen. Wenn wir neue Techniken und Architekturen entwickeln, um solche Ziele zu erreichen, müssen wir in der Lage sein, Informationen zu testen und zu sammeln, um neue Funktionalitäten richtig zu validieren.

Die Entwicklung eines minimalen Betriebssystemkerns mit Synchronous Multi Processing (SMP)-Funktionen zur Untersuchung von fault-tolerant und fail-operational Techniken ist Gegenstand dieser Forschung.

 

Aufgabe

Das Hauptziel dieser Arbeit ist die Implementierung von Multi-Processing-Erweiterungen für den freien Echtzeit-Betriebssystemkern FreeRTOS für eingebettete Systeme. Die Zielplattform für diesen erweiterten Kernel sind SoCs der Xilinx Zynq-Familie. Die Implementierungen sollten sich zunächst auf die dual-core Zynq-7010 Series konzentrieren und schließlich auch auf die quad-core Zynq UltraScale+ Serie portiert werden.

Die resultierende Software soll die aktuellen FreeRTOS-Funktionalitäten für einen einzelnen Kern beibehalten und um eine neue Systembibliothek erweitern, in der alle neuen Funktionen implementiert werden. Änderungen an vorhandenen Kernel-Funktionen sollten minimal sein. Alle Systemverwaltungsfunktionen sollten auf einem Master-Core ausgeführt werden (z.B. Core 0). Dieser Master steuert dann durch Interrupts, Wake-up Events und andere Synchronisationsmechanismen die verbleibenden Kerne (siehe Fig. 2).

 

Fig. 2 Beispiel SMP Setup mit 1 Master Core und 3 SMP Cores zur Bearbeitung der Tasks

 

Voraussetzungen

Für den theoretischen Teil der Arbeit sind Kenntnisse im Bereich eingebetteter elektronischer Systeme sowie Kenntnisse der Speicherverwaltung und der Interprozesskommunikation notwendig. Für den praktischen Teil sind gute Programmierkenntnisse erforderlich. Im Detail sind:

  • Kenntnisse in C- und / oder Assembler-Programmierung erforderlich,
  • Kenntnisse zu eingebetteten CPU-Architekturen und Betriebssystemen erwünscht,
  • Erfahrung mit ZYNQ / VIVADO hilfreich.