Crear una aplicación de alto nivel
En esta sección se describe cómo crear, empaquetar e implementar una aplicación de alto nivel de Azure Sphere.
Estas instrucciones usan el HelloWorld_HighLevelApp aplicación de ejemplo como ejemplo.
Requisitos previos
- Conectar el dispositivo Azure Sphere al equipo
- Instalar Azure Sphere
Preparar el dispositivo para el desarrollo y la depuración
Antes de poder crear una aplicación de muestra en su dispositivo Azure Sphere o desarrollar nuevas aplicaciones para él, debe habilitar el desarrollo y la instalación de prueba. De forma predeterminada, los dispositivos Azure Sphere están "bloqueados"; es decir, no permiten que las aplicaciones en desarrollo se carguen desde un equipo y no permiten la depuración de aplicaciones. La preparación del dispositivo para la instalación de prueba elimina esta restricción.
El comando az sphere device enable-development configura el dispositivo para que acepte aplicaciones de depuración, carga el servidor de depuración en el dispositivo y asigna el dispositivo a un grupo de dispositivos que no permite actualizaciones de aplicaciones en la nube. Durante el desarrollo y depuración de aplicaciones, debes dejar el dispositivo en este grupo para que las actualizaciones de aplicaciones en la nube no sobrescriban la aplicación en desarrollo.
Asegúrese de que el dispositivo Azure Sphere está conectado al equipo y a Internet.
Abre una interfaz de línea de comandos con PowerShell, símbolo del sistema de Windows o shell de comandos de Linux.
Escriba el siguiente comando:
az sphere device enable-development --resource-group <ResourceGroupName> --catalog <CatalogName> --device <DeviceIdValue>
Debería ver resultados similares a los siguientes:
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.
Si se produce un error en el comando az sphere device enable-development , consulte Solucionar problemas de Azure Sphere para obtener ayuda.
Compilar e implementar la aplicación en Visual Studio con depuración
Asegúrate de que el dispositivo esté conectado a tu PC mediante USB. En el menú Establecer elemento de inicio , selecciona Azure Sphere App (HLCore), donde Azure Sphere App es el nombre de la aplicación de alto nivel actual o presiona F5.
Si se le pide que cree el proyecto, seleccione Sí. Visual Studio compila la aplicación, crea un paquete de imagen, lo carga de prueba en la placa y lo inicia en modo de depuración. La instalación de prueba significa que la aplicación se entrega directamente desde el PC a través de una conexión por cable, en lugar de entregarse a través de la nube.
Observe el id. de imagen del paquete de imagen en lasalida de la>visualización> de la salida de: salida de la compilación. Usará el id. de imagen más adelante en el Tutorial: Crear una implementación en la nube.
De forma predeterminada, la ventana Salida muestra la salida desde Salida de dispositivo. Para ver los mensajes del depurador, seleccione Depurar en el menú desplegable Mostrar salida de: . También puedes inspeccionar el desensamblaje del programa, los registros o la memoria a través del menú Depurar>Windows .
Compilar e implementar la aplicación en Visual Studio sin depuración
Asegúrate de que el dispositivo esté conectado a tu PC mediante USB. En el menú Depurar , seleccione Iniciar sin depuración o presione Ctrl+F5.
Si se le pide que cree el proyecto, seleccione Sí. Visual Studio compila la aplicación, crea un paquete de imagen, lo carga de prueba en el panel y lo inicia. La instalación de prueba significa que la aplicación se entrega directamente desde el PC a través de una conexión por cable, en lugar de entregarse a través de la nube.
De forma predeterminada, la ventana Salida muestra la salida desde Salida de dispositivo.
Compilar e implementar la aplicación en Visual Studio Code con depuración
Presione F5 para compilar y depurar el proyecto. Si el proyecto no se ha creado anteriormente o si los archivos han cambiado y es necesario recompilar, Visual Studio Code creará el proyecto antes de que se inicie la depuración.
Espere varios segundos hasta que Visual Studio Code para crear la aplicación, crear un paquete de imagen, implementarlo en el panel e iniciarlo en modo de depuración. Durante el proceso, verá actualizaciones de estado en el panel Salida .
En primer lugar, CMake determina si es necesario crear la aplicación. Si es así, el foco se desplaza a la ventana de salida, que muestra la salida de CMake/Build.
A continuación, el panel Salida muestra el resultado cuando el paquete de imagen se implementa en el dispositivo. Por último, la consola de depuración recibe el foco y muestra la salida del depurador.
Compilar e implementar la aplicación en Visual Studio Code sin depuración
Asegúrate de que el dispositivo esté conectado a tu PC mediante USB. En el menú Ejecutar , seleccione Iniciar sin depuración o presione Ctrl+F5 para compilar y ejecutar el proyecto. Si el proyecto no se ha creado anteriormente o si los archivos han cambiado y es necesario recompilar, Visual Studio Code creará el proyecto.
Espere varios segundos hasta que Visual Studio Code para crear la aplicación, crear un paquete de imagen, implementarlo en el panel e iniciarlo. Durante el proceso, verá actualizaciones de estado en el panel Salida .
En primer lugar, CMake determina si es necesario crear la aplicación. Si es así, el foco se desplaza a la ventana de salida, que muestra la salida de CMake/Build.
A continuación, la ventana de salida muestra la salida de azsphere mientras implementa el paquete de imagen en el dispositivo. La aplicación se inicia automáticamente después de su implementación en el dispositivo.
Crear la aplicación
Para crear la aplicación, deberá encontrar las herramientas de compilación, encabezados y bibliotecas correctas en su equipo, denominadas colectivamente sysroot. El SDK de Azure Sphere se distribuye con varias sysroots para que las aplicaciones puedan dirigirse a diferentes conjuntos de API, como se describe en La versión en tiempo de ejecución de aplicaciones, sysroots y API beta. La sysroots se instala en la carpeta de instalación azure Sphere SDK en Sysroots.
Cree o vaya al directorio que contendrá los archivos que se generarán durante el proceso de compilación.
Si su aplicación depende de otra aplicación, marque las aplicaciones como socios en sus archivos app_manifest.md.
Agregue o actualice el archivo de CMakeLists.txt de la aplicación para llamar a las funciones Azure Sphere CMake según sea necesario.
Desde el directorio de compilación del proyecto, en el símbolo del sistema, ejecute CMake con los siguientes parámetros:
cmake --preset <preset-name> <source-path>
--preset <preset-name>
El nombre preestablecido de configuración de compilación tal y como se define en CMakePresets.json.
--build <cmake-path>
El directorio binario que contiene la caché de CMake. Por ejemplo, si ejecuta CMake en un ejemplo de Azure Sphere, el comando de compilación sería
cmake --build out/ARM-Debug
.<source-path>
La ruta de acceso del directorio que contiene los archivos de origen de la aplicación de ejemplo. En el ejemplo, el repositorio de muestras de Azure Sphere se descargó en un directorio llamado AzSphere.
Los parámetros CMake están separados por espacios. El carácter de continuación de línea (^ para la línea de comandos de Windows, \ para la línea de comandos de Linux o ' para PowerShell) puede usarse para facilitar la lectura, pero no es necesario.
En los ejemplos siguientes se muestran los comandos CMake de la aplicación de alto nivel Hola mundo.
Ejecuta Ninja para crear la aplicación y crear el archivo de paquete de imagen:
ninja -C out/ARM-Debug
Ninja coloca los archivos resultantes de application y .imagepackage en el directorio especificado.
También puedes invocar Ninja a través de CMake con el siguiente comando:
cmake --build out/<binary-dir>
Establecido
<binary-dir>
en el directorio binario que contiene la caché de CMake. Por ejemplo, si ejecuta CMake en un ejemplo de Azure Sphere, el comando de compilación seríacmake --build out/ARM-Debug
.
Implementar la aplicación
Asegúrate de que el dispositivo tiene la funcionalidad appDevelopment para que puedas realizar instalaciones de prueba de la aplicación y asegurarte de que el servidor de depuración esté presente. Use el az sphere device enable-development
comando si es necesario.
Si el dispositivo ya ejecuta una o más aplicaciones, elimínelas.
az sphere device sideload delete
Tenga en cuenta que este comando elimina todas las aplicaciones del dispositivo. Si ya ha implementado una RTApp asociada a la aplicación de alto nivel, use el
--component-id
parámetro para especificar la aplicación que desea eliminar. Puede encontrar el id . del componente de la aplicación en su archivo app_manifest.json.Carga el paquete de imagen en el dispositivo ejecutando el comando az sphere device sideload deploy y especificando el paquete de imagen. Por ejemplo:
az sphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
La aplicación debería empezar a ejecutarse.
Más tarde, puede detener y reiniciar la aplicación mediante el uso de los az sphere device app stop --component-id <component-ID>
comandos y az sphere device app start --component-id <component ID>
.