Ismerkedés az ARM-alapú Windows operációs rendszerre történő fejlesztéssel

By Kenton Williston

Contributed By DigiKey's North American Editors

A meglévő számítógépes infrastruktúra nagy része Windows alapú, például az ipari automatizálás és az egészségügy területén is. Azon fejlesztők esetében, akik kis fogyasztású, kis költségű helyi eszközöket készítenek ezen ágazatok számára, kézenfekvő választás az ARM® processzorokon futó Windows (Windows on ARM, ARM-alapú Windows), mivel ez a Windows platformot a jó hatásfokú ARM architektúrára helyezi át.

Az ARM-alapú Windows rendszerek létrehozásának egyik legnagyobb nehézsége volt azonban a megfelelő fejlesztőkészletek hiánya. Bár maga az operációs rendszer (OS, operating system) már régóta elérhető a dolgok internetére (IoT, Internet of Things) kapcsolódó különböző kártyaszintű eszközökön és a beágyazott számítástechnikai rendszereken, ezek a megoldások jellemzően jelentős hardverfejlesztést igényelnek, mielőtt a kódolás (azaz a programkód megírása) ás megkezdődhetne.

A fejlesztőknek egy olyan házban elhelyezett számítógépszerű megoldásra van szükségük, amely előre feltöltött ARM-alapú Windows rendszerrel érkezik, és összeépítve tartalmazza az alkalmazásfejlesztés megkezdéséhez szükséges összes összetevőt. Ez csökkentené a telepítési időt és a telepítés bonyolultságát, lehetővé téve a fejlesztők számára, hogy az alkalmazásfejlesztésre és a tesztelésre összpontosítsanak anélkül, hogy a szoftver kezdeti telepítésével és beállításával kellene foglalkozniuk.

Ez a cikk ismerteti az operációs rendszer azon kiválasztási szempontjait, amelyek az ARM-alapú Windows használatához vezettek, és áttekinti a Windows különböző szóba jöhető verzióit. Ezután bemutatja az Advantech EPC-R3720IQ-AWA12 jelű, ARM-alapú Windows rendszerhez való fejlesztőkészletét, és elmondja, hogyan nyújt az problémamentes környezetet a fejlesztés felgyorsításához. Tartalmaz a kezdéshez hasznos tanácsokat, és felsorol a készlettel használható néhány Microsoft-eszközt.

Miért érdemes Windows rendszert használni Linux vagy valamilyen RTOS helyett?

Az operációs rendszer kiválasztásakor a fejlesztőknek számos lehetőségük van, beleértve a Linuxot és a különböző valós idejű operációs rendszereket (RTOS, real-time operating system). Az egyik gyakori ok, amiért a Windowst választják ezekkel az alternatívákkal szemben, a rendelkezésre álló szoftverek és könyvtárak széles választéka. Ez a régebbi Windows-infrastruktúrát használó környezetek esetében lényeges szempont.

A Windows egy kiforrott fejlesztői ökorendszert is kínál, átfogó eszközökkel és alkalmazásprogramozási felületekkel (API, application programming interface), amilyen például a Visual Studio fejlesztőkörnyezet és a .NET keretrendszer. A programozók sokféle programozási nyelv közül választhatnak, amilyen például a C++, a Python és a Node.js nyelv, és hozzáférhetnek a Microsoft Azure különböző szolgáltatásaihoz, hogy gyorsan alakíthassanak ki kifinomult funkciókat.

A Linuxra szintén jellemző jó néhány ezek közül az előnyök közül, de egy Linux-változat beállítása és karbantartása jelentős erőfeszítést igényelhet. Emellett a különféle Linux-disztribúciók nagymértékben eltérhetnek egymástól, ami problémákat jelenthet a fejlesztési folyamat során.

A Windows és a Linux rendszerekkel ellentétben a valós idejű operációs rendszerek a hatásfokra helyezik a hangsúlyt. Emiatt jellemzően hiányoznak belőlük az olyan korszerű funkciók, mint a funkciógazdag grafikus felhasználói felületek (GUI, graphical user interface) és a teljes funkcionalitású operációs rendszerek által biztosított széles körű ökorendszer.

