Uso de periféricos en una aplicación con respuesta en tiempo real
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 con respuesta en tiempo real (RTApps) pueden asignar periféricos para su uso exclusivo. Para usar uno o más periféricos en una RTApp:
- 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.
Importante
Para obtener información específica del hardware sobre cómo programar periféricos para una RTApp, consulte la documentación del fabricante del hardware. Para registrar direcciones base, números de interrupción, frecuencia de reloj, frecuencia de muestreo y otros detalles sobre MT3620, consulte la hoja de datos MT3620 y el Manual de usuario de MT3620 M4; si las preguntas permanecen, puede solicitar detalles de Avnet enviando un correo electrónico Azure.Sphere@avnet.coma .
Todos los recursos que una RTApp usa deben especificarse en el manifiesto de aplicación. En una RTApp, debe usar el nombre del recurso asignado a AppManifestValue en el archivo JSON de definición de hardware para el chip de destino. No puede usar el nombre general asignado al recurso en el archivo de encabezado de definición del 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".
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 con respuesta en tiempo real | Describe el uso de un convertidor analógico-digital (ADC) con Azure Sphere. |
Uso de GPIO en aplicaciones con respuesta en tiempo real | Describe cómo usar la entrada/salida de uso general (GPIO) con Azure Sphere. |
Uso de GPT en aplicaciones con respuesta en tiempo real | Describe cómo utilizar los temporizadores de uso general (GPIO) con Azure Sphere. |
Uso de I2C en aplicaciones con respuesta en tiempo real | Describe cómo usar Inter-Integrated Circuit (I2C) para la comunicación en serie. |
Uso de I2S en aplicaciones con respuesta en tiempo real | Describe cómo usar Integrated Interchip Sound (I2S) con Azure Sphere |
Uso de PWM en aplicaciones con respuesta en tiempo real | Describe cómo usar la modulación del ancho de pulsos (PWM) con Azure Sphere. |
Uso de SPI en aplicaciones con respuesta en tiempo real | Describe cómo usar Serial Peripheral Interface (SPI) para la comunicación en serie. |
Uso de UART en aplicaciones con respuesta en tiempo real | Describe cómo usar UART para la comunicación en serie. |
Uso de interrupciones externas en aplicaciones compatibles en tiempo real | Describe cómo usar interrupciones externas en una RTApp para responder a señales externas. |
Uso de temporizadores de guardián en aplicaciones compatibles en tiempo real | Describe los efectos del uso de temporizadores de guardián en los núcleos en tiempo real MT3620. |