'Arm 기반 Windows' 개발 키트로 빠르게 시작하기
DigiKey 북미 편집자 제공
2024-06-06
산업 자동화 및 의료와 같은 응용 분야에서 현재 쓰이는 인프라의 대부분은 Windows를 기반으로 합니다. 이러한 분야를 위한 저전력, 저비용 에지 장치를 제작하는 개발자에게 Arm®기반 Windows는 효율적인 Arm 아키텍처에 Windows 플랫폼을 제공하므로 합리적인 선택입니다.
하지만 Arm 기반 Windows 시스템을 구축하는 데 있어서 가장 큰 어려움 중 하나는 적절한 개발 키트가 부족하다는 점입니다. Windows 운영 체제(OS)는 다양한 기판 수준 사물 인터넷(IoT) 및 내장형 컴퓨팅 시스템에서 오랫동안 제공되어 왔지만, 이러한 제품은 일반적으로 코딩을 시작하기 전에 상당한 수준의 하드웨어 엔지니어링을 필요로 합니다.
개발자에게는 Arm 기반 Windows가 미리 로드되어 있고 애플리케이션 개발을 시작하는 데 필요한 모든 부품을 통합하는 박스 PC 스타일 솔루션이 필요합니다. 그러면 설정 시간이 단축되고 복잡성이 줄어 개발자가 초기 소프트웨어 설치 및 구성을 걱정하지 않고 애플리케이션 개발 및 테스트에 집중할 수 있습니다.
이 기사에서는 Arm용 Windows를 사용하기 위한 OS 선택 기준을 설명하고 고려할 수 있는 다양한 Windows 버전을 검토합니다. 그런 다음 Advantech의 EPC-R3720IQ-AWA12 Arm 기반 Windows 개발 키트를 소개하고 이 키트로 개발을 가속할 수 있는 원활한 환경을 제공하는 방법을 설명합니다. 또한 시작하는 데 유용한 팁을 살펴보고 키트와 함께 사용할 수 있는 Microsoft 도구를 알아봅니다.
Linux나 RTOS 대신 Windows를 사용하는 이유
개발자가 OS를 선택할 때 Linux와 다양한 실시간 OS(RTOS)를 비롯한 많은 옵션이 있습니다. 이러한 대안 대신 Windows를 선택하는 흔한 이유 중 하나는 광범위한 소프트웨어와 라이브러리를 사용할 수 있다는 점입니다. 이는 레거시 Windows 인프라가 갖추어진 환경에서 매우 중요한 고려 사항입니다.
또한 Windows는 Visual Studio, .NET Framework와 같은 포괄적인 도구 및 응용 프로그래밍 인터페이스(API)를 지원하는 완성된 개발 에코시스템을 제공합니다. 프로그래머는 C++, Python, Node.js와 같은 다양한 프로그래밍 언어 중에서 선택하고, 다양한 Microsoft Azure 서비스에 액세스하여 정교한 기능을 신속하게 빌드할 수 있습니다.
Linux도 이러한 장점 중 일부를 공유하지만, Linux 빌드를 구성하고 유지 관리하는 데 상당한 노력이 필요할 수 있습니다. 또한 Linux 배포는 매우 다양하여 개발 과정에서 어려움을 겪을 수 있습니다.
Windows 및 Linux와 달리 RTOS에서는 효율성을 강조합니다. 일반적으로 풍부한 그래픽 사용자 인터페이스(GUI)나 광범위한 에코시스템 같이 전체 기능을 갖춘 OS에서 제공하는 고급 기능이 부족합니다.
궁극적으로 개발자가 완성형 개발 에코시스템을 갖춘 강력하고 기능이 풍부하며 안전한 OS를 찾는다면 Windows는 매력적인 옵션이 될 수 있습니다. 하지만 Windows는 다양한 형태로 제공되므로 형태 간의 차이점을 이해하는 것이 중요합니다.
Windows 옵션 알아보기
Microsoft는 여러 Windows 에디션을 제공합니다. 표 1은 여러 에디션 간의 주요 차이점을 보여줍니다. Advantech EPC-R3720IQ-AWA12의 경우 Windows IoT Enterprise을 사용합니다. Windows IoT Enterprise의 장점 중 하나는 터치 방식 UWP(Universal Windows Platform) 및 기존 Win32 앱과의 호환성입니다. 개발자는 이러한 유연성을 통해 요구 사항에 가장 적합한 앱 모델을 선택할 수 있습니다.
|
표 1: Windows 에디션에 따라 고유한 사용 사례를 지원합니다. (표 출처: Kenton Williston, Microsoft 정보 사용)
Windows IoT Enterprise는 신뢰성을 향상시키는 고급 보안 기능도 제공합니다.
- 관리자는 장치 잠금 기능을 활용하여 장치를 승인된 앱만 실행되도록 제한할 수 있습니다.
- 보안 부트는 장치가 신뢰할 수 있는 소프트웨어로만 시작되게 합니다.
- BitLocker 암호화는 중요한 데이터를 보호하는 데 도움이 됩니다.
또한 배포된 장치를 중앙에서 지원할 수 있는 엔터프라이즈급 관리 도구를 제공합니다. 이 도구는 대규모 IoT 배포의 유지 관리 및 보안을 간소화합니다.
위 기능 중 많은 것들이 더 콤팩트한 Windows IoT Core에서는 지원되지 않습니다. 이 에디션은 리소스가 제한된 경량형 단일 목적 장치를 위한 것입니다. GUI 및 기존 Win32 애플리케이션 지원과 같은 기능을 제거하여 복잡한 장치를 위한 컴패니언 OS로 더 적합합니다.
반대로 표준 Windows Pro는 풍부한 기능을 제공하지만 IoT 배포에 맞게 맞춤 설정할 수 없습니다. 또한 수명이 긴 장치를 위한 LTSC 지원이 제공되지 않습니다.
Arm 기반 Windows를 사용하는 이유
역사적으로 Windows OS는 x86 아키텍처에 묶여 있었습니다. 오늘날, Windows는 Arm 프로세서에서도 실행되며, 덕분에 새로운 설계 가능성이 열렸습니다.
Arm 기반 Windows의 주요 장점은 효율성입니다. Arm 프로세서는 전력 소비가 적어 배터리로 구동되는 장치와 열 관리가 중요한 응용 제품에 적합합니다. 또한 Arm 기반 시스템은 비용 효율성을 강조하는 경향이 있으므로 대규모 IoT 배포에 매력적인 옵션입니다.
Arm 기반 Windows 개발 키트로 빠르게 시작하기
위에서 언급했듯이 Arm 기반 Windows의 단점 중 하나는 즉시 사용 가능한 하드웨어가 부족하다는 점입니다. Windows 10 IoT가 미리 설치된 박스 PC인 EPC-R3720IQ-AWA12를 사용하여 이 문제를 해결할 수 있습니다.
그림 1에서 볼 수 있듯이 EPC-R3720IQ-AWA12는 174mm x 108mm x 25mm의 내구적인 인클로저에 실장되어 있습니다. 이 인클로저는 실장 브라켓을 수용하며 필요한 경우 현장에 배치할 수 있습니다.
그림 1: EPC-R3720IQ-AWA12는 Windows 10 IoT를 실행하는 Arm 프로세서 기반의 콤팩트 박스 PC입니다. (이미지 출처: Advantech)
EPC-R3720IQ-AWA12의 핵심은 1.8GHz로 사용 가능한 쿼드 코어 Arm Cortex-A53 프로세서(EPC-R3720IQ-AWA12에서는 1.6GHz로 사용)를 기반으로 하는 NXP Semiconductors의 MIMX8ML8DVNLZAB SoC(시스템온칩) 입니다. 2.3TOPS 신경 처리 장치(NPU)를 제공하여 엣지의 인공 지능(AI) 및 머신 러닝(ML) 워크로드에 적합합니다.
EPC-R3720IQ-AWA12에는 6GB 메모리, 16GB 스토리지, 그리고 Mini-PCIe, M.2, Micro SD 및 Nano SIM용 슬롯을 통한 확장 옵션이 있습니다. 연결의 경우엔 이중 기가비트 이더넷(GbE) 포트, USB 2.0 포트 1개, USB 3.2 Gen 1 포트 1개, HDMI 포트 및 CAN FD를 지원하는 직렬 포트가 제공됩니다.
개발 키트 설정
EPC-R3720IQ-AWA12 개발 키트 설정 프로세스는 간단합니다. 다음 절차는 기본 설정부터 시작하여 주요 단계를 설명합니다.
- 모니터, 키보드, 네트워크가 각각 HDMI, USB, 이더넷 포트를 통해 연결되어야 합니다.
- EPC-R3720IQ-AWA12를 처음 부팅하면 Windows 10 IoT 설정 프로세스가 자동으로 시작됩니다. 이 작업이 완료되면 Windows 데스크톱 환경이 표시됩니다.
- 개발 환경을 설정하려면 Microsoft 웹 사이트에서 Visual Studio를 다운로드하여 설치해야 합니다. 설치하는 동안 Windows IoT 애플리케이션을 개발하는 데 필요한 부품과 기타 필수 워크로드(예: .NET 또는 UWP)를 선택해야 합니다.
- 필요한 소프트웨어 개발 키트(SDK)와 런타임을 모두 설치해야 합니다. 예를 들어 .NET 6 또는 .NET 7이 필요한 경우 Microsoft 개발자 포털 또는 Visual Studio의 설치 관리자를 통해 적절한 런타임을 다운로드해야 합니다.
- 필요한 도구를 설치한 후 Windows IoT 개발에 맞게 Visual Studio를 구성하여 올바른 버전의 Windows SDK 및 도구가 설치되도록 해야 합니다.
응용 제품 요구 사항에 따라 추가 구성이 필요할 수 있습니다.
- 무선 네트워킹이 필요한 경우 개발 키트에 내장된 커넥터에 안테나를 연결해야 합니다. 셀룰러 연결의 경우 SIM 카드를 프로비저닝하여 설치해야 합니다.
- M.2 슬롯 또는 기타 I/O 포트를 통해 연결되는 모든 주변 장치를 테스트하여 해당 주변 장치에 필요한 드라이버와 소프트웨어가 설치되어 있는지 확인해야 합니다.
- 응용 제품에 클라우드 연결이 필요한 경우 적절한 Azure IoT 허브 또는 기타 클라우드 서비스를 구성해야 합니다. 여기에는 Azure 계정을 설정하고, Azure로 리소스를 만들고, 개발 키트를 이러한 리소스와 통신하도록 구성하는 작업이 포함됩니다.
이제 사용자는 애플리케이션 개발 및 배포를 진행할 수 있습니다. Visual Studio에서 새 프로젝트를 만들거나 기존 프로젝트를 열어 개발을 시작할 수 있습니다. 장치에서 직접 애플리케이션을 개발, 실행, 테스트할 수 있습니다.
그러지 않고 개발 PC에서 애플리케이션을 원격으로 디버깅하려는 경우 원격 디버깅을 설정해야 합니다. 여기에는 개발 키트와 PC 모두에서 원격 디버깅 도구를 구성하는 작업이 포함됩니다.
결론
Arm 기반 Windows는 복잡한 IoT 장치를 위한 여러 가지 강력한 이점을 제공합니다. EPC-R3720IQ-AWA12 개발 키트는 개발자가 이 OS용 애플리케이션을 빠르게 생성할 수 있는 경로를 제공하며, 경우에 따라 하드웨어를 배포에 직접 사용할 수도 있습니다. 위에서 살펴본 바와 같이 개발 키트를 시작하는 과정은 간단하므로 개발자는 최소한의 설정으로 애플리케이션 개발을 시작할 수 있습니다.
참고 자료:
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

