Klik hier voor de Engelse versie van de broncode.

Snel aan de slag met "Windows on Arm"-ontwikkeling

Door Kenton Williston

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

Veel van de bestaande infrastructuur is gebaseerd op Windows in toepassingen zoals industriële automatisering en gezondheidszorg. Voor ontwikkelaars die energiezuinige, goedkope edge-apparaten voor deze sectoren maken, is Windows op Arm® een voor de hand liggende keuze, omdat het het Windows-platform naar de efficiënte Arm-architectuur brengt.

Een grote uitdaging bij het maken van Windows on Arm-systemen is echter het gebrek aan geschikte ontwikkelkits. Hoewel het besturingssysteem (OS) al lange tijd beschikbaar is op verschillende Internet of Things (IoT) en embedded computing systemen op bordniveau, vereisen deze aanbiedingen meestal aanzienlijke hardware-engineering voordat het coderen kan beginnen.

Ontwikkelaars hebben een box-pc-achtige oplossing nodig die vooraf is voorzien van Windows on Arm en waarin alle componenten zijn geïntegreerd die nodig zijn om te beginnen met het ontwikkelen van toepassingen. Dit zou de installatietijd en complexiteit verminderen, waardoor ontwikkelaars zich kunnen richten op het ontwikkelen en testen van applicaties zonder zich zorgen te maken over de initiële installatie en configuratie van software.

In dit artikel worden de selectiecriteria voor besturingssystemen uitgelegd die leiden tot het gebruik van Windows voor Arm en worden de verschillende versies van Windows besproken die beschikbaar zijn. Vervolgens wordt de EPC-R3720IQ-AWA12 Windows on Arm Development Kit van Advantech geïntroduceerd en wordt beschreven hoe deze een naadloze omgeving biedt om de ontwikkeling te versnellen. Er staan tips in om aan de slag te gaan en verwijzingen naar Microsoft-tools die met de kit kunnen worden gebruikt.

Waarom Windows gebruiken in plaats van Linux of een RTOS?

Bij het kiezen van een besturingssysteem hebben ontwikkelaars veel opties, waaronder Linux en verschillende realtime besturingssystemen (RTOS'en). Een veelgehoorde reden om Windows te verkiezen boven deze alternatieven is het uitgebreide aanbod aan software en bibliotheken. Dit is van cruciaal belang voor omgevingen met een verouderde Windows-infrastructuur.

Windows biedt ook een volwassen ecosysteem voor ontwikkeling, met uitgebreide tools en API's (Application Programming Interfaces) zoals Visual Studio en het .NET framework. Programmeurs kunnen kiezen uit een groot aantal programmeertalen zoals C++, Python en Node.js, en hebben toegang tot verschillende Microsoft Azure services om snel geavanceerde functionaliteit te bouwen.

Linux deelt een aantal van deze voordelen, maar het configureren en onderhouden van een Linux build kan behoorlijk wat moeite kosten. Bovendien kunnen Linux-distributies sterk verschillen, wat leidt tot uitdagingen in het ontwikkelingsproces.

In tegenstelling tot Windows en Linux leggen RTOS'en de nadruk op efficiëntie. Ze missen meestal geavanceerde functies zoals rijke grafische gebruikersinterfaces (GUI's) en het brede ecosysteem dat volledige besturingssystemen bieden.

Als ontwikkelaars op zoek zijn naar een robuust, rijk uitgerust en veilig besturingssysteem met een volwassen ontwikkel-ecosysteem, dan is Windows een aantrekkelijke optie. Windows is echter verkrijgbaar in vele vormen en het is essentieel om de verschillen te begrijpen.

De Windows-opties begrijpen

Microsoft biedt verschillende varianten van Windows. Tabel 1 toont enkele van de belangrijkste verschillen tussen de verschillende edities. Voor de EPC-R3720IQ-AWA12 selecteerde Advantech Windows IoT Enterprise. Een van de voordelen van Windows IoT Enterprise is de compatibiliteit met het aanraakvriendelijke Universal Windows Platform (UWP) en traditionele Win32-apps. Dankzij deze flexibiliteit kunnen ontwikkelaars het app-model kiezen dat het beste past bij hun behoeften.

