Compartilhar via


Criar e implantar aplicativos de parceiros

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 criar, empacotar e implantar aplicativos de parceiros do Azure Sphere.

Essas instruções usam os aplicativos de exemplo IntercoreComms como exemplo.

Pré-requisitos

Habilitar desenvolvimento e depuração

Antes de criar um aplicativos de exemplo em seu dispositivo do Azure Sphere ou desenvolver novos aplicativos para ele, você deve habilitar o desenvolvimento e a depuração. Por padrão, dispositivos do Azure Sphere são "bloqueados", ou seja, não permitem que aplicativos em desenvolvimento sejam carregados de um PC e não permitem a depuração de aplicativos. Preparar o dispositivo para a depuração remove essa restrição, carrega o software necessário para a depuração e desbloqueia os recursos do dispositivo, conforme descrito em Recursos e comunicação do dispositivo.

Para depurar nos núcleos em tempo real, use o comando azsphere device enable-development. Esse comando configura o dispositivo para aceitar aplicativos de um computador para depuração e atribui o dispositivo ao grupo de dispositivos de desenvolvimento, que não permite atualizações de aplicativos em 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.

No Windows, você deve adicionar o --enable-rt-core-debugging parâmetro, que carrega os servidores de depuração e os drivers necessários para cada tipo de núcleo no dispositivo.

  1. Faça logon no Azure Sphere, caso ainda não tenha feito isso:

    azsphere login
    
  2. Abra uma interface de linha de comando usando o PowerShell ou o Prompt de Comando do Windows com privilégios de administrador. O --enable-rt-core-debugging parâmetro requer privilégio de administrador porque instala drivers USB para o depurador.

  3. Insira o seguinte comando:

    azsphere device enable-development --enable-rt-core-debugging
    
  4. Feche a janela depois de concluir o comando porque o privilégio de administrador não é mais necessário. Como prática recomendada, você deve usar sempre o privilégio mais baixo que pode realizar uma tarefa.

Se o comando azsphere device enable-development falhar, consulte Solucionar problemas do Azure Sphere para obter ajuda.

Habilitar desenvolvimento e depuração

Antes de criar um aplicativos de exemplo em seu dispositivo do Azure Sphere ou desenvolver novos aplicativos para ele, você deve habilitar o desenvolvimento e a depuração. Por padrão, dispositivos do Azure Sphere são "bloqueados", ou seja, não permitem que aplicativos em desenvolvimento sejam carregados de um PC e não permitem a depuração de aplicativos. Preparar o dispositivo para a depuração remove essa restrição, carrega o software necessário para a depuração e desbloqueia os recursos do dispositivo, conforme descrito em Recursos e comunicação do dispositivo.

Para depurar nos núcleos em tempo real, use o comando azsphere device enable-development. Esse comando configura o dispositivo para aceitar aplicativos de um computador para depuração e atribui o dispositivo ao grupo de dispositivos de desenvolvimento, que não permite atualizações de aplicativos em 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.

No Windows, você deve adicionar o --enable-rt-core-debugging parâmetro, que carrega os servidores de depuração e os drivers necessários para cada tipo de núcleo no dispositivo.

  1. Faça logon no Azure Sphere, caso ainda não tenha feito isso:

    azsphere login
    
  2. Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux com privilégios de administrador. O --enable-rt-core-debugging parâmetro requer privilégio de administrador porque instala drivers USB para o depurador.

  3. Insira o seguinte comando:

    azsphere device enable-development --enable-rt-core-debugging
    
  4. Feche a janela depois de concluir o comando porque o privilégio de administrador não é mais necessário. Como prática recomendada, você deve usar sempre o privilégio mais baixo que pode realizar uma tarefa.

Se o comando azsphere device enable-development falhar com a mensagem de erro a seguir, consulte Solucionar problemas do Azure Sphere para obter ajuda.

error: The device did not accept the device capability configuration. Please check the Azure Sphere OS on your device is up-to-date using 'azsphere device show-deployment-status'.

Criar aplicativos de parceiros com o Visual Studio

  1. Verifique se seu dispositivo está conectado ao seu PC por USB. No menu Definir item de inicialização, selecione Aplicativo do Azure Sphere (Todos os Núcleos), em que o Aplicativo do Azure Sphere é o nome do projeto de nível superior ou pressione F5.

    Botão do depurador GDB remoto

  2. Caso precise compilar o projeto, selecione Sim. O Visual Studio compila os aplicativos parceiros, cria pacotes de imagem, faz sideload deles na placa e os inicia no modo de depuração. O sideload significa que os aplicativos são entregues diretamente do PC por meio de uma conexão com fio, em vez de entregues por meio da nuvem.

    Observe os caminhos na saída Exibir>saída>Mostrar saída de: Saída de build, que indica o local dos pacotes de imagem de saída em seu computador. Quando estiver pronto para criar uma implantação, você precisará saber os caminhos para os pacotes de imagem.

  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 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.

