Elektroniknet Logo

Advertorial

Prozessisolation in FuSa Anwendungen

ARM1992
© Getty Images

Arms Fusa RTS ermöglicht und vereinfacht den Einsatz von Software-Komponenten in sicherheitskritischen Systemen. Mit der Einführung von Prozessisolation sind Nutzer in der Lage, sowohl kritische als auch unkritische Funktionalitäten sicher auf einem einzigen Mikrocontrollerkern auszuführen.

Seit 2019 gibt es das Laufzeitsystem für funktionale Sicherheit von Arm: FuSa RTS. Dieser Satz von sicherheitszertifizierten Software-Komponenten für die Softwareentwicklung auf Arm Cortex-M Geräten beinhaltet ein robustes Echtzeitbetriebssystem (FuSa RTX RTOS), eine unabhängige Prozessorabstraktionsschicht (FuSa CMSIS-Core), eine verifizierte C-Bibliothek (FuSa C Library) und eine zertifizierte Debug-Komponente (FuSa Event Recorder).

Die folgende Abbildung zeigt die Komponenten in einem Embedded System:

Relevante Anbieter

arm
© arm

Die Vorteile von FuSa RTS wurden von den Nutzern gut angenommen und wir freuen uns, dass es in einer Vielzahl von medizinischen, automobilen und industriellen Anwendungen eingesetzt wird.

In Kürze steht ein Update an, das durch die Unterstützung der prozessor-eigenen MPU noch mehr Sicherheit bieten wird.

Prozessisolation

Moderne Mikrocontroller, die auf der Cortex-M Architektur von Arm basieren, sind sehr leistungsfähig und verfügen oft über flexible eingebaute Kommunikationsperipherie wie CAN-, Ethernet- und Wireless-Schnittstellen.

In vielen Applikationen ist es von Vorteil, nur einen Mikrocontroller mit einem einzigen Kern sowohl für die Ausführung sicherheitsrelevanter Funktionen (z.B. Steuerung einer Insulinpumpe, oder eines Not-Aus-Schalters) als auch für die Ausführung sicherheits-unkritischer Funktionen (Bluetooth-Kommunikation für Datenaufzeichnung, LCD-Display für Benutzerbenachrichtigungen) zu verwenden.

Damit ein solcher Ansatz funktioniert, muss sichergestellt werden, dass in der Applikation der nicht sicherheitskritische Teil (oder der Teil mit niedrigerem Integritätslevel (SIL)) den Betrieb des sicherheitskritischen Teils (oder des Teils mit höherem Integritätslevel) nicht beeinflusst.

Die kommende FuSa RTS Version 1.1 führt eine Prozessisolierungsfunktionalität ein, die solche Anwendungsfälle ermöglicht.

arm
© arm

Vorteile

Die Kombination von Software-Komponenten mit unterschiedlichen SIL-Anforderungen auf einer einzigen MCU bietet folgende Vorteile:

  • Es ermöglicht Produktdifferenzierung mit neuen Funktionalitäten und damit erhöht Produktwert.
  • Es reduziert die Stückliste (BOM) durch Einsparung einer zweiten MCU im System.
  • Reduzierte Sicherheitsanforderungen für einen Teil des Systems vereinfachen die Wiederverwendung von Code aus anderen Projekten sowie Integration von Komponenten von Drittanbietern.
  • Es vereinfacht die Softwareentwicklung, da alle Software Komponenten auf einem Betriebssystem laufen.

So funktioniert es in FuSa RTS

Folgende Funktionen schützen die kritischen Teile der Anwendung vor Softwarefehlern, die in anderen Teilen vorhanden sein können:

  • MPU Protected Zones erlauben Zugriffsbeschränkungen für Prozessorspeicher und Peripherie.
  • Safety Classes ermöglichen zusätzliche Zugriffskontrolle über RTOS-Objekte.
  • Thread Watchdogs stellen sicher, dass Threads innerhalb ihrer zeitlichen Beschränkungen ausgeführt werden können.
  • System Recovery ermöglicht den sicheren Betrieb des Steuerungssystems im Fehlerfall.

MPU Protected Zones

Ein Memory Protection Unit (MPU) ist in vielen Cortex-M basierten Mikrocontrollern vorhanden und ermöglicht es, den Zugriff auf Speicher und Peripherie einzuschränken. Dies wird verwendet, um eine räumliche Isolierung (Spatial Isolation) zwischen Anwendungsprozessen zu implementieren.

In FuSa RTX kann ein RTOS-Thread einer MPU Protected Zone zugewiesen werden. Dann kann dieser Thread nur auf Speicherbereiche zugreifen, die in dieser Zone definiert sind. Damit können keine RTOS-Kernel-Daten oder Thread-Objekte geändert werden, die sich in anderen geschützten Speicherbereichen befinden. Es ist möglich, gemeinsam genutzte Bereiche (Shared Resources) zu definieren, um diese für den Datenaustausch zwischen verschiedenen Threads zu nutzen. Das Konzept ist in der folgenden Abbildung dargestellt:

arm
© arm

Das Open-Source Tool CMSIS-Zone vereinfacht die Systempartitionierung und ermöglicht die Definition von MPU Protected Zones in einer benutzerfreundlichen grafischen Umgebung.

Safety Classes

Sicherheitsklassen (Safety Classes) ermöglichen die Zugriffskontrolle auf RTOS-Objekte. Alle RTOS-Objekte einschließlich der Threads bekommen einen Sicherheitsklassenwert zugeordnet. Die Threads, die zu einer niedrigeren Sicherheitsklasse gehören, können keine RTOS-Objekte einer höheren Sicherheitsklasse verändern. Der Entwickler sollte daher die sicherheitskritischen Teile der Anwendung einer höheren Sicherheitsklasse zuweisen.

Thread Watchdogs

Alle RTOS-Threads teilen sich die Rechenzeit des Prozessors. Daher muss ihre Ausführung überwacht werden, um unerwünschte Auswirkungen auf die Ausführung sicherheitskritischer Funktionen zu vermeiden (Temporal Isolation).

In FuSa RTS kann jeder Thread seinen eigenen Thread-Watchdog benutzen. Bei Zeitverletzungen wird ein Thread-Watchdog-Alarm ausgelöst. Die folgende Abbildung zeigt ein Beispiel:

arm
© arm

System Recovery

Wenn ein Fehler auftritt (z. B. ein HardFault, eine Speicherzugriffsverletzung oder ein Thread-Watchdog-Alarm), blockiert FuSa RTS die Ausführung von unkritischen Threads, um in einen sicheren Zustand überzugehen. Dies kann genutzt werden, um die Ausführung der kritischen Thread-Operation wiederherzustellen. FuSa RTS beinhaltet ein Beispiel, das das Konzept demonstriert.

Zusammenfassung

Das Laufzeitsystem für Funktionale Sicherheit (FuSa RTS) von Arm ermöglicht und vereinfacht den Einsatz eines Echtzeitbetriebssystems und anderen Software-Komponenten in sicherheitskritischen Systemen. Mit der Einführung von MPU Protected Zones, Safety Classes, Thread Watchdogs und System Recovery sind Nutzer in der Lage, sowohl kritische als auch unkritische Funktionalitäten sicher auf einem einzigen Mikrocontrollerkern auszuführen.


Verwandte Artikel

ARM Germany GmbH