Inizia rapidamente lo sviluppo con "Windows on ARM"
Contributo di Editori nordamericani di DigiKey
2024-06-06
Gran parte dell'infrastruttura esistente in applicazioni come l'automazione industriale e la sanità è basata su Windows. Per gli sviluppatori che creano dispositivi edge a basso consumo e a basso costo per questi settori, Windows on ARM® è una scelta ovvia, in quanto porta la piattaforma Windows sull'efficiente architettura ARM.
Tuttavia, una delle principali sfide nella creazione di sistemi Windows on ARM è stata la mancanza di kit di sviluppo adeguati. Sebbene il sistema operativo (OS) sia da tempo disponibile su varie schede per sistemi di Internet delle cose (IoT) e di calcolo embedded, queste offerte richiedono in genere uno sforzo di sviluppo hardware non da poco prima di iniziare la codifica.
Gli sviluppatori hanno bisogno di una soluzione in stile "box PC" che sia precaricata con Windows on ARM e che integri tutti i componenti necessari per iniziare a sviluppare le applicazioni. Ciò ridurrebbe i tempi e la complessità della configurazione, consentendo agli sviluppatori di concentrarsi sullo sviluppo e sul testing delle applicazioni senza preoccuparsi dell'installazione e della configurazione iniziale del software.
Questo articolo spiega i criteri di selezione del sistema operativo che portano all'utilizzo di Windows on ARM e passa in rassegna le diverse versioni di Windows disponibili. Presenta quindi il kit di sviluppo Windows on ARM EPC-R3720IQ-AWA12 di Advantech e ne descrive l'ambiente per accelerare lo sviluppo. Include inoltre suggerimenti per iniziare e indica gli strumenti Microsoft che possono essere utilizzati con il kit.
Perché usare Windows al posto di Linux o di un RTOS?
Nella scelta del sistema operativo, gli sviluppatori hanno a disposizione molte opzioni, tra cui Linux e vari sistemi operativi in tempo reale (RTOS). Una ragione comune per scegliere Windows rispetto a queste alternative è l'ampia gamma di software e librerie disponibili. Si tratta di una considerazione critica per gli ambienti con infrastrutture Windows legacy.
Windows offre anche un ecosistema di sviluppo maturo, con strumenti completi e interfacce di programmazione delle applicazioni (API) come Visual Studio e il framework .NET. I programmatori possono scegliere tra un'ampia gamma di linguaggi di programmazione come C++, Python e Node.js e possono accedere a vari servizi Microsoft Azure per realizzare rapidamente funzionalità sofisticate.
Linux condivide alcuni di questi vantaggi, ma la configurazione e la manutenzione di un build Linux possono essere impegnative. Inoltre, le distribuzioni di Linux possono variare notevolmente, con conseguenti difficoltà nel processo di sviluppo.
A differenza di Windows e Linux, gli RTOS si concentrano sull'efficienza. In genere non offrono funzionalità avanzate come le ricche interfacce grafiche utente (GUI) e l'ampio ecosistema dei sistemi operativi completi.
In definitiva, se gli sviluppatori cercano un sistema operativo robusto, ricco di funzionalità e sicuro con un ecosistema di sviluppo maturo, Windows è un'opzione interessante. Tuttavia, Windows è disponibile in molte forme ed è essenziale comprenderne le differenze.
Conoscere tutte le opzioni di Windows
Microsoft offre diverse varianti di Windows. La Tabella 1 mostra alcune delle principali distinzioni tra le diverse edizioni. Per EPC-R3720IQ-AWA12, Advantech ha scelto Windows IoT Enterprise. Uno dei vantaggi di Windows IoT Enterprise è la sua compatibilità con la piattaforma touch Universal Windows Platform (UWP) e con le tradizionali applicazioni Win32. Questa flessibilità consente agli sviluppatori di scegliere il modello di app più adatto alle loro esigenze.
|
Tabella 1: Le diverse edizioni di Windows supportano casi d'uso specifici. (Tabella per gentile concessione di Kenton Williston, basata su informazioni di Microsoft)
Windows IoT Enterprise offre anche funzioni di sicurezza avanzate che migliorano l'affidabilità:
- Le funzionalità di blocco del dispositivo consentono agli amministratori di limitare l'esecuzione del dispositivo alle sole applicazioni autorizzate.
- L'avvio sicuro garantisce che il dispositivo si avvii solo con software attendibile.
- La crittografia BitLocker aiuta a proteggere i dati sensibili.
Il sistema operativo offre anche strumenti di gestione di livello aziendale per un supporto centralizzato dei dispositivi distribuiti. Questi strumenti semplificano la manutenzione e la sicurezza delle implementazioni IoT su larga scala.
Molte di queste funzioni non sono supportate dal più compatto Windows IoT Core. Questa edizione è destinata a dispositivi leggeri e monouso con risorse limitate. Elimina caratteristiche come la GUI e il supporto di applicazioni Win32 tradizionali, ed è quindi meglio adatto come sistema operativo di accompagnamento per dispositivi complessi.
Per contro, Windows Pro standard offre un ricco set di funzionalità ma non può essere personalizzato per le implementazioni IoT. Inoltre, non è disponibile con il supporto LTSC per i dispositivi di lunga durata.
Perché utilizzare Windows on ARM?
Storicamente, il sistema operativo Windows era legato all'architettura x86. Oggi il sistema operativo funziona anche su processori ARM e questa opzione apre nuove possibilità di progettazione.
Il vantaggio principale di Windows on ARM è l'efficienza. I processori ARM sono noti per il loro basso consumo energetico, che li rende adatti ai dispositivi alimentati a batteria e alle applicazioni in cui la gestione termica è un problema. I sistemi basati su ARM tendono inoltre a concentrarsi sull'economicità, rendendoli un'opzione interessante per le implementazioni IoT su larga scala.
Come iniziare rapidamente con un kit di sviluppo Windows on ARM
Come già detto, uno degli inconvenienti di Windows on ARM è stata la mancanza di hardware pronto per l'uso. EPC-R3720IQ-AWA12 risolve questo problema fornendo un box PC preinstallato con Windows 10 IoT.
Come illustra la Figura 1, il kit di sviluppo è alloggiato in un robusto contenitore di 174 x 108 x 25 mm dotato di staffe e può essere opzionalmente installato sul campo.
Figura 1: EPC-R3720IQ-AWA12 è un box PC compatto alimentato da un processore ARM con Windows 10 IoT. (Immagine per gentile concessione di Advantech)
Il cuore del kit di sviluppo è il System-on-Chip (SoC) MIMX8ML8DVNLZAB di NXP Semiconductors, basato su un processore ARM Cortex-A53 quad core in grado di funzionare a 1,8 GHz (sul modello EPC-R3720IQ-AWA12 funziona a 1,6 GHz). Il SoC è dotato di un'unità di elaborazione neurale (NPU) da 2,3 tera di operazioni al secondo (TOPS), che lo rende adatto a carichi di lavoro di intelligenza artificiale (IA) e apprendimento automatico (ML) in ambito edge.
Il kit di sviluppo dispone di 6 GB di memoria, 16 GB di storage e opzioni di espansione tramite slot per Mini-PCIe, M.2, Micro SD e Nano SIM. Per quanto riguarda la connettività, il kit di sviluppo offre due porte Gigabit Ethernet (GbE), una porta USB 2.0, una porta USB 3.2 Gen 1, una porta HDMI e una porta seriale con supporto di CAN FD.
Impostazione del kit di sviluppo
L'impostazione del kit di sviluppo EPC-R3720IQ-AWA12 è semplice. I punti seguenti illustrano le fasi principali, a partire dalla configurazione di base:
- Il monitor, la tastiera e la rete devono essere collegati rispettivamente tramite le porte HDMI, USB ed Ethernet.
- Il kit di sviluppo avvia automaticamente il processo di installazione di Windows 10 IoT al primo avvio. Una volta completata, all'utente verrà presentato l'ambiente desktop di Windows.
- L'utente deve scaricare e installare Visual Studio dal sito Web di Microsoft per impostare l'ambiente di sviluppo. Durante l'installazione, l'utente deve selezionare i componenti necessari per lo sviluppo di applicazioni Windows IoT e qualsiasi altro carico di lavoro necessario, come .NET o UWP.
- È necessario installare tutti i kit di sviluppo software (SDK) e gli eseguibili necessari. Ad esempio, se sono necessari .NET 6 o .NET 7, si devono scaricare gli eseguibili appropriati dal portale degli sviluppatori Microsoft o attraverso il programma di installazione di Visual Studio.
- Dopo aver installato gli strumenti necessari, si deve configurare Visual Studio per lo sviluppo Windows IoT, per garantire che siano installate le versioni corrette dell'SDK e degli strumenti Windows.
A seconda delle esigenze applicative, possono essere necessarie ulteriori configurazioni:
- Se è necessaria una rete wireless, è necessario collegare un'antenna al connettore incorporato nel kit di sviluppo. Per la connettività cellulare, è necessario fornire e installare una scheda SIM.
- È necessario testare tutte le periferiche collegate attraverso lo slot M.2 o altre porte I/O, assicurandosi che siano installati i driver e il software necessari per tali periferiche.
- È necessario configurare Azure IoT Hub appropriato o altri servizi cloud se l'applicazione prevede la connettività cloud. Ciò comporta la definizione di un account Azure, la creazione di risorse con Azure e la configurazione del kit di sviluppo per comunicare con queste risorse.
L'utente può ora passare allo sviluppo e alla distribuzione dell'applicazione. Per iniziare lo sviluppo, basterà creare un nuovo progetto o aprirne uno esistente in Visual Studio. Le applicazioni possono essere sviluppate, eseguite e testate direttamente sul dispositivo.
Se invece l'utente intende eseguire il debug delle applicazioni in remoto da un PC di sviluppo, dovrà impostare il debug remoto. Ciò comporta la configurazione degli strumenti di debug remoto sia sul kit di sviluppo sia sul PC.
Conclusione
Windows on ARM promette molti vantaggi interessanti per i dispositivi IoT complessi. Il kit di sviluppo EPC-R3720IQ-AWA12 offre agli sviluppatori un percorso rapido per la creazione di applicazioni per questo sistema operativo e, in alcuni casi, l'hardware può essere utilizzato direttamente per la distribuzione. Come mostrato, iniziare a lavorare con il kit di sviluppo è un processo semplice, che consente agli sviluppatori di iniziare a sviluppare applicazioni con una configurazione minima.
Riferimenti:
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.



