Kom raskt i gang med «Windows på ARM»-utviklingen

Av Kenton Williston

Bidrag fra DigiKeys nordamerikanske redaktører

Mye av den eksisterende infrastrukturen er basert på Windows i bruksområder som industriell automatisering og helsetjenester. Windows på ARM® (Windows on Arm) er et opplagt valg for utviklere som lager prisgunstige lavenergi-enheter for disse sektorene, fordi det bringer Windows-plattformen til den effektive ARM-arkitekturen.

En stor utfordring forbundet med å lage Windows på ARM-systemer har vært mangelen på egnede utviklingssett. Selv om operativsystemet (OS) lenge har vært tilgjengelig på ulike tingenes Internett (IoT)-systemer på kortnivå og integrerte databehandlingssystemer, krever disse tilbudene vanligvis betydelig maskinvareproduktutvikling før koding kan begynne.

Utviklere trenger en PC-løsning som kommer forhåndslastet med Windows på ARM, og som integrerer alle komponentene som trengs for å starte programutviklingen. Dette vil redusere oppsett-tiden og kompleksiteten, slik at utviklere kan fokusere på programutvikling og testing uten å måtte bekymre seg for innledende programvareinstallasjon og -konfigurasjon.

Denne artikkelen forklarer operativsystemvalgkriteriene som leder til bruken av Windows for ARM, og gjennomgår de ulike versjonene av Windows som er tilgjengelige for vurdering. Den introduserer deretter Windows på ARM-utviklingssettet EPC-R3720IQ-AWA12 fra Advantech, og beskriver hvordan dette tilbyr et sømløst miljø for å akselerere utviklingen. Det inneholder tips for å komme i gang, og refererer til Microsoft-verktøy som kan brukes med settet.

Derfor bør Windows brukes i stedet for Linux eller RTOS

Når et operativsystem skal velges, har utviklere mange alternativer, inkludert Linux og ulike sanntidsoperativsystemer (RTOS – real-time OS). En vanlig grunn til å velge Windows fremfor disse alternativene er det omfattende utvalget av programvare og biblioteker som er tilgjengelige. Dette er en viktig faktor for miljøer med eldre Windows-infrastruktur.

Windows tilbyr også et modent utviklingsøkosystem, med omfattende verktøy og programmeringsgrensesnitt (API – application programming interface) som Visual Studio og .NET-rammeverket. Programmerere kan velge fra et bredt spekter av programmeringsspråk, for eksempel C++, Python og Node.js, og de kan få tilgang til ulike Microsoft Azure-tjenester for å raskt bygge ut avansert funksjonalitet.

Linux deler noen av disse fordelene, men det kan være nødvendig med stor innsats for å konfigurere og vedlikeholde en Linux-versjon. Videre kan Linux-distribusjoner variere kraftig, noe som fører til utfordringer i utviklingsprosessen.

I motsetning til Windows og Linux, legger RTOS vekt på effektivitet. De mangler vanligvis avanserte funksjoner som rike grafiske brukergrensesnitt (GUI – graphical user interface) og det brede økosystemet som fullverdige operativsystemer tilbyr.

For å konkludere, hvis utviklere er ute etter et robust, funksjonsrikt og sikkert operativsystem med et modent utviklingsøkosystem, presenterer Windows et overbevisende alternativ. Windows er imidlertid tilgjengelig i mange versjoner, og det er viktig å forstå forskjellene mellom dem.

Forstå de ulike Windows-alternativene

Microsoft tilbyr flere varianter av Windows. Tabell 1 viser noen av de viktigste forskjellene mellom de forskjellige utgavene. Advantech valgte Windows IoT Enterprise for EPC-R3720IQ-AWA12. En av fordelene med Windows IoT Enterprise er kompatibiliteten med den berøringsvennlige Universal Windows Platform (UWP) og tradisjonelle Win32-apper. Denne fleksibiliteten gjør det mulig for utviklere å velge appmodellen som er best egnet for deres behov.

