Entorno de desarrollo
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
Puede desarrollar aplicaciones para Azure Sphere en Windows 11, Windows 10 Anniversary Update (o posterior) o en una máquina Linux que ejecute Ubuntu 24.04 (versión preliminar), Ubuntu 22.04 LTS o Ubuntu 20.04 LTS. Si usa Windows 11, use la versión 22.02 (o posterior) del SDK de Azure Sphere.
- Para Windows, instale Windows SDK. Puede usar Visual Studio, Visual Studio Code o la línea de comandos para compilar, implementar y depurar aplicaciones en Windows.
- Para Linux, instale el SDK de Linux. Puede usar Visual Studio Code o la línea de comandos para compilar, implementar y depurar aplicaciones en Linux.
El SDK de Azure Sphere incluye los siguientes componentes principales:
- Sysroots, que contienen las bibliotecas, los archivos de encabezado y las herramientas que se usan para compilar y vincular una aplicación que tiene como destino un conjunto de API determinado.
- Definiciones de hardware, que describen las funcionalidades de hardware disponibles en varios dispositivos de hardware y se pueden usar para especificarlas en archivos app-manifest.json.
- CMakeFiles, que definen las extensiones de Azure Sphere en CMake.
- La interfaz de la línea de comandos (CLI) de Azure Sphere.
Los tutoriales le guiarán a través de la compilación e implementación de la primera aplicación. También se proporciona un repositorio de ejemplos en GitHub que incluye aplicaciones de ejemplo que muestran cómo programar hardware de Azure Sphere y usar las API.
Entorno de ejecución de aplicaciones de Azure Sphere
El entorno de ejecución de la aplicación de Azure Sphere proporciona dos conjuntos de bibliotecas para el desarrollo de aplicaciones de alto nivel, las API base y las API de las bibliotecas de aplicaciones. Las API base se basan en bibliotecas que no tienen como destino exclusivamente dispositivos de Azure Sphere, mientras que las API de bibliotecas de aplicaciones tienen como destino específicamente dispositivos de Azure Sphere. Las aplicaciones de alto nivel creadas con el SDK de Azure Sphere se compilan y vinculan en relación con estas interfaces. Estas API no se pueden utilizar en aplicaciones con respuesta en tiempo real.
Los archivos de encabezado de las API base se instalan en las carpetas Sysroots\API set\usr\include del directorio de instalación del SDK de Azure Sphere. Los archivos de encabezado de las API de bibliotecas de aplicaciones se instalan en la carpeta Sysroots\API set\usr\include\applibs del directorio de instalación del SDK de Azure Sphere.
Sugerencia
Los encabezados estándar de POSIX C se encuentran en dos carpetas: Sysroots\API set\usr\include para encabezados de API generales y Sysroots\API set\usr\include\sys para encabezados de API dependientes del sistema de bajo nivel. Se recomienda usar las API generales.
Herramientas
El SDK de Azure Sphere incluye la CLI de Azure Sphere para administrar dispositivos, desarrollar e implementar aplicaciones y trabajar con servicios en la nube.
CMake, junto con la utilidad de compilación Ninja ligera, proporciona coordinación de compilación para aplicaciones de Azure Sphere. Si usa Visual Studio, CMake y Ninja se instalan automáticamente automáticamente. Si usa Visual Studio Code o la CLI de Azure Sphere, debe instalarlos usted mismo en Windows o Linux.
Tanto Visual Studio como Visual Studio Code tienen extensiones de Azure Sphere que simplifican el desarrollo de aplicaciones de Azure Sphere. Con estas extensiones, puede compilar, depurar, probar e implementar fácilmente las aplicaciones de Azure Sphere directamente desde el IDE. Ambas extensiones tienen compatibilidad completa con las herramientas CMake de Azure Sphere.
Contenedores
Azure Sphere proporciona un contenedor que empaqueta el SDK en un entorno de Linux independiente. Mediante el uso de un contenedor con un entorno de compilación predefinido, puede evitar los pasos de instalación (o desinstalación y, a continuación, volver a instalar) el entorno de compilación del SDK correcto. Puede modificar el entorno de compilación para satisfacer sus propias necesidades y replicar ese entorno en todas las máquinas host al mismo tiempo con resultados uniformes. Consulte Uso de contenedores para compilar aplicaciones de Azure Sphere para más información. También puede usar un contenedor como parte de un escenario de integración continua en el que una canalización de compilación, como Acciones de GitHub o Azure Pipelines, vuelve a generar automáticamente la aplicación cada vez que se realiza un cambio en el código subyacente. Consulte Incorporación de la integración continua a las compilaciones de contenedor para obtener más información.
¿Qué es un contenedor?
Los contenedores son paquetes portátiles que incluyen sus propios entornos ligeros que se ejecutan en el kernel de una máquina host. Los contenedores son ligeros porque usan capas compartidas. Estas capas se pueden compartir segmentos de un sistema operativo o aplicaciones compartidas. Las capas evitan la sobrecarga de una máquina virtual, que contiene un sistema operativo completo y todas las aplicaciones asociadas. El uso compartido permite que los contenedores sean pequeños y arranquen rápidamente.
Puede descargar contenedores desde un registro de contenedor, como el Registro de artefactos Microsoft (MAR).
Qué contenedores traen a Azure Sphere
El contenedor para el entorno de compilación del SDK de Microsoft Azure Sphere proporciona un entorno de desarrollo predefijo. El contenedor proporciona lo siguiente:
- La versión de Ubuntu Linux para la versión actual de Azure Sphere
- La versión actual del SDK de Azure Sphere para Linux
- Herramientas adicionales necesarias para el SDK, como CMake y Ninja
Azure Sphere usa contenedores de Docker configurados con archivos de texto dockerfile . Puede crear dockerfiles que usen una imagen de contenedor base para crear un contenedor personalizado para compilar aplicaciones de Azure Sphere. Al ejecutar el contenedor personalizado, se descarga la imagen base más reciente si no está en el equipo host, se compila el nuevo contenedor personalizado si es necesario, se compila la aplicación especificada y se cierra. A continuación, puede copiar la salida de la compilación de la aplicación en un equipo host que tenga instalado el SDK de Azure Sphere y transferir localmente la aplicación a un dispositivo. El contenedor de compilación personalizado no se usa normalmente de forma interactiva, pero puede ser, por ejemplo, para diagnosticar problemas de compilación.