Share via


Entorno de desarrollo

Puedes desarrollar aplicaciones para Azure Sphere en Windows 11, Windows 10 Actualización de aniversario (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, instala el 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 crear, implementar y depurar aplicaciones en Linux.

El SDK de Azure Sphere incluye los siguientes componentes principales:

  • Sysroots, que contiene las bibliotecas, archivos de encabezado y herramientas que se usan para compilar y vincular una aplicación que se centra en un determinado conjunto de API.
  • Definiciones de hardware, que describen las capacidades de hardware disponibles en varios dispositivos de hardware y se pueden usar para especificarlas en archivos app-manifest.json.
  • CMakeFiles, que define las extensiones de Azure Sphere a CMake.
  • La Interfaz de Command-Line Azure Sphere (CLI).

Los tutoriales le guiarán a través de la creación e implementación de su primera aplicación. También proporcionamos un repositorio de ejemplo en GitHub que incluye aplicaciones de ejemplo que demuestran cómo programar el hardware de Azure Sphere y usar las API.

Azure Sphere Application Runtime

Azure Sphere Application Runtime proporciona dos conjuntos de bibliotecas para el desarrollo de aplicaciones de alto nivel: las API base y las API applibs. Las API base se basan en bibliotecas que no se destinan exclusivamente a dispositivos Azure Sphere, mientras que las API applibs se dirigen específicamente a dispositivos Azure Sphere. Aplicaciones de alto nivel creadas con la compilación y el enlace del SDK de Azure Sphere en estas interfaces. Estas API no se pueden usar en aplicaciones compatibles con tiempo real.

Los archivos de encabezado de las API base se instalan en sysroots\API set\usr\include carpetas del directorio de instalación de Azure Sphere SDK. Los archivos de encabezado de las API de applibs se instalan en la carpeta Sysroots\API set\usr\include\applibs del directorio de instalación del SDK de Azure Sphere.

Propina

Los encabezados estándar POSIX C se encuentran en dos carpetas: Sysroots\API set\usr\include para encabezados api generales y Sysroots\API set\usr\include\sys para encabezados api dependientes del sistema de bajo nivel. Te recomendamos que uses las API generales.

Herramientas

El SDK de Azure Sphere incluye la CLI de Azure para administrar dispositivos, desarrollar e implementar aplicaciones y trabajar con servicios en la nube.

CMake, junto con la ligera utilidad de compilación Ninja, proporciona coordinación de compilación para las aplicaciones de Azure Sphere. Si usas Visual Studio, CMake y Ninja se instalan automáticamente para ti. Si usa Visual Studio Code o la CLI de Azure, debe instalarlas usted mismo en Windows o Linux.

Visual Studio y Visual Studio Code tienen extensiones de Azure Sphere que simplifican el desarrollo de aplicaciones de Azure Sphere. Con estas extensiones, puede crear, depurar, probar e implementar fácilmente sus aplicaciones de Azure Sphere directamente desde el IDE. Ambas extensiones son totalmente compatibles con las herramientas CMake de Azure Sphere.

Contenedores

Azure Sphere proporciona un contenedor que empaqueta el SDK en un entorno de Linux independiente. Al usar un contenedor con un entorno de compilación predefinido, puede evitar los pasos para instalar (o desinstalar y reinstalar) el entorno de compilación del SDK correcto. Puede modificar el entorno de compilación para adaptarlo a sus propias necesidades y replicar ese entorno en todos los equipos host al mismo tiempo con resultados uniformes. Consulte Usar contenedores para crear aplicaciones de Azure Sphere para obtener 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 recompila automáticamente la aplicación siempre que se realice un cambio en el código subyacente. Vea Agregar 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 vienen con 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 sectores de un sistema operativo o aplicaciones compartidas. Capas evita 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 de un registro de contenedor como el Registro de artefactos Microsoft (MAR).

Qué contenedores aportan a Azure Sphere

El contenedor para el entorno de compilación del SDK de Microsoft Azure Sphere le proporciona un entorno de desarrollo predefinido. 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 que están configurados con archivos de texto Dockerfile . Puede crear Dockerfiles que usen una imagen de contenedor base para crear un contenedor personalizado para crear aplicaciones de Azure Sphere. La ejecución del contenedor personalizado descarga la imagen base más reciente si no está en el equipo host, compila el nuevo contenedor personalizado si es necesario, genera la aplicación especificada y sale. 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 realizar la instalación de prueba de la aplicación en un dispositivo. El contenedor de compilación personalizada no se usa normalmente de forma interactiva, pero puede ser, por ejemplo, para diagnosticar problemas de compilación.