Condividi tramite


Trasferimento in locale del pacchetto immagine di un'applicazione a scopo di test

Importante

Questa è la documentazione di Azure Sphere (legacy). Azure Sphere (legacy) viene ritirato il 27 settembre 2027 e gli utenti devono eseguire la migrazione ad Azure Sphere (integrato) entro questo periodo. Usare il selettore di versione posizionato sopra il sommario per visualizzare la documentazione di Azure Sphere (integrata).

Durante lo sviluppo, potrebbe essere necessario trasferire localmente un pacchetto immagine nel dispositivo Azure Sphere per i test. Quando si compila un'applicazione con l'ambiente di sviluppo integrato (IDE) di Visual Studio o Visual Studio Code, l'SDK crea automaticamente il pacchetto immagine dell'applicazione. Se si ha accesso diretto a un dispositivo Azure Sphere, l'SDK può anche eliminare le applicazioni esistenti che non sono contrassegnate come partner, caricare il nuovo pacchetto immagine nel dispositivo, avviarlo e abilitare il debug. È anche possibile trasferire localmente un pacchetto immagine direttamente dalla riga di comando.

È necessario prima abilitare la funzionalità appDevelopment per il dispositivo e aggiungerlo a un gruppo di dispositivi che non supporti gli aggiornamenti di applicazioni sul cloud. Se si assegnano i dispositivi a gruppi di questo tipo, le applicazioni trasferite in locale non verranno sovrascritte dalle distribuzioni cloud. Per preparare il dispositivo, usare il comando azsphere device enable-development. A questo punto è possibile trasferire in locale l'immagine.

Trasferire localmente e sottoporre a debug un pacchetto immagine dalla riga di comando

Per trasferire localmente il pacchetto immagine dalla riga di comando, eliminare tutte le applicazioni esistenti dal dispositivo e quindi caricare quella nuova.

Per arrestare ed eliminare tutte le applicazioni nel dispositivo:

azsphere device sideload delete

Per eliminare una singola applicazione, aggiungere l'opzione --component-id, come indicato di seguito:

azsphere device sideload delete --component-id <ComponentID>

Successivamente, trasferire localmente il nuovo pacchetto immagine:

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

Sostituire imagepackagepath con il percorso del pacchetto di immagine. Se si usa Visual Studio o Visual Studio Code, è possibile trovare il pacchetto immagine nella sottocartella bin\ARM\Debug o bin\ARM\Release della cartella di progetto dell'applicazione. Per impostazione predefinita, il comando avvia l'applicazione dopo la distribuzione.

Per eseguire il debug dell'applicazione, aggiungere il flag --manual-start al comando azsphere device sideload deploy per eliminare l'avvio automatico e quindi avviare l'applicazione per il debug:

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

Il comando visualizza le porte di output e debug per le applicazioni di alto livello:

   Output Port: 2342
   GDB Port: 2345

Contrassegnare le applicazioni come partner

Le applicazioni correlate dovrebbero essere contrassegnate come applicazioni partner. Esistono molte situazioni in cui può essere necessario caricare più applicazioni, ad esempio un'applicazione di alto livello e una con funzionalità in tempo reale che comunicano tra loro. Contrassegnando le applicazioni come partner, è possibile impedire che una venga eliminata quando viene caricata la seconda. Quando gli IDE di Visual Studio e Visual Studio Code trasferiscono localmente un nuovo pacchetto immagine, eliminano le applicazioni esistenti non contrassegnate come applicazioni partner.

Per contrassegnare un'applicazione come partner con CMake in Visual Studio:

  1. Modificare il file launch.vs.json per l'applicazione.

  2. Aggiungere la riga seguente:

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

    Sostituire <Component ID> con l'ID componente dell'applicazione partner e salvare il file. È possibile trovare l'ID componente di ogni applicazione nel file app_manifest.json oppure usando azsphere device image list-installed o azsphere device app show-status.

Per contrassegnare un'applicazione come partner con CMake in Visual Studio Code:

  1. Modificare il file .vscode\launch.json per l'applicazione.

  2. Aggiungere la riga seguente:

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

    Sostituire <Component ID> con l'ID componente dell'applicazione partner e salvare il file. È possibile trovare l'ID componente di ogni applicazione nel file app_manifest.json oppure usando azsphere device image list-installed o azsphere device app show-status.