Usar UARTs em aplicativos com capacidade em tempo real

Os UARTs ISU no dispositivo do Azure Sphere estão disponíveis para uso por RTApps. Para usar um UART isu, um RTApp deve listá-lo na seção Recursos do manifesto do aplicativo. Identifique o UART usando o "AppManifestValue" definido para ele no arquivo JSON para o chip de destino. Por exemplo, a linha a seguir reserva o UART no ISU0 em um chip MT3620:

"Capabilities": {
   "Uart": [ "ISU0" ]
  }

Seu código de aplicativo precisa de uma maneira de identificar o UART, seu endereço base de registro e seu número de interrupção e deve incluir um manipulador de interrupção para o UART. Você pode encontrar o endereço base e o número de interrupção do UART na documentação de hardware do fabricante.

Nota

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 conhecido na inicialização ou após a reinicialização.

Suporte a MT3620 para UARTs nos núcleos em tempo real

Esta seção descreve as opções UART que se aplicam a núcleos em tempo real no hardware MT3620. Para obter informações gerais sobre o suporte a MT3620 para UARTs, consulte suporte a MT3620.

Cada núcleo em tempo real tem um UART dedicado, que é separado dos UARTs isu e destina-se ao registro em log. Como cada UART desse tipo é dedicado para uso apenas pelo aplicativo em seu núcleo, o RTApp não é necessário para listá-lo no manifesto do aplicativo. Os RTApps são atribuídos ao primeiro núcleo em tempo real que está disponível; No momento, não é possível escolher qual núcleo em tempo real e, portanto, qual UART dedicado usa. No entanto, a saída do comando de início do aplicativo de dispositivo az sphere informa qual núcleo foi atribuído ao aplicativo.

Para registrar endereços base, interromper números, taxa de relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte o Mt3620 Datasheet e o Manual de Usuário MT3620 M4; se as perguntas permanecerem, você poderá solicitar detalhes da Avnet por email .Azure.Sphere@avnet.com

O aplicativo de exemplo UART

O exemplo UART_RTApp_MT3620_BareMetal demonstra como se comunicar pelo UART em um RTApp.