Exercício – Implantar um aplicativo de sensor de tempo real do Azure RTOS para monitorar o ambiente do recinto
Neste exercício, implantaremos um aplicativo de tempo real no Azure Sphere.
Etapa 1: Excluir os aplicativos existentes no Azure Sphere
Haverá reatribuições de periféricos entre o aplicativo de alto nível existente que está sendo executado no Azure Sphere e o novo aplicativo em tempo real que será implantado no Azure Sphere neste exercício. Sendo assim, você precisa excluir os aplicativos existentes no Azure Sphere para evitar conflitos.
Na linha de comando do PowerShell do Windows ou no Terminal do Linux, exclua o aplicativo existente executando
azsphere device sideload delete
Você precisa reiniciar o dispositivo Azure Sphere para limpar as configurações existentes do firewall de silício. Na linha de comando do PowerShell do Windows ou no Terminal do Linux, execute
azsphere device restart
Etapa 2: Abrir o projeto
Iniciar o Visual Studio Code.
No menu, clique em Arquivo e Abrir Pasta.
Abra a pasta laboratório do Azure-Sphere.
Abra a pasta Lab_6_AzureRTOS_Environment.
Clique em Selecionar Pasta ou no botão OK para abrir o projeto.
Se você instalou a extensão Peacock do Visual Studio Code, ele ficará vermelho. Vamos conectar duas instâncias do Visual Studio Code ao Azure Sphere. A instância em vermelho está conectada ao núcleo de tempo real.
Etapa 3: Definir a configuração da placa de desenvolvimento
Esses laboratórios dão suporte a placas de desenvolvimento da Avnet e da Seeed Studio. Você precisa definir a configuração que corresponde à sua placa de desenvolvimento.
A configuração padrão da placa de desenvolvedor é destinada ao Kit de Início do Azure Sphere da Avnet Revisão 1. Se você tiver essa placa, não precisará realizar nenhuma configuração adicional.
Abra o arquivo CMakeList.txt.
Adicione
#
ao início da linha set Avnet para desabilitá-la.Remova a marca de comentário do comando
set
que corresponde à sua placa de desenvolvimento de dispositivo do Azure Sphere.set(AVNET TRUE "AVNET Azure Sphere Starter Kit Revision 1 ") # set(AVNET_REV_2 TRUE "AVNET Azure Sphere Starter Kit Revision 2 ") # set(SEEED_STUDIO_RDB TRUE "Seeed Studio Azure Sphere MT3620 Development Kit (aka Reference Design Board or rdb)") # set(SEEED_STUDIO_MINI TRUE "Seeed Studio Azure Sphere MT3620 Mini Dev Board")
Salve o arquivo. Isso vai gerar automaticamente o cache do CMake.
Etapa 4: Implantar o aplicativo do Azure RTOS no Azure Sphere
Selecione CMake: [Depurar]: Pronto na barra de status do Visual Studio Code.
No Visual Studio Code, pressione F5 para compilar, implantar, iniciar e anexar o depurador remoto ao aplicativo que está agora executando o dispositivo do Azure Sphere.
Etapa 5: Depurando aplicativos do núcleo de tempo real
Você pode depurar o aplicativo do Azure RTOS em execução no núcleo de tempo real Cortex M4 do Azure Sphere.
No Visual Studio Code, navegue até o diretório demo_threadx e abra o arquivo demo_azure_rtos.c.
Role até a função chamada intercore_thread.
Observação
Use Ir para o Símbolo no Editor no Visual Studio Code. Use o atalho de teclado Ctrl + Shift + O e comece a digitar intercore_thread. Frequentemente, você verá um nome de função listado duas vezes no menu suspenso. A primeira é o protótipo da função ou a declaração da assinatura de encaminhamento e a segunda é a implementação da função.
Defina um ponto de interrupção na função intercore_thread, na linha em que se encontra switch (ic_control_block.cmd)
Observação
Saiba como definir pontos de interrupção com esse artigo sobre Depuração no Visual Studio Code.
Deixe o Visual Studio Code e o aplicativo em execução com o ponto de interrupção definido. Em seguida, vamos implantar um aplicativo de alto nível no núcleo Cortex A7, que solicitará a telemetria do ambiente do aplicativo em tempo real em execução no núcleo Cortex M4.