Szybkie wprowadzenie do prac rozwojowych w systemie Windows on Arm
Przekazane przez: Północnoamerykańscy redaktorzy DigiKey
2024-06-06
Duża część istniejącej infrastruktury w zastosowaniach takich jak automatyka przemysłowa i opieka zdrowotna jest oparta na systemie Windows. Dla deweloperów tworzących energooszczędne i niedrogie urządzenia brzegowe w tych sektorach oczywistym wyborem jest system Windows on Arm®, ponieważ przenosi platformę Windows do wydajnej architektury ARM.
Jednak jednym z głównych wyzwań w tworzeniu systemów Windows on Arm jest brak odpowiednich zestawów rozwojowych. Chociaż ten system operacyjny (OS) jest od dawna dostępny w różnych systemach obliczeniowych Internetu rzeczy (IoT) i wbudowanych na poziomie płytki, takie rozwiązania wymagają zazwyczaj znacznych prac w zakresie inżynierii sprzętowej przed rozpoczęciem kodowania.
Deweloperzy potrzebują rozwiązań takich jak komputery typu box, które byłyby fabrycznie wyposażone w system Windows on Arm i posiadałyby wszystkie komponenty wymagane do rozpoczęcia tworzenia aplikacji. Skróciłoby to czas i zmniejszyło złożoność konfiguracji, umożliwiając deweloperom skupienie się na tworzeniu i testowaniu aplikacji bez martwienia się o początkową instalację oraz konfigurację oprogramowania.
W niniejszym artykule wyjaśniono kryteria wyboru systemu operacyjnego, które prowadzą do użycia platformy Windows for Arm, oraz omówiono różne wersje systemu Windows dostępne do rozważenia. Następnie przedstawiono zestaw rozwojowy Windows on Arm EPC-R3720IQ-AWA12 firmy Advantech i opisano, w jaki sposób zapewnia on płynne środowisko przyspieszające rozwój. W artykule zawarto wskazówki ułatwiające rozpoczęcie pracy oraz wskazano narzędzia firmy Microsoft, których można używać w połączeniu ze wspomnianym zestawem.
Dlaczego warto korzystać z systemu Windows zamiast systemu Linux lub systemu operacyjnego czasu rzeczywistego (RTOS)?
Wybierając system operacyjny, deweloperzy mają do wyboru wiele opcji, w tym system Linux i różne systemy operacyjne czasu rzeczywistego (RTOS). Jednym z najczęstszych powodów wyboru systemu Windows zamiast tych innych opcji jest szeroka gama dostępnego oprogramowania i bibliotek. Jest to kluczowa kwestia w środowiskach ze starszą infrastrukturą Windows.
System Windows oferuje również dojrzały ekosystem rozwojowy z kompleksowymi narzędziami i interfejsami programowania aplikacji (API), takimi jak Visual Studio i platforma .NET. Programiści mogą wybierać spośród szerokiej gamy języków programowania, takich jak C++, Python i Node.js, a także uzyskiwać dostęp do różnych usług Microsoft Azure w celu szybkiego tworzenia zaawansowanych funkcji.
Linux ma niektóre z tych zalet, ale konfiguracja i utrzymywanie kompilacji Linux może wymagać znacznego wysiłku. Ponadto poszczególne dystrybucje systemu Linux mogą się znacznie różnić, co rodzi wyzwania w procesie rozwoju.
W przeciwieństwie do systemów Windows i Linux, systemy operacyjne czasu rzeczywistego (RTOS) kładą nacisk na efektywność. Zwykle brakuje im zaawansowanych funkcji, takich jak rozbudowane graficzne interfejsy użytkownika (GUI) i szeroki ekosystem oferowany przez w pełni funkcjonalne systemy operacyjne.
Ostatecznie, jeśli deweloperzy poszukują solidnego, bogatego w funkcje i bezpiecznego systemu operacyjnego z dojrzałym ekosystemem rozwojowym, system Windows stanowi atrakcyjną opcję. Jednak system Windows jest dostępny w wielu formach i konieczne jest zrozumienie różnic.
Zrozumienie opcji systemu Windows
Firma Microsoft oferuje kilka wariantów systemu Windows. Tabela 1 przedstawia niektóre kluczowe różnice pomiędzy poszczególnymi wydaniami. Do urządzenia EPC-R3720IQ-AWA12 firma Advantech wybrała system Windows IoT Enterprise. Jedną z zalet systemu Windows IoT Enterprise jest jego kompatybilność z obsługującą funkcje dotykowe uniwersalną platformą Windows (UWP) i tradycyjnymi aplikacjami Win32. Ta elastyczność pozwala deweloperom wybrać model aplikacji najlepiej dopasowany do ich potrzeb.
|
Tabela 1: różne wydania systemu Windows służą do różnych zastosowań. (Źródło tabeli: Kenton Williston, na podstawie informacji firmy Microsoft)
System Windows IoT Enterprise oferuje również zaawansowane funkcje zabezpieczeń zwiększające niezawodność:
- Dzięki funkcjom blokady administratorzy mogą wprowadzić na urządzeniu ograniczenie pozwalające uruchamiać tylko autoryzowane aplikacje.
- Bezpieczne uruchamianie zapewnia, że urządzenie uruchamia się tylko z zaufanym oprogramowaniem.
- Szyfrowanie funkcją BitLocker pomaga chronić dane wrażliwe.
System operacyjny oferuje również narzędzia zarządzania klasy korporacyjnej, które umożliwiają scentralizowaną obsługę wdrożonych urządzeń. Omawiane narzędzia upraszczają utrzymanie i bezpieczeństwo wdrożeń IoT na dużą skalę.
Wiele z tych funkcji nie jest obsługiwanych w bardziej kompaktowym systemie Windows IoT Core. To wydanie jest przeznaczone dla lekkich urządzeń jednofunkcyjnych o ograniczonych zasobach. Nie posiada takich funkcji, jak graficzny interfejs użytkownika (GUI) czy obsługa tradycyjnych aplikacji Win32, dzięki czemu lepiej sprawdza się jako system operacyjny towarzyszący złożonym urządzeniom.
I odwrotnie, standardowy system Windows Pro oferuje bogaty zestaw funkcji, ale nie można go dostosować do wdrożeń IoT. Nie jest również dostępny z obsługą długoterminowego kanału obsługi (LTSC) dla urządzeń o długim okresie użytkowania.
Dlaczego warto korzystać z systemu Windows on Arm?
Historycznie rzecz biorąc, system operacyjny Windows był związany z architekturą x86. Obecnie system operacyjny działa również na procesorach Arm, a opcja ta otwiera nowe możliwości projektowe.
Główną zaletą systemu Windows on Arm jest sprawność. Procesory Arm są znane z niskiego zużycia energii, dzięki czemu dobrze sprawdzają się w urządzeniach z zasilaniem bateryjnym i zastosowaniach, w których problemem jest odprowadzanie ciepła. Systemy bazujące na architekturze Arm często również są skoncentrowane na efektywności kosztowej, co czyni je atrakcyjną opcją dla wdrożeń IoT na dużą skalę.
Szybkie rozpoczęcie pracy z zestawem rozwojowym Windows on Arm
Jak wspomniano wcześniej, jedną z wad systemu Windows on Arm jest brak gotowego do użycia sprzętu. Komputer typu box EPC-R3720IQ-AWA12 rozwiązuje ten problem, gdyż posiada fabrycznie zainstalowany system Windows 10 IoT.
Jak pokazano na ilustracji 1, zestaw rozwojowy zamknięto w wytrzymałej obudowie o wymiarach 174 x 108 x 25mm. Obudowa ta jest wyposażona we wsporniki montażowe i w razie potrzeby można ją wdrożyć w terenie.
Ilustracja 1: kompaktowy komputer typu box EPC-R3720IQ-AWA12 z procesorem Arm i systemem Windows 10 IoT. (Źródło ilustracji: Advantech)
Sercem zestawu rozwojowego jest opracowany przez firmę NXP Semiconductors układ SoC MIMX8ML8DVNLZAB oparty na czterordzeniowym procesorze Arm Cortex-A53 pracującym z częstotliwością 1,8GHz (w układzie EPC-R3720IQ-AWA12 działa on z częstotliwością 1,6GHz). Omawiany układ SoC zawiera jednostkę przetwarzania neuronowego (NPU) o wydajności 2,3TOPS, dzięki czemu dobrze sprawdza się w zadaniach wykorzystujących sztuczną inteligencję (AI) i uczenie maszynowe (ML) w środowiskach brzegowych.
Omawiany zestaw rozwojowy posiada 6GB pamięci, 16GB przestrzeni na dane oraz opcje rozbudowy za pomocą gniazd Mini-PCIe, M.2, Micro SD i Nano SIM. Jeśli chodzi o łączność, zestaw rozwojowy zawiera dwa porty Gigabit Ethernet (GbE), jeden port USB 2.0, jeden port USB 3.2 Gen 1, port HDMI oraz port szeregowy obsługujący CAN FD.
Konfigurowanie zestawu rozwojowego
Konfigurowanie zestawu rozwojowego EPC-R3720IQ-AWA12 jest proste. Poniższe podpunkty przedstawiają kluczowe etapy, zaczynając od podstawowej konfiguracji:
- Podłączyć monitor, klawiaturę i sieć do odpowiednich portów HDMI, USB i Ethernet.
- Zestaw rozwojowy automatycznie rozpocznie proces instalacji systemu Windows 10 IoT przy pierwszym uruchomieniu. Po wykonaniu tej czynności, użytkownik zobaczy środowisko pulpitu Windows.
- Aby skonfigurować środowisko programistyczne, użytkownik musi pobrać i zainstalować program Visual Studio z witryny internetowej firmy Microsoft. Podczas instalacji użytkownik musi wybrać komponenty wymagane do tworzenia aplikacji IoT dla systemu Windows i wykonywania wszelkich innych niezbędnych zadań roboczych, np. platforma .NET lub UWP.
- Należy też zainstalować wszystkie wymagane zestawy rozwojowe oprogramowania (SDK) i środowiska uruchomieniowe. Na przykład, jeśli potrzebna jest platforma .NET 6 lub .NET 7, odpowiednie środowiska uruchomieniowe należy pobrać z portalu dla deweloperów firmy Microsoft lub za pośrednictwem instalatora programu Visual Studio.
- Po zainstalowaniu niezbędnych narzędzi należy skonfigurować program Visual Studio pod kątem rozwoju Windows IoT, aby zadbać o zainstalowanie odpowiednich wersji zestawu Windows SDK i narzędzi.
W zależności od potrzeb danego zastosowania, mogą być wymagane dodatkowe konfiguracje:
- Jeśli potrzebna jest sieć bezprzewodowa, do wbudowanego złącza zestawu rozwojowego należy podłączyć antenę. Aby zapewnić łączność komórkową, należy nabyć i zainstalować kartę SIM.
- Wszelkie urządzenia peryferyjne podłączone przez gniazdo M.2 lub inne porty wejścia-wyjścia należy przetestować, upewniając się, że zainstalowano niezbędne sterowniki i oprogramowanie dla tych peryferiów.
- Jeśli dane zastosowanie wymaga łączności z chmurą, konieczne jest skonfigurowanie odpowiedniej usługi Azure IoT Hub lub innych usług chmurowych. Wiąże się to ze skonfigurowaniem konta platformy Azure, utworzeniem zasobów za pomocą platformy Azure i skonfigurowaniem zestawu rozwojowego do komunikacji z tymi zasobami.
Użytkownik może teraz przejść do tworzenia i wdrażania aplikacji. Programowanie można rozpocząć od utworzenia nowego projektu lub otwarcia istniejącego projektu w programie Visual Studio. Aplikacje można opracowywać, uruchamiać i testować bezpośrednio na urządzeniu.
Jeśli jednak użytkownicy planują debugowanie aplikacji zdalnie z komputera rozwojowego, powinni skonfigurować debugowanie zdalne. Wymaga to skonfigurowania narzędzi do zdalnego debugowania zarówno w zestawie rozwojowym, jak i na komputerze.
Podsumowanie
Platforma Windows on Arm oferuje wiele istotnych zalet w przypadku złożonych urządzeń IoT. Zestaw rozwojowy EPC-R3720IQ-AWA12 oferuje deweloperom szybką ścieżkę tworzenia aplikacji dla tego systemu operacyjnego, a w niektórych przypadkach sprzęt może być również używany bezpośrednio do wdrażania. Rozpoczęcie pracy z zestawem rozwojowym jest prostym procesem i umożliwia deweloperom rozpoczęcie tworzenia aplikacji przy minimalnej konfiguracji.
Bibliografia:
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.



