Sideload di un pacchetto di immagini dell'applicazione per il test
Durante lo sviluppo, potrebbe essere necessario trasferire in sideload di un pacchetto di immagini nel dispositivo Azure Sphere per il test. Quando si crea un'applicazione con Visual Studio o Visual Studio Code ambiente di sviluppo integrato (IDE), l'SDK pacchetti l'immagine dell'applicazione per voi. Se hai 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 di immagini nel dispositivo, avviarlo e abilitare il debug. È anche possibile trasferire in sideload di un pacchetto di immagini direttamente dalla riga di comando.
È necessario abilitare prima la funzionalità Disviluppo dell'app per il dispositivo e aggiungere il dispositivo a un gruppo di dispositivi che non supporta gli aggiornamenti delle applicazioni cloud. L'assegnazione di dispositivi a un gruppo di questo tipo assicura che le applicazioni sideload non vengano sovrascritte dalle distribuzioni cloud. Per preparare il dispositivo, utilizza il comando di abilitazione-sviluppo del dispositivo az sphere. È quindi possibile trasferire l'immagine in sideload.
Trasferire ed eseguire il debug di un pacchetto di immagini dalla riga di comando
Per trasferire in sideload il pacchetto di immagini dalla riga di comando, eliminare eventuali applicazioni esistenti nel dispositivo e quindi caricare quella nuova.
Per arrestare ed eliminare tutte le applicazioni nel dispositivo:
az sphere device sideload delete
Per eliminare una singola applicazione, aggiungere l'opzione --component-id, come indicato di seguito:
az sphere device sideload delete --component-id <ComponentID>
Quindi, trasferire il nuovo pacchetto di immagini in sideload:
az sphere device sideload deploy --image-package <imagepackagepath>
Sostituire imagepackagepath con il percorso del pacchetto di immagini. Se si usa Visual Studio o Visual Studio Code, il pacchetto di immagini si trova 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, aggiungi il comando --manual-start flag to the az sphere device sideload deploy command to suppress automatic start, quindi avvia l'applicazione per il debug:
az sphere device sideload deploy --manual-start --image-package <imagepackagepath>
az sphere device app start --debug --component-id <ComponentID>
Il comando visualizza le porte di output e di debug per le applicazioni di alto livello:
Output Port: 2342
GDB Port: 2345
Contrassegnare le applicazioni come partner
Le applicazioni correlate devono essere contrassegnate come applicazioni partner. Esistono molte situazioni in cui si caricherebbero più applicazioni, ad esempio una coppia di applicazioni di alto livello e in tempo reale che comunicano tra loro. Contrassegnare le applicazioni come partner impedirà l'eliminazione di una quando la seconda viene caricata. Quando gli IED di Visual Studio e Visual Studio Code eseguono il sideload di un nuovo pacchetto di immagini, eliminano tutte le applicazioni esistenti che non sono contrassegnate come applicazioni partner.
Per contrassegnare un'applicazione come partner utilizzando CMake in Visual Studio:
Modificare il file launch.vs.json per l'applicazione.
Aggiungere la riga seguente:
"partnerComponents": [ "<Component ID>" ]
Sostituire l'ID componente dell'applicazione
<Component ID>
partner e salvare il file. Puoi trovare l'ID componente di ogni applicazione nel suo file app_manifest.json o utilizzando l'elenco di immagini del dispositivo az sphere installate o lo show-status dell'app dispositivo az sphere.
Per contrassegnare un'applicazione come partner utilizzando CMake in Visual Studio Code:
Modificare il file .vscode\launch.json per l'applicazione.
Aggiungere la riga seguente:
"partnerComponents": [ "<Component ID>" ]
Sostituire l'ID componente dell'applicazione
<Component ID>
partner e salvare il file. Puoi trovare l'ID componente di ogni applicazione nel suo file app_manifest.json o utilizzando l'elenco di immagini del dispositivo az sphere installate o lo show-status dell'app dispositivo az sphere.