Utilizar UARTs em aplicações com capacidade em tempo real
As UARTs isu no dispositivo do Azure Sphere estão disponíveis para utilização pelo RTApps. Para utilizar um UART isu, um RTApp tem de listá-lo na secção Capacidades do manifesto da aplicação. Identifique o UART com o "AppManifestValue" definido para o mesmo no ficheiro JSON do chip de destino. Por exemplo, a linha seguinte reserva o UART no ISU0 num chip MT3620:
"Capabilities": {
"Uart": [ "ISU0" ]
}
O código da aplicação precisa de uma forma de identificar o UART, o respetivo endereço base de registo e o respetivo número de interrupção e tem de incluir um processador de interrupção para o UART. Pode encontrar o endereço base e o número de interrupção do UART na documentação de hardware do fabricante.
Nota
O SO do Azure Sphere não repõe periféricos no arranque. As aplicações devem garantir que os periféricos estão num bom estado conhecido no arranque ou após o reinício.
Suporte de MT3620 para UARTs nos núcleos em tempo real
Esta secção descreve as opções de UART que se aplicam a núcleos em tempo real em hardware MT3620. Para obter informações gerais sobre o suporte de MT3620 para UARTs, consulte Suporte de MT3620.
Cada núcleo em tempo real tem um UART dedicado, que é separado dos UARTs da ISU e destina-se ao registo. Uma vez que cada UART é dedicado para utilização apenas pela aplicação no seu núcleo, a RTApp não é necessária para listá-la no manifesto da aplicação. As RTApps são atribuídas ao primeiro núcleo em tempo real disponível; Atualmente, não é possível escolher que núcleo em tempo real (e, portanto, que UART dedicado) é utilizado por uma aplicação. No entanto, o resultado do comando az sphere device app start reporta que núcleo foi atribuído à aplicação.
Para registar endereços base, números de interrupção, velocidade do relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte a Folha de Dados MT3620 e o Manual de Utilizador mt3620 M4; Se as perguntas permanecerem, pode pedir detalhes à Avnet ao enviar um e-mail para Azure.Sphere@avnet.com.
A aplicação de exemplo UART
O exemplo de UART_RTApp_MT3620_BareMetal demonstra como comunicar através do UART numa RTApp.