Få en snabb start med Windows on Arm-utveckling

Av Kenton Williston

Bidraget med av DigiKeys nordamerikanska redaktörer

En stor del av den befintliga infrastrukturen är baserad på Windows i tillämpningar inom industriell automation och sjukvård. För utvecklare som skapar billiga enheter i molnkanten med låg strömförbrukning för dessa branscher är Windows on Arm® ett självklart val, eftersom den möjliggör Windows i den effektiva Arm-arkitekturen.

Men, en stor utmaning när det gäller att skapa Windows på Arm-system har dock varit bristen på lämpliga utvecklingssatser. Även om operativsystemet sedan länge har varit tillgängligt på olika enheter för Internet of Things (IoT) och inbyggda datorsystem på kortnivå, kräver dessa modeller vanligtvis betydande hårdvaruutveckling innan kodningen kan påbörjas.

Utvecklare behöver en PC-liknande lösning i en färdig låda som levereras förinstallerad med Windows on Arm och integrerar alla komponenter som krävs för att påbörja programutveckling. Det skulle minska installationstiden och komplexiteten, vilket skulle göra det möjligt för utvecklare att fokusera på programutveckling och testning utan att behöva oroa sig för den första installationen och konfigurationen av programmet.

Artikeln förklarar kriterierna för val av operativsystem som leder till användningen av Windows for Arm och granskar de olika Windows-versioner som finns. Därefter introduceras utvecklingssatsen EPC-R3720IQ-AWA12 för Windows on Arm från Advantech och man beskriver hur den tillhandahåller en sömlös miljö för att påskynda utveckling. Den innehåller tips för att komma igång och hänvisar till verktyg från Microsoft som kan användas med satsen.

Varför använda Windows i stället för Linux eller ett RTOS?

När utvecklare ska välja operativsystem finns det många alternativ att välja bland, inklusive Linux och olika realtidsoperativsystem (RTOS). Ett vanligt skäl till att välja Windows framför dessa alternativ är det stora utbudet av programvara och bibliotek. Det är en viktig faktor i miljöer med äldre Windows-infrastruktur.

Windows har även ett moget ekosystem för utveckling med omfattande verktyg och API:er (Application Programming Interface) som Visual Studio och .NET Framework. Programmerare kan välja bland ett stort utbud av programmeringsspråk som C++, Python och Node.js och kan få tillgång till olika Microsoft Azure-tjänster för att snabbt bygga upp sofistikerad funktionalitet.

Linux delar några av dessa fördelar, men att konfigurera och underhålla en Linux-build kan kräva avsevärda insatser. Dessutom kan Linux-distributioner variera kraftigt, vilket leder till utmaningar i utvecklingsprocessen.

I motsats till Windows och Linux framhäver RTOS effektivitet. De saknar vanligtvis avancerade funktioner som grafiska användargränssnitt (GUI) och det breda ekosystem som fullfjädrade operativsystem erbjuder.

Om utvecklare vill ha ett robust, funktionsrikt och säkert operativsystem med ett moget ekosystem för utveckling är Windows ett övertygande alternativ. Windows finns dock i många olika former, och det är viktigt att förstå skillnaderna.

Förstå de olika Windows-alternativen

Microsoft har flera olika varianter av Windows. Tabell 1 visar några av de viktigaste skillnaderna mellan de olika utgåvorna. För EPC-R3720IQ-AWA12 valde Advantech Windows IoT Enterprise. En av fördelarna med Windows IoT Enterprise är dess kompatibilitet med den pekskärmsvänliga Universal Windows Platform (UWP) och traditionella Win32-program. Denna flexibilitet gör det möjligt för utvecklare att välja den programmodell som passar bäst för deras behov.

