Verwenden von Peripheriegeräten in einer Echtzeitanwendung

Echtzeitfähige Anwendungen (RTApps) können Peripheriegeräte für ihre exklusive Verwendung zuordnen. So verwenden Sie ein oder mehrere Peripheriegeräte in einer RTApp:

  • Fügen Sie das Peripheriegerät zum Anwendungsmanifest hinzu.
  • Fügen Sie der Anwendung einen Interrupthandler (falls erforderlich) und anderen unterstützenden Code hinzu.
  • Fügen Sie Code hinzu, um sicherzustellen, dass sich jedes Peripheriegerät beim Start in einem bekannten fehlerfreien Zustand befindet.

Wichtig

Hardwarespezifische Informationen zum Programmieren von Peripheriegeräten für eine RTApp finden Sie in der Dokumentation Ihres Hardwareherstellers. Informationen zur Registrierung von Basisadressen, Interruptnummern, Taktfrequenz, Samplinghäufigkeit und anderen Details zum MT3620 finden Sie im MT3620-Datenblatt und im MT3620 M4-Benutzerhandbuch. Wenn Fragen bestehen, können Sie Details von Avnet anfordern, indem Sie eine E-Mail senden Azure.Sphere@avnet.com.

Alle Ressourcen, die von einer RTApp verwendet werden, müssen im Anwendungsmanifest angegeben werden. In einer RTApp müssen Sie den Namen für die Ressource verwenden, die AppManifestValue in der JSON-Datei der Hardwaredefinition für den Zielchip zugewiesen ist. Sie können den allgemeinen Namen, der der Ressource in der Headerdatei der Hardwaredefinition zugewiesen ist, nicht verwenden. Um beispielsweise den Wert zum Identifizieren von I2C auf ISU0 auf MT3620-Hardware zu finden, suchen Sie in der Datei mt3620.json im Ordner HardwareDefinitions, der im Ordner Microsoft Azure Sphere SDK installiert ist. Dieses Peripheriegerät ist in der JSON-Datei wie folgt definiert:

 {"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},

Beachten Sie, dass appManifestValue für das I2C-Peripheriegerät der Wert "ISU0" zugewiesen ist.

Gleichzeitig geladene Anwendungen können keine Ressourcen gemeinsam nutzen. Die Ressourcennutzung erfolgt ausschließlich für eine einzelne Anwendung. Das Azure Sphere-Betriebssystem führt beim Laden der Anwendung mehrere wichtige Aufgaben aus:

  • Konfiguriert multiplexing, sodass die dem Peripheriegerät zugeordneten Pins für die angeforderte Funktionalität konfiguriert werden.
  • Richtet die Kernzuordnung ein, bei der Firewalls so konfiguriert werden, dass die Anwendung Zugriff auf die Register hat, die den angeforderten Peripheriegeräten zugeordnet sind.
  • Überprüft das Manifest und kann die Anwendung nicht laden, wenn es Ressourcen beansprucht, die bereits von einer anderen App beansprucht wurden.

Der Rest dieses Abschnitts enthält Details zur Verwendung bestimmter Peripheriegeräte.

Hinweis

Das Azure Sphere-Betriebssystem setzt Peripheriegeräte beim Start nicht zurück. Ihre Anwendungen sollten sicherstellen, dass sich Peripheriegeräte beim Start oder nach dem Neustart in einem als fehlerfreien Zustand befinden.

Ein Geräteneustart wird ausgelöst, wenn eine neue Anwendung installiert wird, die Peripheriegeräte verwendet und die folgenden Bedingungen erfüllt sind:

Wenn ein Geräteneustart initiiert wird, warten Sie, bis der Neustart abgeschlossen ist und das Gerät reaktionsfähig wird.

Thema Beschreibung
Verwenden von ADCs in Echtzeitanwendungen Beschreibt die Verwendung von Analog-Digital-Konvertern (ADCs) mit Azure Sphere.
Verwenden von GPIO in Echtzeitanwendungen Beschreibt die Verwendung der allgemeinen Eingabe/Ausgabe (General Purpose Input/Output, GPIO) mit Azure Sphere.
Verwenden von GPT in Echtzeitanwendungen Beschreibt die Verwendung von Allgemeinen Timern (General Purpose Timer, GPT) mit Azure Sphere.
Verwenden von I2C in Echtzeitanwendungen Beschreibt, wie Inter-Integrated Circuit (I2C) für die serielle Kommunikation verwendet wird.
Verwenden von I2S in Echtzeitanwendungen Beschreibt die Verwendung von Integrated Interchip Sound (I2S) mit Azure Sphere
Verwenden von PWM in Echtzeitanwendungen Beschreibt die Verwendung von Pulsbreitenmodulation (PWM) mit Azure Sphere.
Verwenden von SPI in Echtzeitanwendungen Beschreibt die Verwendung der seriellen Peripherieschnittstelle (Serial Peripheral Interface, SPI) für die serielle Kommunikation.
Verwenden von UARTs in Echtzeitanwendungen Beschreibt die Verwendung von UARTs für die serielle Kommunikation.
Verwenden externer Interrupts in Echtzeitanwendungen Beschreibt, wie externe Interrupts in einer RTApp verwendet werden, um auf externe Signale zu reagieren.
Verwenden von Watchdog-Timern in Echtzeitanwendungen Beschreibt die Auswirkungen der Verwendung von Watchdog-Timern auf die MT3620-Echtzeitkerne.