Criar 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).
Esta seção descreve como compilar, empacotar e implantar um aplicativo de alto nível do Azure Sphere.
Essas instruções usam o aplicativo de exemplo HelloWorld_HighLevelApp como exemplo.
Pré-requisitos
- Conectar o dispositivo do Azure Sphere ao seu computador
- Instalar o Azure Sphere
Preparar o seu dispositivo para desenvolvimento e depuração
Antes de criar um aplicativo de exemplo em seu dispositivo do Azure Sphere ou desenvolver novos aplicativos para ele, você deve habilitar o sideload. Por padrão, dispositivos do Azure Sphere são "bloqueados", ou seja, não permitem que aplicativos em desenvolvimento sejam carregados de um computador e não permitem a depuração de aplicativos. Preparar o dispositivo para sideload remove essa restrição.
O comando azsphere device enable-development configura o dispositivo para aceitar aplicativos para depuração, carrega o servidor de depuração no dispositivo e atribui o dispositivo a um grupo de dispositivos que não permite atualizações de aplicativos na nuvem. Durante o desenvolvimento e a depuração de aplicativos, você deve deixar o dispositivo neste grupo para que as atualizações de aplicativos de nuvem não substituam o aplicativo em desenvolvimento.
Verifique se o dispositivo do Azure Sphere está conectado ao computador e se o computador está conectado à Internet.
Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux.
Insira o seguinte comando:
azsphere device enable-development
Será exibida uma saída semelhante à seguinte:
Getting device capability configuration for application development. Downloading device capability configuration for device ID '<device ID>'. Successfully downloaded device capability configuration. Successfully wrote device capability configuration file 'C:\Users\user\AppData\Local\Temp\tmpD732.tmp'. Setting device group ID 'a6df7013-c7c2-4764-8424-00cbacb431e5' for device with ID '<device ID>'. Successfully disabled over-the-air updates. Enabling application development capability on attached device. Applying device capability configuration to device. Successfully applied device capability configuration to device. The device is rebooting. Installing debugging server to device. Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device. Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device. Application development capability enabled. Successfully set up device '<device ID>' for application development, and disabled over-the-air updates. Command completed successfully in 00:00:38.3299276.
Se o comando azsphere device enable-development falhar, consulte Solucionar problemas do Azure Sphere para obter ajuda.
Compilar e implantar o aplicativo no Visual Studio com depuração
Verifique se seu dispositivo está conectado ao seu PC por USB. No menu Definir item de inicialização, selecione Aplicativo do Azure Sphere (HLCore), em que o Aplicativo do Azure Sphere é o nome do aplicativo de alto nível atual, ou pressione F5.
Caso precise compilar o projeto, selecione Sim. O Visual Studio compila o aplicativo, cria um pacote de imagem, executa sideloads para a placa e a inicia no modo de depuração. Sideload significa que o aplicativo é entregue diretamente do PC por uma conexão com fio, em vez de entregue por meio da nuvem.
Observe a ID da imagem do pacote de imagens na saída Mostrar saída de exibição>>de: Saída de build. Você usará a ID da imagem posteriormente no Tutorial: Criar uma implantação de nuvem.
Por padrão, a janela Saída mostra a saída da Saída do dispositivo. Para ver as mensagens do depurador, selecione Depurar no menu suspenso Mostrar saída de:. Inspecione também a desmontagem do programa, os registros ou a memória por meio do menu Depuração>Windows.
Compilar e implantar o aplicativo no Visual Studio sem depuração
Verifique se seu dispositivo está conectado ao seu PC por USB. No menu Depurar, selecione Iniciar sem Depuração ou pressione Ctrl+F5.
Caso precise compilar o projeto, selecione Sim. O Visual Studio compila o aplicativo, cria um pacote de imagens, faz sideload na placa e o inicia. Sideload significa que o aplicativo é entregue diretamente do PC por uma conexão com fio, em vez de entregue por meio da nuvem.
Por padrão, a janela Saída mostra a saída da Saída do dispositivo.
Compilar e implantar o aplicativo no Visual Studio Code com depuração
Pressione F5 para compilar e depurar o projeto. Se o projeto não tiver sido criado anteriormente ou se os arquivos tiverem sido alterados e a recompilação for necessária, o Visual Studio Code compilará o projeto antes do início da depuração.
Aguarde alguns segundos para que o Visual Studio Code compile o aplicativo, crie um pacote de imagens, implante-o na placa e inicie-o no modo de depuração. Você verá atualizações de status no painel Saída ao longo do caminho.
Primeiro, o CMake determina se o aplicativo precisa ser criado. Nesse caso, o foco muda para a janela de saída, que exibe a saída do CMake/Build.
Em seguida, o painel Saída mostra o resultado à medida que o pacote de imagens é implantado no dispositivo. Por fim, o Console de Depuração recebe o foco e mostra a saída do depurador.
Compilar e implantar o aplicativo no Visual Studio Code sem depuração
Verifique se seu dispositivo está conectado ao seu PC por USB. No menu Executar, selecione Iniciar sem Depuração ou pressione Ctrl+F5 para compilar e executar o projeto. Se o projeto não tiver sido criado anteriormente ou se os arquivos tiverem sido alterados e a recompilação for necessária, o Visual Studio Code compilará o projeto.
Aguarde alguns segundos para que o Visual Studio Code compile o aplicativo, crie um pacote de imagens, implante-o na placa e inicie-o. Você verá atualizações de status no painel Saída ao longo do caminho.
Primeiro, o CMake determina se o aplicativo precisa ser criado. Nesse caso, o foco muda para a janela de saída, que exibe a saída do CMake/Build.
Em seguida, a Janela de Saída mostra a saída de azsphere à medida que implanta o pacote de imagem no dispositivo. O aplicativo é iniciado automaticamente depois de ser implantado no dispositivo.
Compilar o aplicativo
Para criar o aplicativo, você precisará encontrar as ferramentas de compilação, cabeçalhos e bibliotecas corretos — coletivamente chamados de sysroot— em seu computador. O SDK do Azure Sphere é fornecido com vários sysroots para que os aplicativos possam direcionar diferentes conjuntos de APIs, conforme descrito em Versão do runtime do aplicativo, sysroots e APIs beta. Os sysroots são instalados na pasta de instalação do SDK do Azure Sphere em Sysroots.
Crie ou navegue até o diretório que conterá os arquivos a serem gerados durante o processo de build.
Se seu aplicativo depende de outro aplicativo, marque os aplicativos como parceiros em seus arquivos app_manifest.md.
Adicione ou atualize o arquivo CMakeLists.txt do aplicativo para chamar as funções do CMake no Azure Sphere, conforme necessário.
No diretório de compilação do projeto, no prompt de comando, execute o CMake com os seguintes parâmetros:
cmake --preset <preset-name> <source-path>
--preset <preset-name>
O nome da predefinição de configuração de compilação, conforme definido em CMakePresets.json.
--build <cmake-path>
O diretório binário que contém o cache do CMake. Por exemplo, se você executar o CMake em um exemplo do Azure Sphere, o comando de build será
cmake --build out/ARM-Debug
.<source-path>
O caminho do diretório que contém os arquivos de origem do aplicativo de exemplo. No exemplo, o repositório de exemplos do Azure Sphere foi baixado para um diretório chamado AzSphere.
Os parâmetros do CMake são separados por espaços. O caractere de continuação de linha (^ para linha de comando do Windows, \ para linha de comando do Linux ou ' para PowerShell) pode ser usado para legibilidade, mas não é necessário.
Os exemplos a seguir mostram os comandos do CMake para o aplicativo de alto nível Hello World.
Execute o Ninja para construir o aplicativo e criar o arquivo do pacote de imagens:
ninja -C out/ARM-Debug
O Ninja coloca o aplicativo resultante e os arquivos .imagepackage no diretório especificado.
Você também pode invocar o Ninja por meio do CMake com o seguinte comando:
cmake --build out/<binary-dir>
Defina
<binary-dir>
como o diretório binário que contém o cache do CMake. Por exemplo, se você executar o CMake em um exemplo do Azure Sphere, o comando de build serácmake --build out/ARM-Debug
.
Implantar o aplicativo
Verifique se o dispositivo tem a capacidade appDevelopment para que você possa fazer sideload do aplicativo e garantir que o servidor de depuração esteja presente. Use o comando azsphere device enable-development
, se necessário.
Se o dispositivo já estiver executando um ou mais aplicativos, exclua-os.
azsphere device sideload delete
Observe que esse comando exclui todos os aplicativos no dispositivo. Se você já tiver implantado um RTApp que seja um parceiro para o aplicativo de alto nível, use o parâmetro
--component-id
para especificar qual aplicativo excluir. Você pode encontrar o ID do componente do aplicativo em seu arquivo app_manifest.json.Carregue o pacote de imagem em seu dispositivo executando o comando azsphere device sideload deploy e especificando o pacote de imagem. Por exemplo:
azsphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
Seu aplicativo deve começar a ser executado.
Posteriormente, você pode parar e reiniciar o aplicativo usando os comandos azsphere device app stop --component-id <component-ID>
e azsphere device app start --component-id <component ID>
.