Partilhar via


Sideload an application image package for testing (Sideload de um pacote de imagem de aplicação para teste)

Durante o desenvolvimento, poderá ter de carregar em sideload um pacote de imagem para o dispositivo do Azure Sphere para fins de teste. Quando cria uma aplicação com o ambiente de desenvolvimento integrado (IDE) do Visual Studio ou do Visual Studio Code, o SDK empacota a imagem da aplicação automaticamente. Se tiver acesso direto a um dispositivo do Azure Sphere, o SDK também pode eliminar aplicações existentes que não estão marcadas como parceiros, carregar o novo pacote de imagem para o dispositivo, iniciá-lo e ativar a depuração. Também pode fazer sideload de um pacote de imagem diretamente a partir da linha de comandos.

Primeiro, tem de ativar a capacidade appDevelopment para o dispositivo e adicionar o dispositivo a um grupo de dispositivos que não suporta atualizações de aplicações na cloud. Atribuir dispositivos a esse grupo garante que as aplicações de sideload não serão substituídas por implementações na cloud. Para preparar o dispositivo, utilize o comando az sphere device enable-development. Em seguida, pode fazer sideload da imagem.

Sideload and debug an image package from the command line (Sideload and debug an image package from the command line) (Sideload and debug an image package from the command

Para fazer sideload do pacote de imagem a partir da linha de comandos, elimine todas as aplicações existentes no dispositivo e, em seguida, carregue a nova.

Para parar e eliminar todas as aplicações no dispositivo:

az sphere device sideload delete

Para eliminar uma única aplicação, adicione a opção --component-id, da seguinte forma:

az sphere device sideload delete --component-id <ComponentID>

Em seguida, faça sideload do novo pacote de imagem:

az sphere device sideload deploy --image-package <imagepackagepath>

Substitua imagepackagepath pelo caminho para o pacote de imagem. Se estiver a utilizar o Visual Studio ou o Visual Studio Code, pode encontrar o pacote de imagem na subpasta bin\ARM\Debug ou bin\ARM\Release da pasta do projeto da aplicação. Por predefinição, o comando inicia a aplicação depois de a implementar.

Para depurar a aplicação, adicione o sinalizador --manual-start ao comando az sphere device sideload deploy para suprimir o início automático e, em seguida, inicie a aplicação para depuração:

az sphere device sideload deploy --manual-start --image-package <imagepackagepath>
az sphere device app start --debug --component-id <ComponentID>

O comando apresenta as portas de saída e de depuração para aplicações de alto nível:

   Output Port: 2342
   GDB Port: 2345

Marcar aplicações como parceiros

As aplicações relacionadas devem ser marcadas como aplicações parceiras. Existem muitas situações em que carregaria várias aplicações, como um par de aplicações de alto nível e em tempo real que comunicam entre si. Marcar as aplicações como parceiros impedirá que uma seja eliminada quando a segunda for carregada. Quando os IDEs do Visual Studio e do Visual Studio Code fazem o sideload de um novo pacote de imagem, eliminam quaisquer aplicações existentes que não estejam marcadas como aplicações parceiras.

Para marcar uma aplicação como um parceiro com o CMake no Visual Studio:

  1. Edite o ficheiro launch.vs.json da aplicação.

  2. Adicione a seguinte linha:

    "partnerComponents": [ "<Component ID>" ]
    

    Substitua o ID do componente da aplicação de parceiro por <Component ID> e guarde o ficheiro. Pode encontrar o ID de componente de cada aplicação no respetivo ficheiro app_manifest.json ou com az sphere device image list-installed ou az sphere device app show-status.

Para marcar uma aplicação como um parceiro com o CMake no Visual Studio Code:

  1. Edite o ficheiro .vscode\launch.json da aplicação.

  2. Adicione a seguinte linha:

    "partnerComponents": [ "<Component ID>" ]
    

    Substitua o ID do componente da aplicação de parceiro por <Component ID> e guarde o ficheiro. Pode encontrar o ID de componente de cada aplicação no respetivo ficheiro app_manifest.json ou com az sphere device image list-installed ou az sphere device app show-status.