Windows Pro Windows IoT Enterprise Windows IoT Core
Målenheter Stationära datorer, bärbara datorer, tablets Fullständigt utrustade enheter, t.ex. gränssnitt mellan människa och maskin Enkla enheter, t.ex. program utan värd
Grafiskt gränssnitt Fullständigt GUI Fullständigt GUI med låsningsalternativ Inget GUI
Programstöd Win32, UWP Win32, UWP Ett enda UWP-program
Licensiering Standardlicensiering för kommersiellt bruk OEM-avtal, specialiserad licensiering Gratis för personligt bruk, OEM-avtal
Anpassning Begränsad anpassning Hög nivå av anpassningsbarhet Begränsad anpassning
Livscykel för support Regelbundna uppdateringar och support LTSC-alternativ (Long-Term Servicing Channel) Begränsat stöd

Tabell 1: Olika utgåvor av Windows stödjer unika användningsområden. (Tabellkälla: Kenton Williston, baserat på information från Microsoft)

Windows IoT Enterprise erbjuder även avancerade säkerhetsfunktioner som förbättrar tillförlitligheten:

  • Med funktioner för enhetslåsning kan administratörer begränsa enheten till att endast köra auktoriserade program.
  • Säker uppstart garanterar att enheten endast startar med betrodd programvara.
  • BitLocker-kryptering gör det lättare att skydda känslig data.

Operativsystemet erbjuder även administrationsverktyg i företagsklass som möjliggör centraliserad support av utplacerade enheter. Verktygen förenklar underhållet och säkerheten vid storskaliga IoT-implementeringar.

Många av dessa funktioner stöds inte i den mer kompakta Windows IoT Core. Denna utgåva är avsedd för lätta, enkla enheter med begränsade resurser. Det tar bort funktioner som GUI och stöd för traditionella Win32-program, vilket gör det mer lämpligt som ett kompletterande operativsystem för komplexa enheter.

Standardversionen av Windows Pro erbjuder däremot en rik uppsättning funktioner men kan inte anpassas för IoT-implementeringar. Den är inte heller tillgänglig med LTSC-stöd för enheter med lång livslängd.

Varför använda Windows on Arm?

Historiskt sett har operativsystemet Windows varit knutet till x86-arkitekturen. Idag körs operativsystemet även på Arm-processorer, och detta alternativ öppnar nya konstruktionsmöjligheter.

Den främsta fördelen med Windows on Arm är effektiviteten. Arm-processorer är kända för sin låga strömförbrukning, vilket gör dem väl lämpade för batteridrivna enheter och tillämpningar där värmehantering är ett problem. Arm-baserade system tenderar även att betona kostnadseffektivitet, vilket gör dem till ett attraktivt alternativ i storskaliga IoT-implementeringar.

Få en snabb start med en utvecklingssats för Windows on Arm

Som nämnts ovan har en av nackdelarna med Windows on Arm varit bristen på färdig hårdvara. EPC-R3720IQ-AWA12 löser detta problem genom att leverera en box-PC som är förinstallerad med Windows 10 IoT.

Som framgår i figur 1 är utvecklingssatsen inrymd i ett robust hölje med måtten 174 x 108 x 25 mm. Höljet har monteringsfästen och kan placeras ut på fältet om så önskas.

Bild på den kompakta box-PC:n EPC-R3720IQ-AWA12 från AdvantechFigur 1: EPC-R3720IQ-AWA12 är en kompakt box-PC som drivs av en Arm-processor och kör Windows 10 IoT. (Bildkälla: Advantech)

Kärnan i utvecklingssatsen är systemkretsen MIMX8ML8DVNLZAB från NXP Semiconductors som är baserad på en fyrkärnig Arm Cortex-A53-processor som kan köras i 1,8 GHz (den körs i 1,6 GHz på EPC-R3720IQ-AWA12). Systemkretsen har en neural processorenhet (NPU) på 2,3 tera operationer per sekund (TOPS), vilket gör den väl lämpad för arbetsbelastningar inom artificiell intelligens (AI) och maskininlärning (ML) i molnkanten.

