Partilhar via


Ambiente de desenvolvimento

Pode desenvolver aplicações para o Azure Sphere no Windows 11, Windows 10 Atualização de Aniversário (ou posterior) ou num computador Linux com o Ubuntu 24.04 (pré-lançamento), Ubuntu 22.04 LTS ou Ubuntu 20.04 LTS. Se utilizar Windows 11, utilize a versão 22.02 (ou posterior) do SDK do Azure Sphere.

  • Para o Windows, instale o Windows SDK. Pode utilizar o Visual Studio, o Visual Studio Code ou a linha de comandos para criar, implementar e depurar aplicações no Windows.
  • Para Linux, instale o SDK do Linux. Pode utilizar o Visual Studio Code ou a linha de comandos para criar, implementar e depurar aplicações no Linux.

O SDK do Azure Sphere inclui os seguintes componentes principais:

  • Sysroots, que contêm as bibliotecas, ficheiros de cabeçalho e ferramentas que são utilizados para compilar e ligar uma aplicação que visa um determinado conjunto de API.
  • Definições de hardware, que descrevem as capacidades de hardware disponíveis em vários dispositivos de hardware e podem ser utilizadas para as especificar em ficheiros app-manifest.json.
  • CMakeFiles, que define as extensões do Azure Sphere para CMake.
  • A Interface de Command-Line do Azure Sphere (CLI).

Os Tutoriais orientam-no ao longo da criação e implementação da sua primeira aplicação. Também fornecemos um repositório de exemplos no GitHub que inclui aplicações de exemplo que demonstram como programar hardware do Azure Sphere e utilizar as APIs.

Runtime de Aplicações do Azure Sphere

O Runtime de Aplicações do Azure Sphere fornece dois conjuntos de bibliotecas para desenvolvimento de aplicações de alto nível: as APIs base e as APIs applibs. As APIs base baseiam-se em bibliotecas que não se destinam exclusivamente a dispositivos do Azure Sphere, enquanto as APIs applibs visam especificamente os dispositivos do Azure Sphere. Aplicações de alto nível criadas com o SDK do Azure Sphere compilam e ligam a estas interfaces. Estas APIs não podem ser utilizadas em aplicações com capacidade em tempo real.

Os ficheiros de cabeçalho das APIs base estão instalados nas pastas Sysroots\API set\usr\include do diretório de instalação do SDK do Azure Sphere. Os ficheiros de cabeçalho das APIs applibs estão instalados na pasta Sysroots\API set\usr\include\applibs do diretório de instalação do SDK do Azure Sphere.

Sugestão

Os cabeçalhos padrão POSIX C estão localizados em duas pastas: Sysroots\API set\usr\include para cabeçalhos de API gerais e Sysroots\API set\usr\include\sys para cabeçalhos de API dependentes do sistema de baixo nível. Recomendamos que utilize as APIs gerais.

Ferramentas

O SDK do Azure Sphere inclui a CLI do Azure para gerir dispositivos, desenvolver e implementar aplicações e trabalhar com serviços cloud.

O CMake, juntamente com o utilitário de construção Ninja leve, fornece coordenação de criação para aplicações do Azure Sphere. Se utilizar o Visual Studio, o CMake e o Ninja são instalados automaticamente. Se utilizar o Visual Studio Code ou a CLI do Azure, tem de instalá-los manualmente no Windows ou Linux.

O Visual Studio e o Visual Studio Code têm extensões do Azure Sphere que simplificam o desenvolvimento de aplicações do Azure Sphere. Com estas extensões, pode facilmente criar, depurar, testar e implementar as suas aplicações do Azure Sphere diretamente a partir do IDE. Ambas as extensões têm suporte total para as ferramentas CMake do Azure Sphere.

Contentores

O Azure Sphere fornece um contentor que empacota o SDK num ambiente autónomo do Linux. Ao utilizar um contentor com um ambiente de compilação predefinido, pode evitar os passos para instalar (ou desinstalar e, em seguida, reinstalar) o ambiente de compilação do SDK correto. Pode modificar o ambiente de compilação de acordo com as suas necessidades e replicar esse ambiente para todos os computadores anfitriões ao mesmo tempo com resultados uniformes. Veja Utilizar contentores para criar aplicações do Azure Sphere para obter detalhes. Também pode utilizar um contentor como parte de um cenário de integração contínua em que um pipeline de compilação, como o GitHub Actions ou o Azure Pipelines, reconstrói automaticamente a sua aplicação sempre que é efetuada uma alteração ao código subjacente. Veja Adicionar integração contínua às compilações de contentor para obter detalhes.

O que é um contentor?

Os contentores são pacotes portáteis que vêm com os seus próprios ambientes leves que são executados no kernel de uma máquina anfitriã. Os contentores são leves porque utilizam camadas partilhadas. Estas camadas podem ser setores partilhados de um sistema operativo ou aplicações partilhadas. As camadas evitam a sobrecarga de uma máquina virtual, que contém um sistema operativo completo e todas as aplicações associadas. A partilha permite que os contentores sejam pequenos e arranquem rapidamente.

Pode transferir contentores a partir de um registo de contentor, como o Registo de Artefatos da Microsoft (MAR).

O que os contentores trazem para o Azure Sphere

O contentor para o ambiente de compilação do SDK do Microsoft Azure Sphere fornece-lhe um ambiente de desenvolvimento pré-criado. O contentor fornece o seguinte:

  • A versão do Ubuntu Linux para a versão atual do Azure Sphere
  • A versão atual do SDK do Azure Sphere para Linux
  • Ferramentas adicionais necessárias para o SDK, como CMake e Ninja

O Azure Sphere utiliza contentores do Docker configurados com ficheiros de texto do Dockerfile . Pode criar Dockerfiles que utilizam uma imagem de contentor base para criar um contentor personalizado para criar aplicações do Azure Sphere. A execução do contentor personalizado transfere a imagem de base mais recente se não estiver no computador anfitrião, compila o novo contentor personalizado, se necessário, compila a aplicação especificada e sai. Em seguida, pode copiar a saída da compilação da aplicação para um computador anfitrião que tenha o SDK do Azure Sphere instalado e carregar a aplicação em sideload para um dispositivo. Normalmente, o contentor de compilação personalizado não é utilizado interativamente, mas pode ser, por exemplo, diagnosticar problemas de compilação.