Partilhar via


Utilize periféricos numa aplicação com capacidade de visualização em tempo real

Importante

Esta é a documentação do Azure Sphere (Legado). O Azure Sphere (Legado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (Integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).

Aplicações capazes de tempo real (RTApps) podem mapear periféricos para seu uso exclusivo. Para usar um ou mais periféricos em um RTApp:

  • Adicione o periférico ao manifesto do aplicativo.
  • Adicione um manipulador de interrupção (se necessário) e outro código de suporte ao aplicativo.
  • Adicione código para garantir que cada periférico estará em um bom estado conhecido na inicialização.

Importante

Para obter informações específicas de hardware sobre como programar periféricos para um RTApp, consulte a documentação do fabricante do hardware. Para registrar endereços base, números de interrupção, taxa de relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte a Folha de dados MT3620 e o Manual do Usuário MT3620 M4, se ainda houver dúvidas, você pode solicitar detalhes da Avnet por e-mail.Azure.Sphere@avnet.com

Todos os recursos que um RTApp usa devem ser especificados no manifesto do aplicativo. Em um RTApp, você deve usar o nome do recurso atribuído a AppManifestValue no arquivo JSON de definição de hardware para o chip de destino. Não é possível usar o nome de alto nível atribuído ao recurso no arquivo de cabeçalho de definição de hardware. Por exemplo, para encontrar o valor para identificar I2C em ISU0 no hardware MT3620, procure no arquivo mt3620.json na pasta HardwareDefinitions instalada na pasta SDK do Microsoft Azure Sphere. Este periférico é definido da seguinte forma no arquivo JSON:

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

Observe que o valor atribuído a AppManifestValue para o periférico I2C é "ISU0".

Aplicativos carregados simultaneamente não podem compartilhar recursos; O uso de recursos é exclusivo para um único aplicativo. O sistema operacional Azure Sphere executa várias tarefas importantes quando carrega o aplicativo:

  • Configura a multiplexação, para que os pinos associados ao periférico sejam configurados para a funcionalidade solicitada.
  • Configura o mapeamento de núcleo, que envolve a configuração de firewalls para que o aplicativo tenha acesso aos registros associados aos periféricos solicitados.
  • Verifica o manifesto e falha ao carregar o aplicativo se ele reivindicar recursos que já foram reivindicados por outro aplicativo.

O restante desta seção fornece detalhes sobre o uso de periféricos específicos.

Nota

O sistema operacional Azure Sphere não redefine periféricos na inicialização. Seus aplicativos devem garantir que os periféricos estejam em um estado em boas condições na inicialização ou após a reinicialização.

Uma reinicialização do dispositivo é acionada quando um novo aplicativo que usa periféricos é instalado e as seguintes condições são atendidas:

Se uma reinicialização de dispositivo for iniciada, aguarde até que a reinicialização seja concluída e o dispositivo se torne responsivo.

Tópico Description
Use ADCs em aplicativos com capacidade de tempo real Descreve como usar conversores analógico-digitais (ADCs) com o Azure Sphere.
Use o GPIO em aplicações com capacidade em tempo real Descreve como usar a entrada/saída de uso geral (GPIO) com o Azure Sphere.
Use GPT em aplicações com capacidade de tempo real Descreve como usar temporizadores de uso geral (GPT) com o Azure Sphere.
Use I2C em aplicações com capacidade de tempo real Descreve como usar o circuito interintegrado (I2C) para comunicação serial.
Utilize o I2S em aplicações com capacidade em tempo real Descreve como usar o Integrated Interchip Sound (I2S) com o Azure Sphere
Use PWM em aplicações com capacidade de tempo real Descreve como usar a modulação de largura de pulso (PWM) com o Azure Sphere.
Use o SPI em aplicativos com capacidade de tempo real Descreve como usar a SPI (Serial Peripheral Interface) para comunicação serial.
Use UARTs em aplicativos com capacidade de trabalho em tempo real Descreve como usar UARTs para comunicação serial.
Use interrupções externas em aplicativos com capacidade de tempo real Descreve como usar interrupções externas em um RTApp para responder a sinais externos.
Use temporizadores de vigilância em aplicações com capacidade de vigilância em tempo real Descreve os efeitos do uso de temporizadores de vigilância nos núcleos em tempo real MT3620.