Windows Pro Windows IoT Enterprise Windows IoT Core
Målenheter PC-er, bærbare PC-er, nettbrett Fullfunksjonelle enheter, f.eks. menneske-maskin-interaksjon (MMI) Enkle enheter, f.eks. applikasjoner uten grafisk display
Grafisk grensesnitt Fullverdig grafisk brukergrensesnitt Fullverdig grafisk brukergrensesnitt med låsealternativer Ingen grafisk brukergrensesnitt
Støtte for applikasjon Win32, UWP Win32, UWP Enkel UWP-app
Lisensiering Standard kommersiell lisensiering OEM-avtaler, spesialisert lisensiering Gratis for personlig bruk, OEM-avtaler
Brukertilpasning Begrenset tilpasning Høy grad av tilpasning Begrenset tilpasning
Livssyklus for kundesupport Regelmessige oppdateringer og støtte Alternativer for langsiktig servicekanal (LTSC) Begrenset støtte

Tabell 1: Ulike versjoner av Windows støtter unike bruksmønster. (Tabellkilde: Kenton Williston, basert på Microsoft-informasjon)

Windows IoT Enterprise tilbyr også avanserte sikkerhetsfunksjoner som forbedrer påliteligheten:

  • Funksjoner for enhetslåsing gjør det mulig for administratorer å begrense enheten til å kun kjøre autoriserte apper.
  • Sikker oppstart (Secure Boot) sørger for at enheten bare starter med trygg programvare.
  • BitLocker-kryptering bidrar til å beskytte sensitive data.

Operativsystemet tilbyr også administrasjonsverktøy i bedriftsklassen som muliggjør sentralisert støtte for distribuerte enheter. Disse verktøyene forenkler vedlikehold og sikkerhet for IoT-distribusjoner i storskala.

Mange av disse funksjonene støttes ikke i den mer kompakte Windows IoT Core. Denne utgaven er beregnet for lettere enheter som har begrensede ressurser og ment for dedikerte oppgaver. Den fjerner funksjoner som det grafiske brukergrensesnittet og støtte for tradisjonelle Win32-applikasjoner, noe som gjør den bedre egnet som et ledsagende operativsystem for komplekse enheter.

Standard Windows Pro tilbyr derimot et rikt funksjonssett, men kan ikke tilpasses for IoT-distribusjoner. Den er heller ikke tilgjengelig med LTSC-støtte for enheter med lang levetid.

Derfor bør Windows på ARM brukes

Historisk sett var Windows-operativsystemet knyttet til x86-arkitekturen. I dag kjører operativsystemet også på ARM-prosessorer, og dette alternativet åpner opp for nye muligheter.

Hovedfordelen til Windows på ARM er effektiviteten. ARM-prosessorer er kjent for sitt lave strømforbruk, noe som gjør dem godt egnet for batteridrevne enheter og utrustninger der varmestyring er av stor betydning. ARM-baserte systemer har også en tendens til å legge vekt på kostnadseffektivitet, noe som gjør dem til et attraktivt alternativ for IoT-distribusjoner i storskala.

Få en rask start med et Windows på ARM-utviklingssett

Som nevnt ovenfor, har en av ulempene forbundet med Windows på ARM vært mangelen på maskinvare som er klar til bruk. EPC-R3720IQ-AWA12 løser dette problemet ved å levere en boks-PC forhåndsinstallert med Windows 10 IoT.

Som vist i figur 1, er utviklingssettet plassert i et robust kabinett på 174 x 108 x 25 millimeter (mm). Dette kabinettet har plass til monteringsbraketter og kan distribueres på brukerstedet om ønskelig.

Bilde av Advantech EPC-R3720IQ-AWA12 kompakt boks-PCFigur 1: EPC-R3720IQ-AWA12 er en kompakt boks-PC drevet av en ARM-prosessor som kjører Windows 10 IoT. (Bildekilde: Advantech)

Kjernen i utviklingssettet er NXP Semiconductors sin MIMX8ML8DVNLZAB SoC (systemkrets) som er basert på en firekjerners ARM Cortex-A53-prosessor som kan kjøre ved 1,8 gigahertz (GHz) (den kjører ved 1,6 GHz på EPC-R3720IQ-AWA12). SoC-en har en nevral behandlingsenhet (NPU – neural processing unit) som kan levere 2,3 TOPS (trillioner operasjoner per sekund), noe som gjør den godt egnet for arbeidsbelastninger med kunstig intelligens (AI) og maskinlæring (ML) på inngangspunktet (edge).

