「Arm版Windows」開発のクイックスタート
DigiKeyの北米担当編集者の提供
2024-06-06
既存インフラの多くは、産業用オートメーションやヘルスケアなどのアプリケーションにおいてWindowsをベースにしています。このような分野向けの低電力、低コストのエッジデバイスを開発する開発者にとって、効率的なArmアーキテクチャにWindowsプラットフォームをもたらすArm®版Windowsは当然の選択です。
しかし、Armシステム上でWindowsを開発する際の大きな課題は、適切な開発キットがないことでした。オペレーティングシステム(OS)は、さまざまなボードレベルのモノのインターネット(IoT)や組み込みコンピューティングシステムで長い間利用可能でしたが、これらの製品では通常、コーディングを開始する前にかなりのハードウェアエンジニアリングが必要となります。
開発者は、Arm版Windowsがあらかじめ搭載され、アプリケーション開発を開始するのに必要なすべてのコンポーネントが統合されたボックスPC型ソリューションを必要としています。これにより、セットアップにかかる時間と複雑さが軽減されるため、開発者はソフトウェアの初期インストールや設定を心配することなく、アプリケーションの開発やテストに集中できるようになります。
この記事では、Arm版Windowsの使用につながるOSの選択基準を説明し、検討可能なWindowsのさまざまなバージョンについて考察します。そして、AdvantechのArm版Windows開発キットであるEPC-R3720IQ-AWA12を紹介し、開発を加速させるシームレスな環境を提供する方法について説明します。また、キットを使い始めるためのヒントや、キットと一緒に使用できるMicrosoftツールも紹介します。
LinuxやRTOSではなくWindowsを使用する理由
開発者がOSを選ぶときには、LinuxやさまざまなリアルタイムOS(RTOS)など、多くの選択肢があります。これらの選択肢の中からWindowsを選択する一般的な理由の1つは、利用可能なソフトウェアやライブラリの豊富さです。これは、従来のWindowsインフラを備えた環境にとって重要な考慮事項です。
Windowsは、Visual Studioや.NETフレームワークなどの包括的なツールやアプリケーションプログラミングインターフェース(API)を備えた、成熟した開発エコシステムも提供しています。プログラマは、C++、Python、Node.jsなどの幅広いプログラミング言語から選択でき、Microsoft Azureの各種サービスにアクセスして高度な機能を迅速に構築できます。
Linuxにもこのような利点はありますが、Linuxビルドの設定やメンテナンスにはかなりの労力が必要となります。さらに、Linuxディストリビューションは多岐にわたるため、開発プロセスにおける課題にもつながります。
WindowsやLinuxとは対照的に、RTOSは効率を重視します。一般的に、豊富なグラフィカルユーザーインターフェース(GUI)や、フル機能のOSが提供する幅広いエコシステムのような高度な機能はありません。
結局のところ、成熟した開発エコシステムと堅牢で機能豊富、かつ安全なOSを求めるのであれば、Windowsが魅力的な選択肢となります。しかし、Windowsにはさまざまな形態があるため、それらの違いを理解することが不可欠です。
Windowsの選択肢
Microsoftは、Windowsのいくつかのバリエーションを提供しています。表1は、さまざまなエディションの主な違いを示しています。EPC-R3720IQ-AWA12に対し、AdvantechはWindows IoT Enterpriseを選択しました。Windows IoT Enterpriseの利点の1つは、タッチフレンドリーなユニバーサルWindowsプラットフォーム(UWP)と従来のWin32アプリとの互換性です。この柔軟性により、開発者はニーズに最適なアプリモデルを選択することができます。
|
表1:Windowsの各エディションは、独自のユースケースをサポートしています。(表提供:ケントン・ウィリストン氏、Microsoftの情報に基づく)
Windows IoT Enterpriseは、信頼性を向上させる高度なセキュリティ機能も提供します。
- デバイスのロックダウン機能により、管理者は許可されたアプリのみを実行するようにデバイスを制限できます。
- セキュアブートにより、信頼できるソフトウェアのみでデバイスが起動することが保証されます。
- BitLocker暗号化は、機密データの保護に役立ちます。
このOSは、展開されたデバイスの一元サポートが可能な企業グレードの管理ツールも提供しています。これらのツールにより、大規模なIoT展開のメンテナンスとセキュリティが簡素化されます。
これらの機能の多くは、よりコンパクトなWindows IoT Coreではサポートされていません。このエディションは、リソースの限られた軽量な単一目的のデバイス向けです。GUIや従来のWin32アプリケーションのサポートなどの機能が削除されているため、複雑なデバイスのコンパニオンOSとして適しています。
逆に、標準的なWindows Proは豊富な機能セットを提供していますが、IoT展開用にカスタマイズすることはできません。また、長寿命デバイス向けのLTSCサポートは利用できません。
Arm版Windowsを使用する理由
歴史的に、WindowsOSはx86アーキテクチャと結びついてきました。今日、OSはArmプロセッサでも動作し、このオプションによって設計の新たな可能性が開かれます。
Arm版Windowsの最大の利点は効率性です。Armプロセッサは低消費電力で知られており、バッテリ駆動デバイスや熱管理が懸念されるアプリケーションに適しています。また、Armベースのシステムはコスト効率を重視する傾向があるため、大規模なIoT展開には魅力的な選択肢となります。
Arm版Windows開発キットのクイックスタート
前述したように、Arm版Windowsの弱点の1つは、すぐに使えるハードウェアがないことでした。EPC-R3720IQ-AWA12は、Windows 10 IoTをプリインストールしたボックスPCを提供することで、この問題を解決します。
図1に示すように、この開発キットは174 × 108 × 25mmの頑丈なエンクロージャに収められています。このエンクロージャはマウント用ブラケットに対応しており、必要に応じて現場で展開することができます。
図1:EPC-R3720IQ-AWA12は、Windows 10 IoTを実行するArmプロセッサを搭載した小型ボックスPCです。(画像提供:Advantech)
この開発キットの中核をなすのは、NXP SemiconductorsのMIMX8ML8DVNLZABシステムオンチップ(SoC)で、1.8GHzで動作可能なクアッドコアArm Cortex-A53プロセッサをベースにしています(EPC-R3720IQ-AWA12では1.6GHzで動作)。このSoCは、2.3テラオペレーション/秒(TOPS)のニューラルプロセッシングユニット(NPU)を備えており、エッジにおける人工知能(AI)や機械学習(ML)のワークロードに適しています。
この開発キットには、6Gバイトのメモリと16Gバイトのストレージが搭載されており、Mini-PCIe、M.2、マイクロSD、ナノSIM用のスロットを介した拡張オプションも用意されています。コネクティビティに関しては、ギガビット Ethernet(GbE)ポート×2、USB 2.0ポート×1、USB 3.2 Gen 1ポート×1、HDMIポート×1、CAN FD対応シリアルポート×1が用意されています。
開発キットのセットアップ
EPC-R3720IQ-AWA12開発キットのセットアップは簡単です。以下の箇条書きは、基本的なセットアップから始まる主なステップを示したものです。
- モニタ、キーボード、ネットワークは、それぞれHDMIポート、USBポート、Ethernetポート経由で接続する必要があります。
- 開発キットは、最初の起動時にWindows 10 IoTのセットアッププロセスを自動的に開始します。これが完了すると、ユーザーに対してWindowsのデスクトップ環境が表示されます。
- ユーザーは、MicrosoftのウェブサイトからVisual Studioをダウンロードしてインストールし、開発環境をセットアップする必要があります。インストール中には、Windows IoTアプリケーションの開発に必要なコンポーネントと、.NETやUWPなどのその他必要なワークロードを選択する必要があります。
- 必要なソフトウェア開発キット(SDK)とランタイムは、すべてインストールする必要があります。たとえば、.NET 6または.NET 7が必要な場合は、適切なランタイムをMicrosoft開発者ポータルからダウンロードするか、Visual Studioのインストーラからダウンロードします。
- 必要なツールをインストールしたら、Visual StudioをWindows IoT開発用に設定し、Windows SDKとツールの正しいバージョンがインストールされていることを確認する必要があります。
アプリケーションのニーズによっては、以下の追加設定が必要になる場合があります。
- ワイヤレスネットワークが必要な場合は、アンテナを開発キットの内蔵コネクタに取り付ける必要があります。セルラーコネクティビティが必要な場合は、SIMカードをプロビジョニングしてインストールする必要があります。
- M.2スロットやその他のI/Oポートを介して接続されている周辺機器をテストし、これらの周辺機器に必要なドライバやソフトウェアがインストールされていることを確認します。
- アプリケーションにクラウドコネクティビティが含まれる場合は、適切なAzure IoT Hubまたはその他のクラウドサービスを設定する必要があります。これには、Azureアカウントの設定、Azureでのリソースの作成、これらのリソースと通信するための開発キットの設定が含まれます。
これでユーザーは、アプリケーションの開発と展開に移行することができます。開発は、Visual Studioで新しいプロジェクトを作成するか、既存のプロジェクトを開くことで開始できます。アプリケーションはデバイス上で直接開発、実行、テストできます。
ユーザーが開発用PCからリモートでアプリケーションをデバッグする場合は、リモートデバッグを設定する必要があります。これには、開発キットとPCの両方でリモートデバッグツールを設定することが含まれます。
まとめ
Arm版Windowsは、複雑なIoTデバイスにとって魅力的な利点を多く提供します。開発者はEPC-R3720IQ-AWA12開発キットを使用することで、このOS用のアプリケーションを迅速に作成でき、場合によってはハードウェアを展開に直接使用することも可能です。上述したように、開発キットを使い始めるのは簡単なプロセスで、開発者は最小限のセットアップでアプリケーション開発を始めることができます。
参照:
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

