Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
24 Elektronik 03 2020 embedded den verschiedene Tasks genutzt wodurch sicherheitskritische Funktionen sowie Regelungsfunktionen immer Vorrang vor nicht zeitund sicherheitskritischen Aufgaben haben Praxistipps zur Entwicklung Beim Entwickeln von Systemen mit asymmetrischem Multiprocessing stellen sich dem Entwickler einige typische Probleme weshalb nachfolgend ein Vorschlag für den Entwicklungsprozess unterbreitet wird Er besteht aus sechs Phasen 1 Entwickeln der Raid Processing Unit Board Support Package BPU und Anwendungs-Software ohne OpenAMPKommunikation In diesem Schritt wird zunächst das BSP für die RPU inklusive der erforderlichen OpenAMP-Bibliotheken erstellt Danach wird die Anwendungssoftware entwickelt bis die Kommunikation via RPMsg zwingend erforderlich ist In eingebetteten Systemen ist ein Board Support Package BSP die Ebene der Software die hardwarespezifische Treiber und andere Routinen enthält die es einem bestimmten Betriebssystem traditionell einem Echtzeitbetriebssystem oder RTOS ermöglichen in einer bestimmten Hardwareumgebung einem Computer oder einer CPU-Karte zu funktionieren die mit dem RTOS selbst integriert ist 2 Entwickeln der Accelerated Processing Unit Board Support Package und Anwendungssoftware ohne OpenAMPKommunikation In diesem Schritt wird das BSP für die APU inklusive der erforderlichen OpenAMP-Kernelmodule erstellt Danach wird die Anwendungssoftware entwickelt bis die Kommunikation via RPMsg zwingend erforderlich ist 3 Test der OpenAMP-Kommunikation Als nächstes sind die Ressourcentabellen zu definieren außerdem wird der Device Tree der Accelerated Processing Unit und das Linkerscript der RPU angepasst Danach wird die Kommunikation zum Beispiel mit einer EchoAnwendung verifiziert ➔ Der Start des Remote-Prozessors beim Systemstart ist unabhängig und verzichtet auf das Lifecycle-Management per remotproc Hier laufen VirtIO und RPMsg im Userspace die I O-Zugriffe sind über einen Userspace-I O-Treiber zum Beispiel libMetal im Kernel auszuführen Hingegen übernimmt den Start des Remote-Prozessors sowie das Laden der Firmware beispielsweise ein First Stage Bootloader Bei beiden Varianten sind zusätzliche geringfügig unterschiedliche Informationen im Device Tree einzutragen Bei Variante eins sind das Power Domains IPI der RP und die dafür reservierten Speicherbereiche Die Speicherbereiche müssen mit der Ressourcentabelle des RP übereinstimmen Hierbei ist der genaue Inhalt stark vom verwendeten SoC und der Konfiguration abhängig Bei MBatt kommuniziert eine LinuxAnwendung im Rahmen eines Smart Grids via Internet mit dem Netzbetreiber Dabei gibt die Anwendung unterschiedliche Daten über den Betriebszustand zum Beispiel den Ladezustand der Batterien weiter Nebenher empfängt die Anwendung aber auch Daten wie Anforderungen zur Einspeisung von Leistung ins Netz oder bei zu viel Leistung im Netz zum Laden der Batterien OpenAMP gibt die aufbereiteten Leistungsvorgaben an die Regelung auf der RPU weiter außerdem überträgt die Software Daten für das Logging und die Visualisierung von der RPU zur APU OpenAMP mit Baremetal RTOS In der Regel wird auf dem Remote-Prozessor eine Bare-Metalbeziehungsweise RTOS-Anwendung verwendet bei MBatt wird auf der RPU ein FreeRTOS genutzt ein Real Time Operating System RTOS unter Lizenz des Massachusetts Institute of Technology MIT Sie umfasst neben der Anwendungssoftware auch die OpenAMP-Bibliothek sowie die gemeinsame Ressourcentabelle Die Anwendung muss nach dem Start die Kommunikation initialisieren und kann dann über die RPMsg-Programmierschnittstelle mit dem Master kommunizieren Beim Empfang des shutdown sind die entsprechenden Ressourcen freizugegeben und das Abschalten zu bestätigen Beim Linken der Firmware für den Remote-Prozessor müssen die Speicherbereiche mit denen aus der Ressourcentabelle beziehungsweise dem Device Tree übereinstimmen Die ELF wird dem Master dann zur Verfügung gestellt Von der Regelung werBild 4 Schematische Darstellung der Komponenten in einem Multilevel-Umrichter Accelerating Processing Unit und Raid Processing Unit bilden zusammen das Management des dreiphasigen Umrichters Bild 5