Primeiros passos com o desenvolvimento do Windows on Arm
Contributed By DigiKey's North American Editors
2024-06-06
Grande parte da infraestrutura existente é baseada no Windows em aplicações como automação industrial e saúde. Para os desenvolvedores que criam dispositivos de borda de baixa potência e baixo custo para esses setores, o Windows on Arm® é uma escolha óbvia, pois traz a plataforma Windows para a eficiente arquitetura Arm.
Entretanto, um grande desafio na criação de sistemas Windows on Arm tem sido a falta de kits de desenvolvimento adequados. Embora o sistema operacional (SO) esteja disponível há muito tempo em vários sistemas de computação embarcados e de Internet das Coisas (IoT) com base na placa, essas ofertas normalmente exigem uma engenharia de hardware significativa antes que a codificação possa começar.
Os desenvolvedores precisam de uma solução no estilo PC encaixotado que venha pré-carregada com o Windows on Arm e integre todos os componentes necessários para iniciar o desenvolvimento de aplicações. Isso reduziria o tempo e a complexidade da instalação, permitindo que os desenvolvedores se concentrem no desenvolvimento e nos testes de aplicações sem se preocupar com a instalação e a configuração inicial do software.
Este artigo explica os critérios de seleção de sistemas operacionais que levam ao uso do Windows on Arm e analisa as diferentes versões do Windows disponíveis para consideração. Em seguida, ele apresenta o kit de desenvolvimento EPC-R3720IQ-AWA12 Windows on Arm da Advantech e descreve como ele oferece um ambiente perfeito para acelerar o desenvolvimento. Inclui dicas para começar e aponta para as ferramentas da Microsoft que podem ser usadas com o kit.
Por que usar o Windows em vez do Linux ou de um RTOS?
Ao escolher um sistema operacional, os desenvolvedores têm muitas opções, incluindo o Linux e vários sistemas operacionais em tempo real (RTOSs). Um motivo comum para escolher o Windows em vez dessas alternativas é a ampla variedade de softwares e bibliotecas disponíveis. Essa é uma consideração essencial para ambientes com infraestrutura herdada do Windows.
O Windows também oferece um ecossistema de desenvolvimento maduro, com ferramentas abrangentes e interfaces de programação de aplicativos (APIs), como o Visual Studio e a estrutura .NET. Os programadores podem escolher entre uma ampla variedade de linguagens de programação, como C++, Python e Node.js, e podem acessar vários serviços do Microsoft Azure para desenvolver funcionalidades sofisticadas rapidamente.
O Linux compartilha algumas dessas vantagens, mas a configuração e a manutenção de uma compilação do Linux podem exigir um esforço considerável. Além disso, as distribuições do Linux podem variar muito, o que leva a desafios no processo de desenvolvimento.
Em contraste com o Windows e o Linux, os RTOSs enfatizam a eficiência. Em geral, eles não têm recursos avançados, como interfaces gráficas de usuário (GUIs) avançadas e o amplo ecossistema que os sistemas operacionais com recursos completos oferecem.
Por fim, se os desenvolvedores buscam um sistema operacional robusto, rico em recursos e seguro, com um ecossistema de desenvolvimento maduro, o Windows é uma opção atraente. No entanto, o Windows está disponível em várias formas, e é essencial entender as diferenças.
Compreensão das opções do Windows
A Microsoft oferece diversas variações do Windows. A Tabela 1 mostra algumas das principais distinções entre as diferentes edições. Para o EPC-R3720IQ-AWA12, a Advantech selecionou o Windows IoT Enterprise. Uma das vantagens do Windows IoT Enterprise é sua compatibilidade com a Plataforma Universal do Windows (UWP) de interação tátil e com os aplicativos Win32 tradicionais. Essa flexibilidade permite que os desenvolvedores escolham o modelo de aplicativo mais adequado às suas necessidades.
|
Tabela 1: Diferentes edições do Windows oferecem suporte a casos de uso exclusivos. (Fonte da tabela: Kenton Williston, com base em informações da Microsoft)
O Windows IoT Enterprise também oferece recursos avançados de segurança que aumentam a confiabilidade:
- Os recursos de bloqueio do dispositivo permitem que os administradores restrinjam o dispositivo a executar apenas aplicativos autorizados.
- A inicialização segura garante que o dispositivo seja iniciado somente com software confiável.
- A criptografia BitLocker ajuda a proteger dados confidenciais.
O sistema operacional também oferece ferramentas de gerenciamento de nível empresarial que permitem o suporte centralizado dos dispositivos implantados. Essas ferramentas simplificam a manutenção e a segurança de implementações de IoT em grande escala.
Muitos desses recursos não são compatíveis com o Windows IoT Core, mais compacto. Esta edição é destinada a dispositivos leves, de uso único e com recursos limitados. Remove recursos como uma GUI e suporte para aplicativos Win32 tradicionais, tornando-o mais adequado como um sistema operacional complementar para dispositivos complexos.
Por outro lado, o Windows Pro padrão oferece um rico conjunto de recursos, mas não pode ser personalizado para implementações de IoT. Ele também não está disponível com suporte LTSC para dispositivos de longa duração.
Por que usar o Windows on Arm?
Historicamente, o sistema operacional Windows estava vinculado à arquitetura x86. Atualmente, o sistema operacional também é executado em processadores Arm, e essa opção abre novas possibilidades de projeto.
A principal vantagem do Windows on Arm é a eficiência. Os processadores Arm são conhecidos por seu baixo consumo de energia, o que os torna adequados para dispositivos alimentados por bateria e aplicações em que o gerenciamento térmico é uma preocupação. Os sistemas baseados em Arm também tendem a enfatizar a eficiência de custo, o que os torna uma opção atraente para implementações de IoT em grande escala.
Primeiros passos com um kit de desenvolvimento do Windows on Arm
Conforme observado acima, uma das desvantagens do Windows on Arm é a falta de hardware pronto para uso. O EPC-R3720IQ-AWA12 resolve esse problema fornecendo um PC encaixotado pré-instalado com o Windows 10 IoT.
Conforme mostrado na Figura 1, o kit de desenvolvimento está alojado em um gabinete robusto de 174 x 108 x 25 milímetros (mm). Esse gabinete acomoda suportes de montagem e pode ser empregado em campo, se desejado.
Figura 1: O EPC-R3720IQ-AWA12 é um PC encaixotado, compacto e alimentado por um processador Arm que executa o Windows 10 IoT. (Fonte da imagem: Advantech)
No centro do kit de desenvolvimento está o SoC (system-on-chip) MIMX8ML8DVNLZAB da NXP Semiconductors, que se baseia em um processador Arm Cortex-A53 de quatro núcleos capaz de funcionar a 1,8 gigahertz (GHz) (ele funciona a 1,6 GHz no EPC-R3720IQ-AWA12). O SoC apresenta uma unidade de processamento neural (NPU) de 2,3 tera operações por segundo (TOPS), o que o torna adequado para cargas de trabalho de inteligência artificial (IA) e aprendizado de máquina (ML) na borda.
O kit de desenvolvimento tem 6 gigabytes (Gbytes) de memória, 16 Gbytes de armazenamento e opções de expansão por meio de slots para Mini-PCIe, M.2, Micro SD e Nano SIM. Com relação à conectividade, o kit de desenvolvimento oferece duas portas Gigabit Ethernet (GbE), uma porta USB 2.0, uma porta USB 3.2 ger. 1, uma porta HDMI e uma porta serial com suporte a CAN FD.
Configuração do kit de desenvolvimento
A configuração do kit de desenvolvimento EPC-R3720IQ-AWA12 é um processo simples. Os itens a seguir descrevem as principais etapas, começando com a configuração básica:
- Um monitor, um teclado e uma rede devem ser conectados por meio das portas HDMI, USB e Ethernet, respectivamente.
- O kit de desenvolvimento iniciará automaticamente o processo de configuração do Windows 10 IoT na primeira inicialização. Quando isso for concluído, o ambiente de trabalho do Windows será apresentado ao usuário.
- O usuário deve baixar e instalar o Visual Studio do site da Microsoft para configurar o ambiente de desenvolvimento. Durante a instalação, o usuário deve selecionar os componentes necessários para desenvolver aplicativos Windows IoT e quaisquer outras cargas de trabalho necessárias, como .NET ou UWP.
- Todos os kits de desenvolvimento de software (SDKs) e ambientes do tempo de execução necessários devem ser instalados. Por exemplo, se for necessário usar o .NET 6 ou o .NET 7, os ambientes de tempo de execução apropriados deverão ser baixados do portal do desenvolvedor da Microsoft ou por meio do instalador do Visual Studio.
- Depois de instalar as ferramentas necessárias, o Visual Studio deve ser configurado para o desenvolvimento de IoT do Windows para garantir que as versões corretas do SDK e das ferramentas do Windows estejam instaladas.
Dependendo das necessidades da aplicação, configurações adicionais podem ser necessárias:
- Uma antena deve ser conectada ao conector integrado do kit de desenvolvimento se for necessária uma rede sem fio. Para conectividade celular, um cartão SIM deve ser provisionado e instalado.
- Todos os periféricos conectados por meio do slot M.2 ou de outras portas de E/S devem ser testados, garantindo que os drivers e o software necessários estejam instalados para esses periféricos.
- O Azure IoT Hub apropriado ou outros serviços de nuvem devem ser configurados se a aplicação envolver conectividade com a nuvem. Isso envolve a configuração de uma conta do Azure, a criação de recursos com o Azure e a configuração do kit de desenvolvimento para se comunicar com esses recursos.
Agora, o usuário pode passar para o desenvolvimento e a implementação da aplicação. O desenvolvimento pode ser iniciado com a criação de um novo projeto ou com a abertura de um projeto existente no Visual Studio. Os aplicativos podem ser desenvolvidos, executados e testados diretamente no dispositivo.
Se os usuários planejam depurar aplicativos remotamente a partir de um PC de desenvolvimento, eles devem configurar a depuração remota. Isso envolve a configuração das ferramentas de depuração remota no kit de desenvolvimento e no PC.
Conclusão
O Windows on Arm oferece muitas vantagens atraentes para dispositivos complexos de IoT. O kit de desenvolvimento EPC-R3720IQ-AWA12 oferece aos desenvolvedores um caminho rápido para a criação de aplicativos para esse sistema operacional, e o hardware também pode ser usado diretamente para implantação em alguns casos. Conforme mostrado, começar a usar o kit de desenvolvimento é um processo simples, permitindo que os desenvolvedores iniciem o desenvolvimento de aplicações com o mínimo de configuração.
Referências:
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.