Végső soron, ha a fejlesztők egy strapabíró, funkciógazdag és kiforrott fejlesztői ökorendszert kínáló biztonságos operációs rendszert keresnek, a Windows meggyőző választási lehetőséget jelent. A Windows azonban sokféle változatban kapható, és fontos, hogy megértsük a különbségeket.

Néhány szó a Windows-változatokról

A Microsoft a Windows több változatát kínálja. Az 1. táblázat a különböző kiadások közötti legfontosabb különbségeket mutatja be. Az EPC-R3720IQ-AWA12 esetében az Advantech a Windows IoT Enterprise operációs rendszert választotta. A Windows IoT Enterprise egyik előnye, hogy kompatibilis az érintésbarát Egyetemes Windows-platformmal (UWP, Universal Windows Platform) és a hagyományos Win32 (32 bites) alkalmazásokkal. Ez a rugalmasság lehetővé teszi a fejlesztők számára, hogy az igényeiknek leginkább megfelelő alkalmazástípust válasszák.

Windows Pro Windows IoT Enterprise Windows IoT Core
Céleszközök Asztali és hordozható számítógépek, táblagépek Teljes funkcionalitású eszközök, pl. beviteli eszközök és kijelzők Egyszerű eszközök, pl. bemenőoldali elemek nélküli alkalmazások
Grafikus felület Teljes grafikus felhasználói felület Teljes grafikus felhasználói felület funkciókorlátozási lehetőségekkel Nincs grafikus felhasználói felület
Alkalmazástámogatás Win32, UWP Win32, UWP Egyetlen UWP alkalmazás
Licencek Szabványos kereskedelmi licencek OEM-megállapodások, egyedi licencelés Személyes használatra ingyenes, OEM megállapodások
Testreszabás Korlátozott testreszabhatóság Nagyfokú testreszabhatóság Korlátozott testreszabhatóság
A támogatás életciklusa Rendszeres frissítések és támogatás Lehetőség van hosszú távú szervizszolgáltatásra (LTSC, Long-Term Servicing Channel) Korlátozott támogatás

1. táblázat: A Windows különböző kiadásai egyedi felhasználási módokat támogatnak (táblázat: Kenton Williston, a Microsoft adatai alapján)

A Windows IoT Enterprise ezenfelül korszerű biztonsági funkciókat is kínál, amelyek növelik a megbízhatóságot:

  • Az eszköz-funkciókorlátozási képességek lehetővé teszik a rendszergazdák számára, hogy az eszközt csak az engedélyezett alkalmazások futtatására korlátozzák.
  • A biztonságos rendszerindítás garantálja, hogy az eszköz csak megbízható szoftverrel induljon el.
  • A BitLocker titkosítás a kényes adatok védelmét segíti.

Ez az operációsrendszer-változat vállalati szintű kezelőeszközöket is kínál, amelyek lehetővé teszik a telepített eszközök központi támogatását. Ezek a kezelőeszközök leegyszerűsítik a dolgok internetére kapcsolódó nagyszámú eszköz karbantartását és biztonságát.

Ezek közül a funkciók közül a kis méretű Windows IoT Core kiadás sokat nem támogat. Ez a kiadás könnyű, egycélú, korlátozott erőforrásokkal rendelkező eszközökhöz készült. El vannak belőle távolítva az olyan funkciók, mint a grafikus felhasználói felület és a hagyományos Win32 alkalmazások támogatása, így inkább csak az összetett eszközök kísérő operációs rendszereként való használatra alkalmas.

Ezzel szemben a normál Windows Pro gazdag funkciókészletet kínál, de nem szabható testre a dolgok internetére kapcsolódó nagyszámú eszköz telepítéséhez. A hosszú élettartamú készülékekhez sem érhető el hozzá hosszú távú szervizszolgáltatás (LTSC).