Windows Pro Windows IoT Enterprise Windows IoT Core
Doelapparaten Desktops, laptops, tablets Volledig uitgeruste apparaten, bijv. mens-machine-interfaces Eenvoudige apparaten, bijv. headless toepassingen
Grafische interface Volledige GUI Volledige GUI met vergrendelingsopties Geen GUI
Toepassingsondersteuning Win32, UWP Win32, UWP Enkele UWP-app
Licentie Standaard commerciële licenties OEM-overeenkomsten, gespecialiseerde licenties Gratis voor persoonlijk gebruik, OEM-overeenkomsten
Aanpassing Beperkte aanpassing Hoog niveau van aanpassing Beperkte aanpassing
Levenscyclus ondersteuning Regelmatige updates en ondersteuning Long-Term Servicing Channel-opties (LTSC) Beperkte ondersteuning

Tabel 1: Verschillende edities van Windows ondersteunen unieke gebruikssituaties. (Bron tabel: Kenton Williston, gebaseerd op informatie van Microsoft)

Windows IoT Enterprise biedt ook geavanceerde beveiligingsfuncties die de betrouwbaarheid verbeteren:

  • Met apparaatvergrendeling kunnen beheerders het apparaat beperken tot alleen geautoriseerde apps.
  • Secure boot zorgt ervoor dat het apparaat alleen opstart met vertrouwde software.
  • BitLocker-encryptie helpt gevoelige gegevens te beschermen.

Het OS biedt ook beheertools op bedrijfsniveau die gecentraliseerde ondersteuning van ingezette apparaten mogelijk maken. Deze tools vereenvoudigen het onderhoud en de beveiliging van grootschalige IoT-implementaties.

Veel van deze functies worden niet ondersteund in de compactere Windows IoT Core. Deze editie is bedoeld voor lichte apparaten voor eenmalig gebruik met beperkte bronnen. Het verwijdert functies zoals een GUI en ondersteuning voor traditionele Win32-toepassingen, waardoor het meer geschikt is als begeleidend besturingssysteem voor complexe apparaten.

Omgekeerd biedt standaard Windows Pro een uitgebreide set functies, maar kan niet worden aangepast voor IoT-implementaties. Het is ook niet beschikbaar met LTSC-ondersteuning voor apparaten met een lange levensduur.

Waarom Windows on Arm gebruiken?

Historisch gezien was het Windows OS gebonden aan de x86-architectuur. Tegenwoordig draait het OS ook op Arm-processors en deze optie opent nieuwe ontwerpmogelijkheden.

Het belangrijkste voordeel van Windows on Arm is efficiëntie. Arm-processors staan bekend om hun lage energieverbruik, waardoor ze zeer geschikt zijn voor batterijgevoede apparaten en toepassingen waarbij thermisch beheer een probleem is. Arm-gebaseerde systemen leggen ook de nadruk op kostenefficiëntie, waardoor ze een aantrekkelijke optie zijn voor grootschalige IoT-implementaties.

Snel aan de slag met een Windows on Arm dev kit

Zoals hierboven vermeld, is een van de nadelen van Windows on Arm het gebrek aan kant-en-klare hardware. De EPC-R3720IQ-AWA12 lost dit probleem op door een box-pc te leveren die vooraf is geïnstalleerd met Windows 10 IoT.

Zoals te zien is in Afbeelding 1, zit de dev kit in een robuuste behuizing van 174 x 108 x 25 millimeter (mm). Deze behuizing is voorzien van montagebeugels en kan desgewenst in het veld worden gebruikt.

Afbeelding van Advantech EPC-R3720IQ-AWA12 compacte box-pcAfbeelding 1: De EPC-R3720IQ-AWA12 is een compacte box-pc die wordt aangedreven door een Arm-processor met Windows 10 IoT. (Bron afbeelding: Advantech)

Het hart van de dev kit wordt gevormd door de MIMX8ML8DVNLZAB system-on-chip (SoC) van NXP Semiconductors, die is gebaseerd op een quad-core Arm Cortex-A53-processor die kan draaien op 1,8 gigahertz (GHz) (hij draait op 1,6 GHz op de EPC-R3720IQ-AWA12). De SoC heeft een neurale verwerkingseenheid (NPU) van 2,3 tera operaties per seconde (TOPS), waardoor hij zeer geschikt is voor kunstmatige intelligentie (AI) en machine learning (ML) workloads aan de rand.

