Compartilhar via


Usar periféricos em um aplicativo de alto nível

Importante

Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) 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).

Aplicativos de alto nível podem mapear periféricos para seu uso exclusivo. Para usar um ou mais periféricos em um aplicativo de alto nível:

  • 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 esteja em um bom estado conhecido na inicialização.

Todos os recursos que um aplicativo de alto nível usa devem ser especificados no manifesto do aplicativo. Em um aplicativo de alto nível, você pode usar o nome do recurso atribuído a AppManifestValue no arquivo JSON de definição de hardware para o chip de destino ou o nome de alto nível atribuído ao recurso no arquivo de cabeçalho de definição de hardware. Por exemplo, para localizar o valor para identificar I2C em ISU0 no hardware MT3620, examine o arquivo mt3620.json na pasta HardwareDefinitions instalada na pasta SDK do Microsoft Azure Sphere. Esse periférico é definido da seguinte maneira 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", enquanto o nome de alto nível é "MT3620_ISU0_I2C".

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

  • Configura a multiplexação, para que os pinos associados com o 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 com os 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.

Observação

O sistema operacional do 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 do dispositivo for iniciada, aguarde até que a reinicialização seja concluída e o dispositivo responda.

Tópico Descrição
Use ADCs em aplicativos de alto nível Descreve como usar ADCs (conversores de analógico para digital) com o Azure Sphere.
Usar GPIO em aplicativos de alto nível Descreve como usar o GPIO (entrada/saída de uso geral) com o Azure Sphere.
Use I2C em aplicativos de alto nível Descreve como usar o I2C (Inter-Integrated Circuit) para comunicação serial.
Use PWM em aplicativos de alto nível Descreve como usar os PWM (moduladores de largura de pulso) com o Azure Sphere.
Usar SPI em aplicativos de alto nível Descreve como usar a SPI (Serial Peripheral Interface) para comunicação serial.
Use UARTs em aplicativos de alto nível Descreve como usar UARTs para comunicação serial.
Usar temporizadores de watchdog em aplicativos de alto nível Descreve como usar um temporizador de watchdog.