Partager via


Utiliser des périphériques dans une application compatible en temps réel

Les applications en temps réel (RTApps) peuvent mapper des périphériques pour leur utilisation exclusive. Pour utiliser un ou plusieurs périphériques dans une application en temps réel :

  • Ajoutez le périphérique au manifeste de l’application.
  • Ajoutez un gestionnaire d’interruption (si nécessaire) et un autre code de prise en charge à l’application.
  • Ajoutez du code pour vous assurer que chaque périphérique sera dans un état correct connu au démarrage.

Important

Pour obtenir des informations spécifiques au matériel sur la façon de programmer des périphériques pour une application en temps réel, consultez la documentation du fabricant de votre matériel. Pour connaître les adresses de base d’inscription, les numéros d’interruption, la fréquence d’horloge, la fréquence d’échantillonnage et d’autres détails sur le MT3620, consultez la feuille de données MT3620 et le manuel de l’utilisateur MT3620 M4. Si des questions subsistent, vous pouvez demander des détails à Avnet en envoyant un e-mail à Azure.Sphere@avnet.com.

Toutes les ressources utilisées par une application en temps réel doivent être spécifiées dans le manifeste de l’application. Dans une application en temps réel, vous devez utiliser le nom de la ressource affectée à AppManifestValue dans le fichier JSON de définition matérielle de la puce cible. Vous ne pouvez pas utiliser le nom de haut niveau affecté à la ressource dans le fichier d’en-tête de définition matérielle. Par exemple, pour trouver la valeur permettant d’identifier I2C sur ISU0 sur le matériel MT3620, recherchez le fichier mt3620.json dans le dossier HardwareDefinitions installé dans le dossier du Kit de développement logiciel (SDK) Microsoft Azure Sphere. Ce périphérique est défini comme suit dans le fichier JSON :

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

Notez que la valeur affectée à AppManifestValue pour le périphérique I2C est « ISU0 ».

Les applications chargées simultanément ne peuvent pas partager des ressources ; l’utilisation des ressources est exclusive à une seule application. Le système d’exploitation Azure Sphere effectue plusieurs tâches importantes lorsqu’il charge l’application :

  • Configure le multiplexage afin que les broches associées au périphérique soient configurées pour la fonctionnalité demandée.
  • Configure le mappage des cœurs, qui implique la configuration des pare-feu afin que l’application ait accès aux registres associés aux périphériques demandés.
  • Vérifie le manifeste et ne parvient pas à charger l’application si elle revendique des ressources qui ont déjà été revendiquées par une autre application.

Le reste de cette section fournit des détails sur l’utilisation de périphériques spécifiques.

Note

Le système d’exploitation Azure Sphere ne réinitialise pas les périphériques au démarrage. Vos applications doivent s’assurer que les périphériques sont dans un état correct connu au démarrage ou après le redémarrage.

Un redémarrage de l’appareil est déclenché lorsqu’une nouvelle application qui utilise des périphériques est installée et que les conditions suivantes sont remplies :

Si un redémarrage de l’appareil est lancé, attendez que le redémarrage soit terminé et que l’appareil devienne réactif.

Sujet Description
Utiliser des ADC dans des applications compatibles en temps réel Décrit comment utiliser des convertisseurs analogique-numérique (ADC) avec Azure Sphere.
Utiliser GPIO dans des applications compatibles en temps réel Décrit comment utiliser l’entrée/sortie à usage général (GPIO) avec Azure Sphere.
Utiliser GPT dans des applications compatibles en temps réel Décrit comment utiliser des minuteurs à usage général (GPT) avec Azure Sphere.
Utiliser I2C dans les applications compatibles en temps réel Décrit comment utiliser Inter-Integrated Circuit (I2C) pour la communication série.
Utiliser I2S dans les applications compatibles en temps réel Décrit comment utiliser le son I2S (Integrated Interchip Sound) avec Azure Sphere
Utiliser PWM dans les applications compatibles en temps réel Décrit comment utiliser la modulation de largeur d’impulsion (PWM) avec Azure Sphere.
Utiliser SPI dans les applications compatibles en temps réel Décrit comment utiliser spi (Serial Peripheral Interface) pour la communication série.
Utiliser des UART dans des applications compatibles en temps réel Décrit comment utiliser des UART pour la communication en série.
Utiliser des interruptions externes dans des applications compatibles en temps réel Décrit comment utiliser des interruptions externes dans une application en temps réel pour répondre aux signaux externes.
Utiliser des minuteurs de surveillance dans des applications compatibles en temps réel Décrit les effets de l’utilisation de minuteurs de surveillance sur les cœurs en temps réel MT3620.