Miért érdemes ARM-alapú Windows rendszert használni?

A Windows operációs rendszer történelmileg az x86-os architektúrához volt kötve. Ma viszont már ARM processzorokon is fut, és ez a megoldás új tervezési lehetőségeket nyit meg.

Az ARM-alapú Windows elsődleges előnye a jó hatásfok. Az ARM processzorok kis fogyasztásukról ismertek, így jól használhatók akkumulátorról működő eszközökhöz és olyan felhasználási területeken, ahol fontos szempont a jó hűtés. Az ARM-alapú rendszerekkel kapcsolatban általában kiemelik a költségtakarékosságot, ami vonzóvá teszi őket a dolgok internetére kapcsolódó nagyszámú eszköz telepítés esetében is.

Gyors ismerkedés az ARM-alapú Windows rendszerhez való fejlesztőkészlettel

Amint fentebb említettük, az ARM-alapú Windows egyik hátránya a használatra készen kapható hardverek hiánya volt. Az EPC-R3720IQ-AWA12 fejlesztőkészlet megoldja ezt a problémát, mivel ez gyakorlatilag egy Windows 10 IoT operációs rendszerrel előtelepített, házba szerelt számítógép.

Amint az 1. ábrán látható, a fejlesztőkészlet egy 174 mm × 108 mm × 25 mm méretű, erős házban van elhelyezve. A készülékház rögzítőkonzolokat is tartalmaz, és a telepítés igény esetén a helyszínen is elvégezhető.

A kis méretű házba szerelt Advantech EPC-R3720IQ-AWA12 számítógép képe1. ábra: Az EPC-R3720IQ-AWA12 egy kis méretű házba szerelt számítógép, amely ARM processzorral működik, és Windows 10 IoT operációs rendszer fut rajta (kép: Advantech)

A fejlesztőkészlet középpontjában az NXP Semiconductors MIMX8ML8DVNLZAB egylapkás rendszer (SoC, system-on-chip) áll, amely egy maximum 1,8 GHz órajelen futni képes négymagos ARM Cortex-A53 processzorra épül (ez az EPC-R3720IQ-AWA12 esetében 1,6 GHz-en fut). Az egylapkás rendszer 2,3 TOPS (tera operations per second, billió művelet/másodperc) műveleti sebességű neurális feldolgozóegységgel (NPU, neural processing unit) van ellátva, így kiválóan alkalmas a mesterséges intelligencia (MI vagy az angol artificial intelligence kifejezésből alkotott betűszóval AI) és a gépi tanulás (ML, machine learning) jelentette helyi munkaterhelésekhez.

A fejlesztőkészlet 6 GB memóriával, 16 GB háttértárolóval és Mini-PCIe, M.2, Micro SD és Nano SIM bővítőhellyel van ellátva. Ami a csatlakoztathatóságot illeti, a fejlesztőkészlet két darab gigabites Ethernet (GbE) portot, egy USB 2.0 portot, egy USB 3.2 Gen 1 portot, egy HDMI portot és egy CAN FD-t támogató soros portot kínál.

A fejlesztőkészlet beállítása

Az EPC-R3720IQ-AWA12 fejlesztőkészlet beállítása egyszerű folyamat. A következő pontok az alapbeállítással kezdve ismertetik a legfontosabb lépéseket:

  1. Csatlakoztasson monitort, billentyűzetet és a hálózatot a számítógéphez a HDMI-, az USB- és az Ethernet-porton keresztül (értelemszerűen).
  2. A fejlesztőkészlet az első rendszerindításkor automatikusan elindítja a Windows 10 IoT telepítési folyamatát. Miután a telepítés befejeződött, a felhasználó előtt megjelenik a Windows asztal.
  3. A felhasználónak le kell töltenie a Visual Studiót a Microsoft webhelyéről, majd telepítenie kell, hogy beállíthassa a fejlesztőkörnyezetet. A telepítés során a felhasználónak ki kell választania a Windows IoT-alkalmazások fejlesztéséhez szükséges összetevőket és minden egyéb szükséges munkaterhelést, amilyen például a .NET és az UWP.
  4. Telepíteni kell a szükséges szoftverfejlesztő készleteket (SDK, software development kit) és futásidejű programokat. Ha például .NET 6 vagy .NET 7 szükséges, a hozzájuk való futásidejű programokat a Microsoft fejlesztői portáljáról vagy a Visual Studio telepítőprogramjával kell letölteni.
  5. A szükséges eszközök telepítése után a Visual Studio fejlesztőkörnyezetet Windows IoT-fejlesztéshez kell beállítani, hogy a Windows SDK és az eszközök megfelelő verziója legyen telepítve.

