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:
- O estado de fabricação do dispositivo é definido como DeviceComplete.
- O recurso appDevelopment não está presente no dispositivo. Para obter mais informações, consulte Bloqueio de configuração de periféricos.
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. |