De ontwikkelkit heeft 6 gigabytes (Gbytes) geheugen, 16 Gbytes opslag en uitbreidingsmogelijkheden via slots voor Mini-PCIe, M.2, Micro SD en Nano SIM. Wat betreft connectiviteit biedt de dev kit dual Gigabit Ethernet (GbE) poorten, een USB 2.0-poort, een USB 3.2 Gen 1-poort, een HDMI poort en een seriële poort die CAN FD ondersteunt.

De dev kit instellen

Het instellen van de EPC-R3720IQ-AWA12 dev kit is een eenvoudig proces. De volgende opsommingstekens beschrijven de belangrijkste stappen, te beginnen met de basisinstellingen:

  1. Een monitor, toetsenbord en netwerk moeten worden aangesloten via respectievelijk de HDMI-, USB- en Ethernet-poorten.
  2. De dev kit start automatisch het Windows 10 IoT-installatieproces bij de eerste keer opstarten. Zodra dit is voltooid, krijgt de gebruiker de Windows bureaubladomgeving te zien.
  3. De gebruiker moet Visual Studio downloaden en installeren van de Microsoft-website om de ontwikkelomgeving in te stellen. Tijdens de installatie moet de gebruiker de componenten selecteren die nodig zijn voor het ontwikkelen van Windows IoT-toepassingen en eventuele andere benodigde workloads, zoals .NET of UWP.
  4. Alle vereiste SDK's (Software Development Kits) en runtimes moeten geïnstalleerd zijn. Als .NET 6 of .NET 7 bijvoorbeeld nodig zijn, moeten de juiste runtimes worden gedownload van het Microsoft ontwikkelaarsportaal of via het installatieprogramma van Visual Studio.
  5. Nadat de benodigde tools zijn geïnstalleerd, moet Visual Studio worden geconfigureerd voor Windows IoT-ontwikkeling om ervoor te zorgen dat de juiste versies van de Windows SDK en tools zijn geïnstalleerd.

Afhankelijk van de toepassingsbehoeften kunnen extra configuraties nodig zijn:

  1. Als een draadloos netwerk nodig is, moet een antenne worden aangesloten op de ingebouwde connector van de dev kit. Voor cellulaire connectiviteit moet een SIM-kaart worden geleverd en geïnstalleerd.
  2. Alle randapparatuur die is aangesloten via de M.2-sleuf of andere I/O-poorten moet worden getest, waarbij ervoor moet worden gezorgd dat de benodigde stuurprogramma's en software voor deze randapparatuur zijn geïnstalleerd.
  3. De juiste Azure IoT Hub of andere cloudservices moeten worden geconfigureerd als de toepassing cloudconnectiviteit vereist. Dit omvat het opzetten van een Azure account, het aanmaken van resources met Azure en het configureren van de ontwikkelkit om met deze resources te communiceren.

De gebruiker kan nu verder gaan met het ontwikkelen en implementeren van applicaties. De ontwikkeling kan worden gestart door een nieuw project te maken of een bestaand project te openen in Visual Studio. Toepassingen kunnen direct op het apparaat worden ontwikkeld, uitgevoerd en getest.

Als gebruikers van plan zijn om toepassingen op afstand te debuggen vanaf een development-pc, dan moeten ze debuggen op afstand instellen. Dit omvat het configureren van de externe debugging tools op zowel de dev kit als de pc.

Conclusie

Windows on Arm biedt veel aantrekkelijke voordelen voor complexe IoT-apparaten. De EPC-R3720IQ-AWA12 dev kit biedt ontwikkelaars een snelle weg naar het maken van toepassingen voor dit besturingssysteem, en de hardware kan in sommige gevallen ook direct worden gebruikt voor implementatie. Zoals te zien is, is het aan de slag gaan met de dev kit een eenvoudig proces, waardoor ontwikkelaars kunnen beginnen met het ontwikkelen van applicaties met minimale instellingen.

Referenties (meest Engelstalig):

  1. "Aan de slag met Windows 10 IoT Enterprise met behulp van de Advantech EPC-R3720, een Arm-gebaseerde embedded PC met NXP i.MX 8M Plus".
DigiKey logo

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.

Achtergrondinformatie over deze auteur

Image of Kenton Williston

Kenton Williston

Kenton Williston received his B.S. in Electrical Engineering in 2000 and started his career as processor benchmark analyst. Since then he worked as an editor with the EE Times group and helped launch and lead multiple publications and conferences serving the electronics industry.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey