Compartilhar via


Criar um aplicativo de alto nível

Esta seção descreve como criar, 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

Preparar 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 desenvolvimento e o sideload. Por padrão, os dispositivos do Azure Sphere são "bloqueados"; ou seja, eles 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 az sphere 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 de nuvem. Durante o desenvolvimento e depuração do aplicativo, você deve deixar o dispositivo nesse grupo para que as atualizações de aplicativos de nuvem não substituam o aplicativo em desenvolvimento.

  1. Verifique se o dispositivo do Azure Sphere está conectado ao computador e que o computador está conectado à Internet.

  2. Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux.

  3. Insira o seguinte comando:

    az sphere device enable-development --resource-group <ResourceGroupName> --catalog <CatalogName> --device <DeviceIdValue>
    

    Você deve ver 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 az sphere device enable-development falhar, consulte Solucionar problemas do Azure Sphere para obter ajuda.

Criar e implantar o aplicativo no Visual Studio com a depuração

  1. Verifique se o dispositivo está conectado ao computador por USB. No menu Definir item de inicialização, selecione Aplicativo do Azure Sphere (HLCore) em que o Aplicativo Azure Sphere é o nome do aplicativo de alto nível atual ou pressione F5.

    Botão Depurador de GDB remoto

  2. Se você for solicitado a criar o projeto, selecione Sim. O Visual Studio compila o aplicativo, cria um pacote de imagem, o carrega de lado no quadro e inicia-o no modo de depuração. Sideloading significa que o aplicativo é entregue diretamente do computador por meio de uma conexão com fio, em vez de entregue pela nuvem.

    Observe a ID da imagem do pacote de imagem na saída Exibir>Saída>Mostrar de: Saída de compilação . Você usará a ID da imagem mais tarde no Tutorial: Criar uma implantação na nuvem.

  3. 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 mostrar saída de: menu suspenso. Você também pode inspecionar a desmontagem do programa, registros ou memória por meio do menu Depurar>Windows .

Criar e implantar o aplicativo no Visual Studio sem depuração

  1. Verifique se o dispositivo está conectado ao computador por USB. No menu Depurar , selecione Iniciar sem Depuração ou pressione Ctrl+F5.

  2. Se você for solicitado a criar o projeto, selecione Sim. O Visual Studio compila o aplicativo, cria um pacote de imagem, o carrega de lado no quadro e inicia-o. Sideloading significa que o aplicativo é entregue diretamente do computador por meio de uma conexão com fio, em vez de entregue pela nuvem.

  3. Por padrão, a janela Saída mostra a saída da Saída do Dispositivo.

Criar e implantar o aplicativo no Visual Studio Code com a depuração

  1. Pressione F5 para criar e depurar o projeto. Se o projeto não tiver sido criado anteriormente ou se os arquivos tiverem sido alterados e a reconstrução for necessária, Visual Studio Code criará o projeto antes do início da depuração.

  2. Aguarde vários segundos para Visual Studio Code criar o aplicativo, criar um pacote de imagem, implantá-lo no quadro e iniciá-lo no modo de depuração. Você verá status atualizações 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 de CMake/Build.

    Em seguida, o painel Saída mostra o resultado à medida que o pacote de imagem é implantado no dispositivo. Por fim, o Console de Depuração recebe o foco e mostra a saída do depurador.

Criar e implantar o aplicativo em Visual Studio Code sem depuração

  1. Verifique se o dispositivo está conectado ao computador por USB. No menu Executar , selecione Iniciar sem Depuração ou pressione Ctrl+F5 para criar e executar o projeto. Se o projeto não tiver sido criado anteriormente ou se os arquivos tiverem sido alterados e a reconstrução for necessária, Visual Studio Code criará o projeto.

  2. Aguarde vários segundos para Visual Studio Code criar o aplicativo, criar um pacote de imagem, implantá-lo no quadro e iniciá-lo. Você verá status atualizações 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 de CMake/Build.

    Em seguida, a janela de saída mostra a saída do azsphere à medida que implanta o pacote de imagem no dispositivo. O aplicativo começa automaticamente depois de ser implantado no dispositivo.

Criar o aplicativo

Para criar seu aplicativo, você precisará encontrar as ferramentas de compilação, cabeçalhos e bibliotecas corretas, coletivamente chamadas de sysroot, em seu computador. O SDK do Azure Sphere é fornecido com vários sysroots para que os aplicativos possam direcionar diferentes conjuntos de API, conforme descrito em Versão de runtime do aplicativo, sysroots e APIs Beta. Os sysroots são instalados na pasta de instalação do SDK do Azure Sphere em Sysroots.

  1. Crie ou navegue até o diretório que conterá os arquivos a serem gerados durante o processo de build.

  2. Se o aplicativo depender de outro aplicativo, marque os aplicativos como parceiros em seus arquivos app_manifest.md.

  3. Adicione ou atualize o arquivo CMakeLists.txt para seu aplicativo chamar as funções CMake do Azure Sphere conforme necessário.

  4. No diretório de build 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 predefinido de configuração de build conforme definido em CMakePresets.json.

    • --build <cmake-path>

      O diretório binário que contém o cache 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 em um diretório chamado AzSphere.

      Os parâmetros CMake são separados por espaços. O caractere de continuação de linha (^ para linha de comando do Windows, \ para linha de comando linux ou ' para PowerShell) pode ser usado para legibilidade, mas não é necessário.

    Os exemplos a seguir mostram os comandos CMake para o Olá, Mundo aplicativo de alto nível.

    Prompt de Comando do Windows

    cmake ^
     --preset "ARM-Debug" ^
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    

    Windows PowerShell

    cmake `
     --preset "ARM-Debug" `
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    
  5. Execute o Ninja para criar o aplicativo e criar o arquivo de pacote de imagem:

    ninja -C out/ARM-Debug
    

    O Ninja coloca os arquivos de aplicativo e .imagepackage resultantes 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 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 seu dispositivo tem a funcionalidade appDevelopment para que você possa carregar o aplicativo de lado e garantir que o servidor de depuração esteja presente. Use o az sphere device enable-development comando, se necessário.

  1. Se o dispositivo já estiver executando um ou mais aplicativos, exclua-os.

    az sphere device sideload delete
    

    Observe que esse comando exclui todos os aplicativos no dispositivo. Se você já implantou um RTApp que é um parceiro para o aplicativo de alto nível, use o --component-id parâmetro para especificar qual aplicativo excluir. Você pode encontrar a ID do componente do aplicativo em seu arquivo app_manifest.json.

  2. Carregue o pacote de imagem em seu dispositivo executando o comando de implantação de sideload do dispositivo az sphere e especificando o pacote de imagem. Por exemplo:

    az sphere 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 az sphere device app stop --component-id <component-ID> comandos e az sphere device app start --component-id <component ID> .