Uso de periféricos en una aplicación de alto nivel
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
Las aplicaciones de alto nivel pueden asignar periféricos para su uso exclusivo. Para usar uno o varios periféricos en una aplicación de alto nivel:
- Agregue el periférico al manifiesto de aplicación.
- Agregue un controlador de interrupción (si es necesario) y otro código auxiliar a la aplicación.
- Agregue código para asegurarse de que cada periférico estará en un estado correcto conocido al iniciarse.
Todos los recursos que usa una aplicación de alto nivel deben especificarse en el manifiesto de aplicación. En una aplicación de alto nivel, puede usar el nombre del recurso asignado a AppManifestValue en el archivo JSON de definición de hardware para el chip de destino o el nombre de alto nivel asignado al recurso en el archivo de encabezado de definición de hardware. Por ejemplo, para buscar el valor para identificar I2C en ISU0 en el hardware MT3620, busque en el archivo mt3620.json de la carpeta HardwareDefinitions instalada en la carpeta SDK de Microsoft Azure Sphere. Este periférico se define como se indica a continuación en el archivo JSON:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
Tenga en cuenta que el valor asignado a AppManifestValue para el periférico I2C es "ISU0", mientras que el nombre de alto nivel es "MT3620_ISU0_I2C".
Las aplicaciones cargadas simultáneamente no pueden compartir recursos; el uso de los recursos es exclusivo de una única aplicación. El sistema operativo de Azure Sphere realiza varias tareas importantes cuando carga la aplicación:
- Configura la multiplexación, para que los pines asociados con el periférico estén configurados para la funcionalidad solicitada.
- Configura la asignación de núcleos, lo que implica configurar firewalls para que la aplicación tenga acceso a los registros asociados con los periféricos solicitados.
- Comprueba el manifiesto y genera un error al cargar la aplicación si solicita recursos que ya ha solicitado otra aplicación.
En el resto de esta sección se ofrece información detallada sobre cómo usar periféricos concretos.
Nota:
El sistema operativo Azure Sphere no restablece periféricos al iniciarse. Las aplicaciones deben asegurarse de que los periféricos están en un estado correcto conocido al iniciarse o después del reinicio.
Se desencadena un reinicio del dispositivo cuando se instala una nueva aplicación que usa periféricos y se cumplen las condiciones siguientes:
- El estado de fabricación del dispositivo se establece en DeviceComplete.
- La funcionalidad appDevelopment no está presente en el dispositivo. Para obtener más información, consulte Bloqueo de configuración de periféricos.
Si se inicia un reinicio del dispositivo, espere hasta que se complete el reinicio y el dispositivo responda.
Tema | Descripción |
---|---|
Uso de ADC en aplicaciones de alto nivel | Describe el uso de un convertidor analógico-digital (ADC) con Azure Sphere. |
Uso de GPIO en aplicaciones de alto nivel | Describe cómo usar la entrada/salida de uso general (GPIO) con Azure Sphere. |
Uso de I2C en aplicaciones de alto nivel | Describe cómo usar Inter-Integrated Circuit (I2C) para la comunicación en serie. |
Uso de PWM en aplicaciones de alto nivel | Describe cómo usar la modulación del ancho de pulsos (PWM) con Azure Sphere. |
Uso de SPI en aplicaciones de alto nivel | Describe cómo usar Serial Peripheral Interface (SPI) para la comunicación en serie. |
Uso de UART en aplicaciones de alto nivel | Describe cómo usar UART para la comunicación en serie. |
Uso de temporizadores de guardián en aplicaciones de alto nivel | Describe cómo usar un temporizador guardián. |