Creare un'applicazione di alto livello

Questa sezione descrive come creare, creare un pacchetto e distribuire un'applicazione di alto livello Azure Sphere.

Queste istruzioni usano l HelloWorld_HighLevelApp applicazione di esempio come esempio.

Prerequisiti

Preparare il dispositivo per lo sviluppo e il debug

Prima di poter creare un'applicazione di esempio sul dispositivo Azure Sphere o sviluppare nuove applicazioni, è necessario abilitare lo sviluppo e il sideload. Per impostazione predefinita, i dispositivi Azure Sphere sono "bloccati"; ovvero non consentono il caricamento di applicazioni in fase di sviluppo da un computer e non consentono il debug delle applicazioni. La preparazione del dispositivo per il sideload rimuove questa restrizione.

Il comando az sphere device enable-development configura il dispositivo per accettare applicazioni per il debug, carica il server di debug nel dispositivo e assegna il dispositivo a un gruppo di dispositivi che non consente gli aggiornamenti delle applicazioni cloud. Durante lo sviluppo e il debug delle applicazioni, è consigliabile lasciare il dispositivo in questo gruppo in modo che gli aggiornamenti delle applicazioni cloud non sovrascriva l'applicazione in fase di sviluppo.

  1. Assicurarsi che il dispositivo Azure Sphere sia connesso al computer e che il computer sia connesso a Internet.

  2. Aprire un'interfaccia della riga di comando usando PowerShell, il prompt dei comandi di Windows o la shell dei comandi di Linux.

  3. Immettere il comando seguente:

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

    L'output dovrebbe essere simile al seguente:

    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 il comando di abilitazione-sviluppo del dispositivo az sphere non riesce, vedi Risolvere i problemi di Azure Sphere per assistenza.

Compilare e distribuire l'applicazione in Visual Studio con il debug

  1. Verifica che il dispositivo sia connesso al PC tramite USB. Nel menu dell'elemento di avvio Imposta , seleziona App Azure Sphere (HLCore), dove App Azure Sphere è il nome dell'applicazione di alto livello corrente o premi F5.

    Pulsante Debugger GDB remoto

  2. Se viene richiesto di creare il progetto, selezionare . Visual Studio compila l'applicazione, crea un pacchetto di immagini, lo sideload sulla bacheca e lo avvia in modalità debug. Il sideload significa che l'applicazione viene fornita direttamente dal PC tramite una connessione cablata, invece che tramite cloud.

    Nota l'ID immagine del pacchetto di immagininell'output Mostra output>di:>Output build. L'ID immagine verrà usato più avanti in Esercitazione: Creare una distribuzione cloud.

  3. Per impostazione predefinita, la finestra Output mostra l'output da Output dispositivo. Per visualizzare i messaggi del debugger, selezionare Debug dal menu a discesa Mostra output da : . Puoi anche esaminare lo smontaggio del programma, i registri o la memoria tramite il menu Debug>Di Windows .

Creare e distribuire l'applicazione in Visual Studio senza debug

  1. Verifica che il dispositivo sia connesso al PC tramite USB. Nel menu Debug seleziona Start senza debug o premi CTRL+F5.

  2. Se viene richiesto di creare il progetto, selezionare . Visual Studio compila l'applicazione, crea un pacchetto di immagini, lo sideload sulla lavagna e lo avvia. Il sideload significa che l'applicazione viene fornita direttamente dal PC tramite una connessione cablata, invece che tramite cloud.

  3. Per impostazione predefinita, la finestra Output mostra l'output da Output dispositivo.

Compilare e distribuire l'applicazione in Visual Studio Code con il debug

  1. Premere F5 per compilare ed eseguire il debug del progetto. Se il progetto non è stato creato in precedenza o se i file sono stati modificati ed è necessaria la ricostruzione, Visual Studio Code crea il progetto prima dell'inizio del debug.

  2. Attendi alcuni secondi che Visual Studio Code crei l'applicazione, crei un pacchetto di immagini, lo distribuisci alla bacheca e lo avvii in modalità debug. Lungo il percorso, nel riquadro Output verranno visualizzati gli aggiornamenti di stato.

    Prima di tutto, CMake determina se l'applicazione deve essere compilata. In tal caso, lo stato attivo passa alla finestra di output, che visualizza l'output da CMake/Build.

    Successivamente, il riquadro Output mostra il risultato quando il pacchetto di immagini viene distribuito nel dispositivo. Infine, la console di debug riceve lo stato attivo e mostra l'output del debugger.

