Share via


Usar periféricos en una aplicación compatible con tiempo real

Las aplicaciones compatibles con tiempo real (RTApps) pueden asignar periféricos para su uso exclusivo. Para usar uno o más periféricos en una RTApp:

  • Agrega el periférico al manifiesto de la aplicación.
  • Agregue un controlador de interrupción (si es necesario) y otro código auxiliar a la aplicación.
  • Agrega código para asegurarte 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, consulta la documentación del fabricante de hardware. Para las direcciones base del registro, los números de interrupción, la velocidad de reloj, la frecuencia de muestreo y otros detalles sobre el MT3620, consulte la hoja de datos mt3620 y el manual de usuario mt3620 M4; si quedan preguntas, puedes solicitar detalles de Avnet por correo electrónico Azure.Sphere@avnet.com.

Todos los recursos que usa una RTApp deben especificarse en el manifiesto de la 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 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 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 sigue 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; uso de recursos es exclusivo de una sola aplicación. Azure Sphere OS realiza varias tareas importantes cuando carga la aplicación:

  • Configura la multiplexación, para que los pin asociados con el periférico estén configurados para la funcionalidad solicitada.
  • Configura la asignación principal, 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 no puede cargar la aplicación si reclama recursos que ya han sido reclamados por otra aplicación.

El resto de esta sección proporciona detalles sobre el uso de periféricos específicos.

Nota

Azure Sphere OS no restablece los periféricos al iniciarse. Las aplicaciones deben garantizar que los periféricos estén en un estado 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 siguientes condiciones:

Si se inicia un reinicio del dispositivo, espera hasta que se complete el reinicio y el dispositivo responda.

Tema Descripción
Usar ADCs en aplicaciones compatibles con tiempo real Describe cómo usar convertidores analógicos a digitales (ADC) con Azure Sphere.
Usar GPIO en aplicaciones compatibles con tiempo real Describe cómo usar la entrada y salida de uso general (GPIO) con Azure Sphere.
Usar GPT en aplicaciones compatibles con tiempo real Describe cómo usar temporizadores de uso general (GPT) con Azure Sphere.
Usar I2C en aplicaciones compatibles con tiempo real Describe cómo usar Inter-Integrated Circuit (I2C) para la comunicación serial.
Usar I2S en aplicaciones compatibles con tiempo real Describe cómo usar integrated Interchip Sound (I2S) con Azure Sphere
Usar PWM en aplicaciones compatibles con tiempo real Describe cómo usar la modulación de ancho de pulso (PWM) con Azure Sphere.
Usar SPI en aplicaciones compatibles con tiempo real Describe cómo usar la interfaz periférico serie (SPI) para la comunicación serial.
Utilizar UART en aplicaciones compatibles con tiempo real Describe cómo utilizar los UART para la comunicación serial.
Usar interrupciones externas en aplicaciones compatibles con tiempo real Describe cómo utilizar las interrupciones externas en un RTApp para responder a las señales externas.
Usar temporizadores de vigilancia en aplicaciones compatibles con tiempo real Describe los efectos del uso de temporizadores de vigilancia en los núcleos mt3620 en tiempo real.