Az alkalmazások igényeitől függően további beállításokra lehet szükség:

  1. Ha vezeték nélküli hálózatra van szükség, akkor a fejlesztőkészlet beépített csatlakozójához egy antennát kell csatlakoztatni. A mobiltelefonos kapcsolathoz SIM-kártyát kell beszerezni és telepíteni.
  2. Az M.2 foglalaton vagy más be- és kimeneti (I/O) portokon keresztül csatlakoztatott perifériákat tesztelni kell, ügyelve arra, hogy a szükséges illesztőprogramok és szoftverek telepítve legyenek ezekhez a perifériákhoz.
  3. Ha az alkalmazás felhőcsatlakozást igényel, be kell állítani a megfelelő Azure IoT Hub csomópontot vagy más felhőszolgáltatást. Ez magában foglalja egy Azure-fiók beállítását, erőforrások létrehozását az Azure segítségével, valamint a fejlesztőkészlet beállítását az ezen erőforrásokkal való kommunikációhoz.

A felhasználó ezt követően léphet tovább az alkalmazás fejlesztésére és telepítésére. A fejlesztés úgy kezdhető el, ha létrehoz egy új projektet vagy megnyit egy meglévőt a Visual Studio fejlesztőkörnyezetben. Az alkalmazások közvetlenül az eszközön fejleszthetők, futtathatók és tesztelhetők.

Ha a felhasználók azt tervezik, hogy inkább távolról, egy fejlesztői számítógépről végzik el az alkalmazások hibakeresését, akkor be kell állítaniuk a távoli hibakeresést. Ez magában foglalja a távoli hibakereső eszközök beállítását mind a fejlesztőkészleten, mind a számítógépen.

Összegzés

Az ARM-alapú Windows számos meggyőző előnyt kínál a dolgok internetére kapcsolódó összetett eszközök számára. Az EPC-R3720IQ-AWA12 fejlesztőkészlet gyors megoldást kínál a fejlesztőknek az ezen operációs rendszerhez való alkalmazások létrehozására, és a hardver bizonyos esetekben közvetlenül is használható ezen alkalmazások telepítésére. Mint látható, a fejlesztőkészlet használatával való ismerkedés egyszerű folyamat, amely lehetővé teszi a fejlesztők számára, hogy mindössze minimális beállításokat végrehajtva kezdjék meg az alkalmazásfejlesztést.

Felhasznált forrásanyagok:

  1. Getting Started with Windows 10 IoT Enterprise Using the Advantech EPC-R3720, an Arm-Based Embedded PC with NXP i.MX 8M Plus (Ismerkedés a Windows 10 IoT Enterprise operációs rendszerrel az Advantech EPC-R3720, egy NXP i.MX 8M Plus processzorral ellátott ARM-alapú beágyazott számítógép használatával)
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.

About this author

Image of Kenton Williston

Kenton Williston

Kenton Williston 2000-ben szerzett diplomát villamosmérnöki szakon, és pályafutását processzorok teljesítménymutatóinak vizsgálatával kezdte elemzőként. Ezután szerkesztőként dolgozott az EE Times csoportnál, és az elektronikai iparágon belül tevékenyen részt vett több kiadvány létrejöttében és konferenciák megszervezésében.

About this publisher

DigiKey's North American Editors