Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Kom hurtigt i gang med "Windows on Arm"-udvikling

Af Kenton Williston

Bidraget af DigiKeys nordamerikanske redaktører

En stor del af den eksisterende infrastruktur er baseret på Windows i applikationer som industriel automatisering og sundhedspleje. For udviklere, der skaber strømbesparende og billige edge-enheder til disse sektorer, er Windows på Arm® et oplagt valg, da det bringer Windows-platformen til den effektive Arm-arkitektur.

Men en af de store udfordringer ved at skabe Windows på Arm-systemer har været manglen på egnede udviklingssæt. Selvom operativsystemet (OS) længe har været tilgængeligt på forskellige Internet of Things (IoT) og indlejrede computersystemer på kortniveau, kræver disse tilbud typisk betydelig hardwarekonstruktion, før kodningen kan begynde.

Udviklere har brug for en boks-pc-lignende løsning, der leveres forudinstalleret med Windows on Arm og integrerer alle de komponenter, der kræves for at starte applikationsudvikling. Det vil reducere opsætningstiden og kompleksiteten, så udviklerne kan fokusere på udvikling og test af applikationer uden at skulle bekymre sig om den indledende softwareinstallation og -konfiguration.

Denne artikel forklarer kriterierne for valg af operativsystem, der fører til brug af Windows til Arm, og gennemgår de forskellige versioner af Windows, der kan overvejes. Derefter introduceres EPC-R3720IQ-AWA12 Windows on Arm udviklingskit fra Advantech, og det beskrives, hvordan det giver et problemfrit miljø til at fremskynde udviklingen. Den indeholder tips til at komme i gang og henvisninger til Microsoft-værktøjer, der kan bruges sammen med kittet.

Hvorfor bruge Windows i stedet for Linux eller et RTOS?

Når udviklere skal vælge et operativsystem, har de mange muligheder, herunder Linux og forskellige realtids-OS'er (RTOS'er). En almindelig grund til at vælge Windows frem for disse alternativer er det store udvalg af software og biblioteker, der er til rådighed. Dette er en kritisk overvejelse for miljøer med ældre Windows-infrastruktur.

Windows tilbyder også et modent udviklingsøkosystem med omfattende værktøjer og programmeringsgrænseflader (API'er) som Visual Studio og .NET-frameworket. Programmører kan vælge mellem en lang række programmeringssprog som C++, Python og Node.js, og de kan få adgang til forskellige Microsoft Azure-tjenester for hurtigt at opbygge sofistikeret funktionalitet.

Linux har nogle af de samme fordele, men det kan kræve en stor indsats at konfigurere og vedligeholde et Linux-build. Desuden kan Linux-distributioner variere meget, hvilket giver udfordringer i udviklingsprocessen.

I modsætning til Windows og Linux lægger RTOS'er vægt på effektivitet. De mangler typisk avancerede funktioner som rige grafiske brugergrænseflader (GUI'er) og det brede økosystem, som fuldt udstyrede operativsystemer giver.

Hvis udviklere ønsker et robust, funktionsrigt og sikkert operativsystem med et modent udviklingsøkosystem, er Windows en overbevisende mulighed. Men Windows findes i mange former, og det er vigtigt at forstå forskellene.

Forståelse af Windows-mulighederne

Microsoft tilbyder flere varianter af Windows. Tabel 1 viser nogle af de vigtigste forskelle mellem de forskellige udgaver. Til EPC-R3720IQ-AWA12 valgte Advantech Windows IoT Enterprise. En af fordelene ved Windows IoT Enterprise er dens kompatibilitet med den berøringsvenlige Universal Windows Platform (UWP) og traditionelle Win32-apps. Denne fleksibilitet giver udviklere mulighed for at vælge den app-model, der passer bedst til deres behov.