Criar aplicativos de parceiros com o Visual Studio Code

  1. Abra a pasta que contém seus aplicativos de parceiros. O Visual Studio Code detecta o arquivo do workspace e pergunta se você deseja abrir o workspace. Selecione Abrir espaço de trabalho para abrir o aplicativo em tempo real e o aplicativo de alto nível de uma só vez.

  2. Clique com o botão direito do mouse em um dos dois arquivos CMakeLists.txt e selecione Construir todos os projetos.

  3. Clique no ícone Executar na Barra de Atividades do Visual Studio Code.

  4. No menu suspenso que aparece na parte superior da janela no lado esquerdo da tela, selecione Iniciar Aplicativos do Azure Sphere (gdb)(workspace).

  5. 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.

  6. Aguarde alguns segundos para que o Visual Studio Code compile os aplicativos, crie os pacotes de imagem, implante-os na placa e inicie-os no modo de depuração. Você verá atualizações de status no painel Saída ao longo do caminho.

    Primeiro, o CMake determina se os aplicativos precisam ser criados. Nesse caso, o foco muda para a janela de saída, que exibe a saída do CMake/Build.

    Em seguida, o painel de saída mostra a saída do azsphere à medida que ele implanta o pacote de imagem no dispositivo. Por fim, o console de depuração recebe o foco e mostra a saída do gdb.

Compilar e criar o aplicativo

Para criar seus aplicativos com a CLI, você precisará encontrar as ferramentas de compilação, cabeçalhos e bibliotecas corretos, chamados coletivamente de sysroot, em seu computador. O SDK do Azure Sphere é fornecido com vários sysroots, de modo que os aplicativos possam ser direcionados a 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.

Ao criar com a CLI, primeiro crie e implante o aplicativo com capacidade em tempo real e, em seguida, crie e implante o aplicativo de alto nível.

Crie e implante o aplicativo com capacidade de tempo real

  1. Navegue até a pasta que contém seu aplicativo compatível em tempo real.

  2. Abra o arquivo app_manifest.json e verifique se a ID do componente do aplicativo de alto nível é mostrada na funcionalidade AllowedApplicationConnections.

  3. Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux. Navegue até o diretório de compilação do projeto.

  4. 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 CMake para o RTApp IntercoreComms:

    Prompt de Comando do Windows

    cmake ^
    --preset "ARM-Debug" ^
    "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_RTApp_MT3620_BareMetal"
    

    Windows PowerShell

    cmake `
    --preset "ARM-Debug" `
    "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_RTApp_MT3620_BareMetal"
    
  5. No diretório de compilação do projeto, no prompt de comando, 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.

    Ao solucionar o problema, especialmente depois de fazer alterações aos comandos do CMake, exclua todo o build e tente novamente.

  6. Exclua os aplicativos que já foram implantados no dispositivo:

    azsphere device sideload delete
    
  7. No diretório de compilação do projeto, no prompt de comando, carregue o pacote de imagens que o Ninja criou:

    azsphere device sideload deploy --image-package <path-to-imagepackage>
    

    O aplicativo começará a ser executado logo após ser carregado.

  8. Obtenha a ID do componente da imagem:

    azsphere image-package show --image-package <path-to-imagepackage>
    

    O comando retorna todos os metadados para o pacote de imagem. A ID do componente do aplicativo é exibida na seção Identidade do Tipo de Imagem de Aplicativo. Por exemplo:

    Image package metadata:
    Section: Identity
    Image Type:           Application
    Component ID:         <component id>
    Image ID:             <image id>
    

Compilar e implantar o aplicativo de alto nível

  1. Navegue até a pasta que contém seu aplicativo de alto nível.

  2. Abra o arquivo app_manifest.json e verifique se o ID do componente do RTApp é mostrado no recurso AllowedApplicationConnections.

  3. Abra uma interface de linha de comando usando o PowerShell, o Prompt de Comando do Windows ou o shell de comando do Linux. Navegue até o diretório de compilação do projeto.

  4. 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 IntercoreComms.

    Prompt de Comando do Windows

    cmake ^
    --preset "ARM-Debug" ^
    "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_HighLevelApp"
    

    Windows PowerShell

    cmake `
    --preset "ARM-Debug" `
    "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_HighLevelApp"
    
  5. No diretório de compilação do projeto, no prompt de comando, 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.

    Ao solucionar o problema, especialmente depois de fazer alterações aos comandos do CMake, exclua todo o build e tente novamente.

  6. No diretório de compilação do projeto, no prompt de comando, carregue o pacote de imagens que o Ninja criou:

    azsphere device sideload deploy --image-package <package-name>
    

    O aplicativo começará a ser executado logo após ser carregado.

  7. Obtenha a ID do componente da imagem:

    azsphere image-package show --image-package <path-to-imagepackage>
    

    O comando retorna todos os metadados para o pacote de imagem. A ID do componente do aplicativo é exibida na seção Identidade do Tipo de Imagem de Aplicativo. Por exemplo:

    Image package metadata:
      Section: Identity
        Image Type:           Application
        Component ID:         25025d2c-66da-4448-bae1-ac26fcdd3627
        Image ID:             49d3cb5b-0300-4e1f-904d-b730c7933c3f