Utviklingssettet har 6 gigabyte (Gb) minne, 16 Gb lagringsplass og utvidelsesalternativer via spor for Mini-PCIe, M.2, Micro SD og Nano SIM. Når det gjelder konnektivitet, tilbyr utviklingssettet to Gigabit Ethernet-porter (GbE), en USB 2.0-port, en USB 3.2 Gen 1-port, en HDMI-port og en serieport som støtter CAN FD.

Oppsett av utviklingssettet

Det er en enkel prosess å konfigurere EPC-R3720IQ-AWA12-utviklingssettet. Følgende punkter beskriver de viktigste trinnene, og starter med den grunnleggende konfigurasjonen:

  1. En skjerm, et tastatur og et nettverk kan kobles til via henholdsvis HDMI-, USB- og Ethernet-portene.
  2. Utviklingssettet starter automatisk Windows 10 IoT-oppsettprosessen under første oppstart. Når dette er fullført, vil brukeren bli presentert med Windows-skrivebordsmiljøet.
  3. Brukeren må laste ned og installere Visual Studio fra Microsoft-nettstedet for å konfigurere utviklingsmiljøet. Under installasjonen må brukeren velge komponentene som kreves for å utvikle Windows IoT-applikasjoner og andre nødvendige arbeidsbelastninger, for eksempel .NET eller UWP.
  4. Alle nødvendige programvareutviklingssett (SDK – software development kit) og kjøretider (runtime) må installeres. For eksempel, hvis .NET 6 eller .NET 7 er nødvendig, bør de aktuelle kjøretidene lastes ned fra Microsoft-utviklerportalen eller via Visual Studio-installasjonsprogrammet.
  5. Etter at du har installert de nødvendige verktøyene, må Visual Studio konfigureres for Windows IoT-utvikling for å sikre at de riktige versjonene av Windows SDK og tilknyttede verktøy er installert.

Avhengig av applikasjonens behov, kan det være nødvendig med flere konfigurasjoner:

  1. En antenne må festes til utviklingssettets integrerte kontakt hvis et trådløst nettverk er nødvendig. Et SIM-kort må klargjøres og installeres hvis mobil konnektivitet er nødvendig.
  2. Alle eksterne enheter som er koblet til via M.2-sporet eller andre I/O-porter må testes for å sikre at de nødvendige driverne og relevant programvare er installert for disse periferienhetene.
  3. Den egnede Azure IoT Hub eller andre skytjenester må konfigureres hvis applikasjoner har behov for skytilkobling. Dette innebærer å konfigurere en Azure-konto, opprette ressurser med Azure og konfigurere utviklingssettet til å kommunisere med disse ressursene.

Brukeren kan nå gå videre til utvikling og distribusjon av applikasjoner. Utvikling kan startes ved å opprette et nytt prosjekt eller åpne et eksisterende prosjekt i Visual Studio. Applikasjoner kan utvikles, kjøres og testes direkte på enheten.

Hvis brukere i stedet planlegger å feilsøke applikasjoner eksternt fra en utviklings-PC, bør de konfigurere ekstern feilsøking. Dette innebærer å konfigurere de eksterne feilsøkingsverktøyene på både utviklingssettet og PC-en.

Konklusjon

Windows på ARM har mange interessante fordeler for komplekse IoT-enheter. EPC-R3720IQ-AWA12-utviklingssettet gir utviklere en rask måte å lage applikasjoner på for dette operativsystemet, og maskinvaren kan også i noen tilfeller brukes direkte til distribusjon. Som vist er det en enkel prosess å komme i gang med utviklingssettet, derfor kan utviklere starte applikasjonsutviklingen med minimalt oppsett.

Referanser:

  1. «Komme i gang med Windows 10 IoT Enterprise ved å bruke Advantech EPC-R3720, en ARM-basert integrert 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 skribenten

Image of Kenton Williston

Kenton Williston

Kenton Williston tok sin bachelorgrad i elektroteknikk i 2000 og startet sin karriere som benchmarkanalytiker for prosessorer. Siden da har han jobbet som redaktør i EE Times-gruppen og bidratt til å lansere og lede flere publikasjoner og konferanser innen elektronikkbransjen.

Om denne utgiveren

DigiKeys nordamerikanske redaktører