Windows Pro Windows IoT Enterprise Windows IoT Core
Målenheder Stationære computere, bærbare computere, tablets Fuldt udstyrede enheder, f.eks. menneske-maskine-grænseflader Enkle enheder, f.eks. hovedløse applikationer
Grafisk grænseflade Fuld GUI Fuld GUI med muligheder for låsning Ingen GUI
Applikationssupport Win32, UWP Win32, UWP Enkelt UWP-app
Licensering Standard kommerciel licens OEM-aftaler, specialiserede licenser Gratis til personlig brug, OEM-aftaler
Tilpasning Begrænset tilpasning Høj grad af tilpasning Begrænset tilpasning
Livscyklus for support Regelmæssige opdateringer og support LTSC-muligheder (Long-Term Servicing Channel) Begrænset support

Tabel 1: Forskellige udgaver af Windows understøtter unikke brugssituationer. (Tabelkilde: Kenton Williston, baseret på oplysninger fra Microsoft)

Windows IoT Enterprise tilbyder også avancerede sikkerhedsfunktioner, der forbedrer pålideligheden:

  • Enhedslåsning gør det muligt for administratorer at begrænse enheden til kun at køre autoriserede apps.
  • Sikker opstart sikrer, at enheden kun starter op med pålidelig software.
  • BitLocker-kryptering hjælper med at beskytte følsomme data.

Styresystemet tilbyder også administrationsværktøjer i virksomhedsklasse, der muliggør centraliseret support af implementerede enheder. Disse værktøjer forenkler vedligeholdelsen og sikkerheden i forbindelse med store IoT-implementeringer.

Mange af disse funktioner understøttes ikke i den mere kompakte Windows IoT Core. Denne udgave er beregnet til lette enheder med et enkelt formål og begrænsede ressourcer. Det fjerner funktioner som en GUI og understøttelse af traditionelle Win32-programmer, hvilket gør det mere egnet som et ledsagende operativsystem til komplekse enheder.

Omvendt tilbyder standard Windows Pro et rigt funktionssæt, men kan ikke tilpasses til IoT-implementeringer. Den er heller ikke tilgængelig med LTSC-support til enheder med lang levetid.

Hvorfor bruge Windows on Arm?

Historisk set var Windows OS bundet til x86-arkitekturen. I dag kører operativsystemet også på Arm-processorer, og denne mulighed åbner nye designmuligheder.

Den primære fordel ved Windows on Arm er effektivitet. Arm-processorer er kendt for deres lave strømforbrug, hvilket gør dem velegnede til batteridrevne enheder og applikationer, hvor varmestyring er et problem. Arm-baserede systemer har også en tendens til at lægge vægt på omkostningseffektivitet, hvilket gør dem til en attraktiv mulighed for IoT-implementeringer i stor skala.

Kom hurtigt i gang med et Windows on Arm udviklingskit

Som nævnt ovenfor har en af ulemperne ved Windows on Arm været manglen på klar-til-brug-hardware. EPC-R3720IQ-AWA12 løser dette problem ved at levere en boks-pc, der er forudinstalleret med Windows 10 IoT.

Som vist i figur 1 er udviklingskittet anbragt i et robust kabinet på 174 x 108 x 25 millimeter (mm). Dette kabinet har plads til monteringsbeslag og kan sættes op i marken, hvis det ønskes.

Billede af Advantech EPC-R3720IQ-AWA12 kompakt boks-pcFigur 1: EPC-R3720IQ-AWA12 er en kompakt boks-pc med en Arm-processor, der kører Windows 10 IoT. (Billedkilde: Advantech)

Kernen i udviklingskittet er NXP Semiconductors' MIMX8ML8DVNLZAB system-on-chip (SoC), som er baseret på en quad-core Arm Cortex-A53-processor, der kan køre med 1,8 gigahertz (GHz) (den kører med 1,6 GHz på EPC-R3720IQ-AWA12). SoC'en har en neural processorenhed (NPU) på 2,3 TOPS (tera operationer pr. sekund), hvilket gør den velegnet til edge kunstig intelligens (AI) og maskinlæring (ML).