Creare e distribuire l'applicazione in Visual Studio Code senza debug

  1. Verifica che il dispositivo sia connesso al PC tramite USB. Nel menu Esegui seleziona Avvia senza debug o premi CTRL+F5 per creare ed eseguire il progetto. Se il progetto non è stato creato in precedenza o se i file sono stati modificati ed è necessaria la ricostruzione, Visual Studio Code creerà il progetto.

  2. Attendi alcuni secondi che Visual Studio Code crei l'applicazione, crei un pacchetto di immagini, lo distribuisci alla bacheca e lo avvii. Lungo il percorso, nel riquadro Output verranno visualizzati gli aggiornamenti di stato.

    Prima di tutto, CMake determina se l'applicazione deve essere compilata. In tal caso, lo stato attivo passa alla finestra di output, che visualizza l'output da CMake/Build.

    Successivamente, la finestra di output mostra l'output dall'azsfera durante la distribuzione del pacchetto di immagini al dispositivo. L'app viene avviata automaticamente dopo la distribuzione nel dispositivo.

Creare l'applicazione

Per creare l'applicazione, è necessario trovare nel computer gli strumenti di compilazione, le intestazioni e le raccolte corrette, chiamate collettivamente sysroot. Azure Sphere SDK viene fornito con più sysroot in modo che le applicazioni possano essere destinate a set DI API diversi, come descritto nella versione di Application Runtime, sysroots e API Beta. I sysroot vengono installati nella cartella di installazione di Azure Sphere SDK in Sysroots.

  1. Creare o passare alla directory che conterrà i file da generare durante il processo di compilazione.

  2. Se l'applicazione dipende da un'altra applicazione, contrassegnare le applicazioni come partner nei file app_manifest.md.

  3. Aggiungere o aggiornare il file CMakeLists.txt per l'applicazione in modo da chiamare Azure Sphere CMake funzioni come necessario.

  4. Dalla directory di compilazione del progetto, al prompt dei comandi, eseguire CMake con i parametri seguenti:

    cmake --preset <preset-name> <source-path>
    
    • --preset <preset-name>

      Nome preimpostato per la configurazione della build, come definito in CMakePresets.json.

    • --build <cmake-path>

      Directory binaria che contiene la cache di CMake. Ad esempio, se si esegue CMake su un esempio di Azure Sphere, il comando di compilazione sarà cmake --build out/ARM-Debug.

    • <source-path>

      Percorso della directory che contiene i file di origine per l'applicazione di esempio. Nell'esempio, il repository di campioni Azure Sphere è stato scaricato in una directory denominata AzSfera.

      CMake parametri sono separati da spazi. Il carattere di continuazione riga (^ per la riga di comando di Windows, \ per la riga di comando Linux o ' per PowerShell) può essere utilizzato per la leggibilità, ma non è obbligatorio.

    Gli esempi seguenti mostrano i comandi CMake per l Hello World'app di alto livello.

    Prompt dei comandi di 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. Esegui Ninja per creare l'applicazione e creare il file del pacchetto di immagini:

    ninja -C out/ARM-Debug
    

    Ninja inserisce l'applicazione risultante e .imagepackage file nella directory specificata.

    Puoi anche richiamare Ninja tramite CMake con il comando seguente:

    cmake --build out/<binary-dir>
    

    Impostare <binary-dir> sulla directory binaria che contiene la cache CMake. Ad esempio, se si esegue CMake su un esempio di Azure Sphere, il comando di compilazione sarà cmake --build out/ARM-Debug.

Distribuire l'applicazione

Assicurarsi che il dispositivo abbia la funzionalità appSviluppo in modo da poter sideload dell'applicazione e assicurarsi che il server di debug sia presente. Usare il az sphere device enable-development comando, se necessario.

  1. Se il dispositivo esegue già una o più applicazioni, eliminarle.

    az sphere device sideload delete
    

    Tieni presente che questo comando elimina tutte le applicazioni nel dispositivo. Se è già stata distribuita un'RTApp partner dell'app di alto livello, usare il --component-id parametro per specificare l'applicazione da eliminare. L'ID componente dell'applicazione è disponibile nel relativo file app_manifest.json.

  2. Caricare il pacchetto di immagini nel dispositivo eseguendo il comando di distribuzione sideload del dispositivo az sphere e specificando il pacchetto di immagini. Per esempio:

    az sphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
    

    L'applicazione dovrebbe iniziare a essere in esecuzione.

In seguito è possibile arrestare e riavviare l'applicazione usando i az sphere device app stop --component-id <component-ID> comandi e az sphere device app start --component-id <component ID> .