Arm Total Solutions for IoTとは
英Arm(アーム)は2021年10月に「Arm Total Solutions for IoT」という取り組みを発表しました。この取り組みでは、IoT(Internet of Things)機器の開発期間短縮に向けて、同社のCPUコア「Cortex」をベースにしたSoCのリファレンス設計「Corstone」の仮想モデルとクラウドを用いて、稼働するソフトウエアの開発と検証を行うことができます。これによりSoCの実チップを入手する前に、ユーザーはそのSoCで稼働するソフトウエアの開発ができ、5年かかっていたIoT機器の開発期間を3年ほどに短縮ことができます。
クラウドベース仮想モデル
Arm Total Solutions for IoTの一環として、Corstoneの仮想モデル「Arm Virtual Hardware Targets」が発表されました。Arm Virtual Hardware Targetsは、Amazon EC2 (Amazon Elastic Compute Cloud)をベースしたArmコアのIoT応用開発用のインスタンスです。
※仮想モデルを利用することで、早期にソフトウエア開発を始めることができ、全体の開発期間を短縮することができます(出所:Arm DevSummit)
AWS Marketplace上では、既に Arm Virtual Hardware Targets という製品が公式に掲載されており、サブスクリプションは無料で、Amazon EC2の費用を払うだけで、直ぐにArmコアベースのIoT応用開発ができます。
実際に使ってみた!
アマゾンウェブサービス(以下、AWS)に登録をし、AWS MarketplaceのArm Virtual Hardwareをサブスクした上でArm Virtual HardwareのEC2インスタンスを発行しました。
SSH経由でEC2にログインをすると、インスタンスにArmの開発ツールがすべて揃います。また、仮ライセンスもインストールされているので、環境設定の必要がなく、直ぐ開発に取り掛かることができます。
- Arm Compiler information: Arm Compiler 6.16 Professional
- GNU Compiler information: arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103
- Corstone-300 FVP information: Fast Models [11.15.24 (Aug 17 2021)]
- Vela Compiler information:3.1.0
- CMSIS build information: Build Invocation 0.10.1
- Arm Fast Models information: System Canvas 11.16.14
- (Option) nomachine
コンパイラーではarmclang, gcc, vela、仮想プラットフォームモデルではArm Corstone300 FVPがそれぞれ用意されています。Corstone300 FVPは、Arm Cortex M55とEthos-U55のコアをシミュレーションしている仮想プラットフォームで、これさえあれば、tensorflow liteのようなMachine Learningの応用開発ができます。また、マイコン開発向けツールArm CMSISも用意されています。仮ライセンスがバンドルされているので、Arm Virtual Machineで用意されているツールはすべて使うことができます。
開発者に一番使われているMicrosoft VS Codeとも相性が良く、Remote – SSHのExtensionモジュールを使えば、VS Codeでリモートコーディングを進めることができます。
既にX11に設定されているので、SSH併用すれば、ハードウェアをシミュレーションしているLCDやLEDなどもスムーズに表示できます。
なお、NoMachineもオプションで用意されているので、リモートデスクトップでの開発も簡単にできます。デフォルトインストールされているGUI desktopは軽量という特徴の持っているxfceです。
コスト
AWS Marketplace上のArm Virtual Machine自体は無料ですので、発生費用はAWSの使用料のみとなります。インスタンスタイプにもよりますが、1時間約$0.08 USドルからです。
1日8時間、20日間で計算すると、1ヶ月にかかる開発プラットフォームの費用は$13 USドルほどとなります。スタートアップや個人開発者にとっては合理だと思います。
コミュニティとサポート
IoT Ecosystem Catalog
Armはパートナーと協力して、IoT開発の課題に対処するために必要な技術とソリューションを提供し、市場投入までの時間と価値の向上を実現しています。 IoT Ecosystem Catalog では、アイデアをセキュアで市場をリードするデバイスにするためのサポートをしているArm IoTエコシステムパートナーをご覧いただけます。
Arm Developer
Armの開発者向けの製品や技術に関するドキュメント、チュートリアル、サポートリソース、ダウンロードなどが掲載されている Arm Developerでは、ゼロからプロジェクトを立ち上げるのに必要なガイドやQ&Aを載せており、Arm製品の使用経験がない場合でも、手軽にArm製品の開発を始めることができます。
Arm Community
オープンソースの魅力は、コミュニティの力です。お互いに知らないのに、同じ開発環境とツールを使い、似ているような応用を開発しているために、助け合います。Armでは、オープンな コミュニティサイトを開設しており、Arm製品の開発における経験や実際あった問題などをシェアすることができます。また、問題解決に向け、世界中のArmユーザーから回答を得ることもできます。
Arm Total Solutions for IoTはオープンソースプロジェクトで、Arm公式のGitHubアカウントで Project Source Codeを見ることができます。READMEを読めば、AWS未経験者でもArm Virtual Machineを容易に始めることができます。また、経験者も必要に応じてカスタマイズすることができます。
最後に
Armは、包括的なソリューションアプローチに全面的に取り組んでおり、Total Solutions for IoTの ロードマップは、今後数か月から数年にわたって継続的に展開され、他のArmコアの仮想プラットフォームもサポートされる予定です。実際に使用してみて、開発用ハードウェアがなくも低価格で手軽にArmコアのIoT応用開発ができることが確信できました。今後は、クライドベースの組み込み開発はトレンドになっていくでしょう。
※Arm Total Solutions for IoTのロードマップ(出所:Armサイト)
参考サイト:
- IoTテクノロジー – もののインターネット- Arm
- Virtual Hardware – ハードウェア使わないソフトウエア開発 – Arm
- AWS Marketplace: Arm Virtual Hardware
- Getting Started with Arm Virtual Hardware
- Arm Developer
- Arm Community
こちらも是非
“もっと見る” 初心者講座
はじめての公開鍵署名|署名検証のプログラムをサクッと試してみる
公開鍵署名(Public Key Signature)は、デジタル署名の一種で、公開鍵暗号方式を用いた署名方法です。公開鍵署名は、電子メールのセキュリティ、ソフトウェアやファームウェアに対する署名、オンライン取引など、多くのセキュリティが必要なアプリケーションで広く使用されています。