Udviklingskittet har 6 gigabyte (Gbytes) hukommelse, 16 Gbytes lagerplads og udvidelsesmuligheder via slots til Mini-PCIe, M.2, Micro SD og Nano SIM. Med hensyn til tilslutningsmuligheder har udviklingskittet to Gigabit Ethernet-porte (GbE), en USB 2.0-port, en USB 3.2 Gen 1-port, en HDMI-port og en seriel port, der understøtter CAN FD.

Opsætning af udviklingskittet

Opsætning af EPC-R3720IQ-AWA12 udviklingskittet er en ligetil proces. De følgende punkter beskriver de vigtigste trin, begyndende med den grundlæggende opsætning:

  1. En skærm, et tastatur og et netværk skal tilsluttes via henholdsvis HDMI-, USB- og Ethernet-portene.
  2. Udviklingskittet starter automatisk Windows 10 IoT-opsætningsprocessen ved første opstart. Når dette er gjort, vil brugeren blive præsenteret for Windows-skrivebordsmiljøet.
  3. Brugeren skal downloade og installere Visual Studio fra Microsofts hjemmeside for at sætte udviklingsmiljøet op. Under installationen skal brugeren vælge de komponenter, der er nødvendige for at udvikle Windows IoT-applikationer og eventuelle andre nødvendige arbejdsbelastninger, såsom .NET eller UWP.
  4. Alle nødvendige softwareudviklingssæt (SDK'er) og runtimes skal være installeret. Hvis der f.eks. er brug for .NET 6 eller .NET 7, skal de relevante runtimes downloades fra Microsofts udviklerportal eller via Visual Studios installationsprogram.
  5. Efter installation af de nødvendige værktøjer skal Visual Studio konfigureres til Windows IoT-udvikling for at sikre, at de korrekte versioner af Windows SDK og værktøjer er installeret.

Afhængigt af applikationens behov kan der være behov for yderligere konfigurationer:

  1. En antenne skal tilsluttes udviklingskittets indbyggede stik, hvis der er brug for trådløst netværk. For at få mobilforbindelse skal der installeres et SIM-kort.
  2. Alle eksterne enheder, der er tilsluttet via M.2-slottet eller andre I/O-porte, skal testes, og det skal sikres, at de nødvendige drivere og software er installeret til disse eksterne enheder.
  3. Den relevante Azure IoT Hub eller andre cloud-tjenester skal konfigureres, hvis applikationen involverer cloud-forbindelse. Det indebærer opsætning af en Azure-konto, oprettelse af ressourcer med Azure og konfiguration af udviklingssættet, så det kan kommunikere med disse ressourcer.

Brugeren kan nu gå videre til udvikling og implementering af applikationer. Udviklingen kan startes ved at oprette et nyt projekt eller åbne et eksisterende i Visual Studio. Applikationer kan udvikles, køres og testes direkte på enheden.

Hvis brugerne planlægger at debugge programmer eksternt fra en udviklings-pc i stedet, skal de sætte fjernbetjent debugging op. Det indebærer konfiguration af fjernfejlfindingsværktøjerne på både udviklingskittet og pc'en.

Konklusion

Windows on Arm giver mange overbevisende fordele for komplekse IoT-enheder. EPC-R3720IQ-AWA12 udviklingskittet giver udviklere en hurtig vej til at skabe applikationer til dette operativsystem, og hardwaren kan også bruges direkte til udrulning i nogle tilfælde. Som vist er det en enkel proces at komme i gang med udviklingskittet, så udviklere kan begynde at udvikle applikationer med minimal opsætning.

Referencer:

  1. "Kom godt i gang med Windows 10 IoT Enterprise ved hjælp af Advantech EPC-R3720, en Arm-baseret indlejret pc 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 denne forfatter

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.

Om udgiveren

DigiKeys nordamerikanske redaktører