Utvecklingssatsen har 6 Gb minne, 16 Gb lagringsutrymme och expansionsmöjligheter via kortplatser för Mini-PCIe, M.2, Micro SD och Nano SIM. När det gäller anslutningsmöjligheter har utvecklingssatsen dubbla Gigabit Ethernet-portar (GbE), en USB 2.0-port, en USB 3.2 Gen 1-port, en HDMI-port och en serieport med stöd för CAN FD.

Konfigurering av utvecklingssatsen

Konfigurering av utvecklingssatsen EPC-R3720IQ-AWA12 är en enkel process. I följande punkter beskrivs de viktigaste stegen, med början i grundkonfigurationen:

  1. En bildskärm, ett tangentbord och ett nätverk måste anslutas via HDMI-, USB- respektive Ethernet-portarna.
  2. Utvecklingssatsen startar automatiskt installationsprocessen för Windows 10 IoT vid den första starten. När detta är klart kommer Windows skrivbordsmiljö att presenteras för användaren.
  3. Användaren måste ladda ner och installera Visual Studio från Microsofts webbplats för att konfigurera utvecklingsmiljön. Vid installationen måste användaren välja de komponenter som krävs för att utveckla Windows IoT-program och eventuella andra nödvändiga arbetsbelastningar, t.ex. .NET eller UWP.
  4. Alla nödvändiga SDK:er (Software Development Kit) och runtimes bör installeras. Om t.ex. .NET 6 eller .NET 7 behövs måste lämpliga runtimes laddas ner från Microsofts utvecklarportal eller via installationsprogrammet för Visual Studio.
  5. När du har installerat de nödvändiga verktygen ska Visual Studio konfigureras för Windows IoT-utveckling för att säkerställa att rätt versioner av Windows SDK och verktyg är installerade.

Beroende på tillämpningens behov kan ytterligare konfigurationer krävas:

  1. En antenn behöver anslutas till utvecklingssatsens inbyggda kontakt om trådlöst nätverk behövs. Ett SIM-kort behöver införskaffas och installeras för anslutning till mobilnät.
  2. All kringutrustning som är ansluten via M.2-kortplatsen eller andra I/O-portar bör testas så att alla nödvändiga drivrutiner och program är installerade för kringutrustningen.
  3. Lämplig Azure IoT Hub eller andra molntjänster behöver konfigureras om programmet innefattar molnanslutning. Det innebär att du måste konfigurera ett Azure-konto, skapa resurser med Azure och konfigurera utvecklingssatsen så att det kan kommunicera med dessa resurser.

Användaren kan nu gå vidare till programutveckling och driftsättning. Utvecklingen kan påbörjas genom att skapa ett nytt projekt eller öppna ett befintligt i Visual Studio. Program kan utvecklas, köras och testas direkt i enheten.

Om användare planerar att felsöka program på distans från en utvecklingsdator istället, behöver fjärrfelsökning konfigureras. Det innebär att du måste konfigurera fjärravläsningsverktygen i både utvecklingssatsen och datorn.

Sammanfattning

Windows on Arm har många övertygande fördelar för komplexa IoT-enheter. Utvecklingssatsen EPC-R3720IQ-AWA12 ger utvecklare en snabb väg till att skapa program för detta operativsystem, och hårdvaran kan även användas direkt för driftsättning i vissa fall. Som synes är det en enkel process att komma igång med utvecklingssatsen, vilket gör det möjligt för utvecklare att börja utveckla program med minimal konfiguration.

Referenser:

  1. "Kom igång med Windows 10 IoT Enterprise med Advantech EPC-R3720, en Arm-baserad inbyggd dator med 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.

Om skribenten

Image of Kenton Williston

Kenton Williston

Kenton Williston tog sin kandidatexamen i elektroteknik år 2000 och började sin karriär som utvärderingsanalytiker för processorer. Sedan dess har han arbetat som redaktör för EE Times-gruppen och hjälpt till att starta och leda flera tidskrifter och konferenser för elektronikindustrin.

Om utgivaren

DigiKeys nordamerikanska redaktörer