「Armadillo(アルマジロ)」は、Armコアプロセッサ搭載・Linux対応の組み込みプラットフォームのブランドです。
Armadilloブランド製品には以下の特長があります。
Armプロセッサ搭載・省電力設計
Armコアプロセッサを搭載しています。1~数ワット程度で動作する省電力設計で、
発熱が少なくファンを必要としません。
小型・手のひらサイズ
CPUボードは名刺サイズ程度の手のひらサイズが主流です。
名刺の1/3程度の小さなCPUモジュールや無線LANモジュール等、超小型のモジュールもラインアップしています。
標準OSとしてLinuxをプリインストール
標準OSにLinuxを採用しており、豊富なソフトウェア資産と実績のある安定性を提供します。
ソースコードをオープンソースとして公開しています。
開発環境
Armadilloの開発環境として、「Atmark Techno Development Environment (ATDE)」を無償で提供しています。
ATDE は Oracle VirtualBox 用の仮想イメージファイルです。
このイメージには、Linuxデスクトップ環境をベースにGNUクロス開発ツールやその他の必要なツールが事前にインストールされています。
ATDEを使うことで、開発用PCの用意やツールのインストールなどといった開発環境を整える手間を軽減することができます。
「Armadillo-900」は実装型のCPUモジュールで、31mm角のサイズに、SoC、メモリ、電源回路などIoT機器として主要な機能が高密度に集積されています。
IoT機器のハードウェア設計者は、「Armadillo-900」を利用することでSoC周りの煩雑で高度な設計が不要となり、
要求仕様に合わせたインターフェース部分(マザーボード)の開発に特化することができます。
また、搭載されているArmadillo Base OSはセキュリティ機能が充実しているため、セキュアなIoT製品を短期間に開発・製造することが可能です。
Armadillo-900には以下の特長があります。
i.MX 8ULP搭載 省電力なシステム設計が可能
搭載するSoC「i.MX 8ULP」は、28nm FD-SOIプロセスで製造され、高い処理能力ながらも、省電力性に優れています。
多彩な電力コントロール機能を持つことも1つの特長です。Shutdown、Deep Sleep、Sleep []
、Activeの4つの動作モードを提供し、
これらの動作モードを組み合わせることで間欠動作を実現し、バッテリーを搭載したモバイル端末への適用も可能です。
ヘテロジニアスマルチコアを活用したLinux+FreeRTOS環境で柔軟なシステム開発
i.MX 8ULPには複数の異なるタイプのCPUコアが搭載されており(ヘテロジニアスマルチコア)、
通信機能やGUIにはArm Cortex-A35上で動作するLinuxアプリケーションで、
高速な周期処理やアナログ信号の計測にはArm Cortex-M33上で動作するFreeRTOSアプリケーションで処理することが可能です。
多様な要求仕様へ柔軟に対応し、IoT機器のシステム開発を実現します。
コンテナ型でセキュアなOS、JC-STAR★1適合のIoT機器も簡単に開発
Armadillo Base OSはIoT機器向けのLinuxベースのコンテナアーキテクチャのOSです。
Armadillo Base OSそのものがセキュリティ要件適合評価及びラベリング制度(JC-STAR)の★1に適合しやすい構造であるため、
ユーザーは工数を大幅に増やすことなくセキュリティ対応IoT機器を開発することが可能です。
IoT機器の運用管理クラウドサービス「Armadillo Twin」と組み合わせることで、現場に設置したIoT機器の死活監視のほか、遠隔操作や、ソフトウェアのアップデート(OTA)も可能です。
2.1.3. Armadillo-900 開発セットとは
Armadillo-900 開発セットは、Armadillo-900の評価やオリジナルのマザーボードの開発を行なう為の評価・開発セットです。
Armadillo-900を実装し、組み込み機器で良く使用される様々なインターフェースや機能を搭載した開発ボードと
開発ボードを動作させる為の、いくつかのオプション品が一式のセットになっています。
マザーボードの試作が出来上がるまでの間、インターフェースの動作確認やソフトウェアの開発・テストを進める事ができます。
また、開発ボードの回路図や部品表などの設計情報はアットマークテクノのWebサイトに無償公開しており、必要な機能の回路図や部品を参考にすることで
オリジナルのマザーボードを早く・簡単に開発することができます。
2.1.4. Armadillo Base OSとは
Armadillo Base OSは、アットマークテクノが提供する専用ディストリビューションです。
Linux5.10をベースに、コンテナ管理機能、ソフトウェアアップデート機能、ネットワークマネージャーなどに対応。
機能を限定したコンパクトなOSで、安全性の高い運用を実現します。
OSのコンパクト化
OS基盤の機能を最小限にしたことで、セキュリティリスクを低減しています。
アットマークテクノが継続的にアップデートを提供するため、
高セキュリティなIoT機器として長期間に渡り運用することができます。
コンテナによるアプリケーション運用
アプリケーションを「コンテナ」単位でOSから分離して管理できるため、コンテナごとのアップデートが可能です。
サンドボックス化されることにより、悪意あるソフトウェアからの攻撃に対する機器全体の保護に有効性を発揮します。
2.1.5. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨
Armadillo Base OSは Armadillo Base OS搭載製品のサポート期限にしたがって、アットマークテクノがセキュリティアップデートの提供、既存機能のバグ修正、今はない便利な機能の追加を継続的に行い、ユーザービリティの向上に努めます。緊急時を除き月末に "製品アップデート" としてこれらをリリースをし、Armadilloサイトから通知、変更内容の公開を行います。ユーザー登録を行うことで通知をメールで受け取ることもできます。
ArmadilloをIoT機器としてネットワークに接続し長期に運用を行う場合、継続的に最新バージョンを使用することを強く推奨いたします。
最新バージョンを使用しない場合の注意点については「ソフトウェア使用に関しての注意事項」の「ソフトウェアのアップデートについて」を参照してください。
Armadillo Base OSは、原則、abos-ctrlコマンド等の各種機能や、sysfsノード、コンテナ制御をするためのpodmanコマンド等のAPI後方互換を維持します。また、Armadillo Base OSとコンテナ間でサンドボックス化されていることもあり、互いのlibc等のライブラリや、各種パッケージなどの組み合わせによって互換性の問題は発生しません。
このため、Armadillo Base OSをアップデートしても、これまで利用していたアプリケーションコンテナは原則的にそのまま起動・動作させることができます。
しかし、Armadillo Base OS内のLinux-Kernelやalpineパッケージ変更によって、細かな動作タイミングが変更になる場合があるため、タイミングに大きく依存するようなアプリケーションをコンテナ内部に組み込んでいた場合に、動作に影響を与える可能性があります。
まずは、テスト環境でArmadillo Base OS更新を行い、アプリケーションコンテナと組み合わせた評価を行った後、市場で動作しているArmadilloに対してアップデートを行うことを推奨します。
製品開発を開始するにあたり、Armadillo Base OS に関してより詳細な情報が必要な場合は、
「開発前に知っておくべき Armadillo Base OS の機能・特徴」 を参照してください。
Armadillo Twin は、アットマークテクノが提供するクラウドサービスです。 Armadillo Base OS 搭載のデバイスを、リモートから運用管理することができます。
様々なタスクをリモートから実行できるようになり、 OS アップデートもサービス画面からの操作で行えるため、稼働中のデバイスは常に最新の状態を維持することができます。
また、バグ修正やセキュリティ対策などのメンテナンスのほか、機能追加や設定変更、アプリケーションのアップデートなども行えるため、
デバイスの設置現場に出向くことなく、計画的で効率的なDevOpsを実現することができます。
本書では、開発・量産・運用の各フェーズにおける Armadillo Twin の利用について記載しています。
ソフトウェアアップデート (OTA)
遠隔からデバイスのソフトウェアアップデートをすることで、長期的にセキュリティ性の高いシステムを保つと共に、新たな機能を提供することも可能です。本サービスで管理するデバイスに搭載されている Armadillo Base OS は、不正なソフトウェアへのアップデートを行わせない署名検証機能や、アップデートが失敗した際に自動で元の状態に戻るロールバック機能を備えています。そのため、安心してソフトウェアアップデートを利用することができます。
遠隔稼働監視
登録されたデバイスの死活監視をはじめ、CPU の使用率や温度、メモリの使用量、モバイル回線の電波状況、ストレージの空き容量や寿命を監視することができます。各値にはアラートの設定を行うことができ、異常を検知した場合はアラートメールを管理者に送信します。メールを受けた管理者は本サービスの遠隔操作機能を利用し、即座に対応を行うことができるため、システムの安定運用を行うことができます。
そのほか、本サービスに登録したデバイスは、自由にラベル名を付けたりグループを作成して管理することができるため、どのデバイスをどの場所に設置したか画面上で把握することが容易になります。また、デバイス本体に搭載されているセキュアエレメントを利用した個体認証により、不正なデバイスの登録を防ぎます。
遠隔操作
画面上で入力した任意のコマンドをデバイス上で実行することができます。本サービスは遠隔操作で一般的に使われる SSH(Secure Shell) のように固定グローバル IP アドレスの設定は不要です。そのため、通信回線の契約料金を安くできるだけではなく、インターネット上からのサイバー攻撃のリスクを抑制する効果も期待できます。
任意のコマンドは単一のデバイスだけではなく、グループ単位、また複数のデバイスを選択して一括して実行したり、時刻を指定するスケジュール実行にも対応しています。
Armadillo Twin は、下記の機能を提供します。
Armadillo-900 開発セットのeMMCのパーティション構成を
表2.7「eMMCメモリマップ」に示します。
表2.7 eMMCメモリマップ
パーティション | サイズ | ラベル | 説明 |
---|
1 | 300MiB | rootfs_0 | A/B アップデートのA面パーティション(Linuxカーネルイメージ, Device Tree Blob, Alpine Linux rootfsを含む) |
2 | 300MiB | rootfs_1 | A/B アップデートのB面パーティション(Linuxカーネルイメージ, Device Tree Blob, Alpine Linux rootfsを含む) |
3 | 50MiB | logs | ログ書き込み用パーティション |
4 | 100MiB | firm | ファームウェア用パーティション |
5 | 2.8GiB | app | アプリケーション用パーティション |
10 | 50MiB | secboot0 | セキュアブート用のA面パーティション[] |
11 | 50MiB | secboot1 | セキュアブート用のB面パーティション[] |
Armadillo-900 開発セットのeMMCのブートパーティションの構成を表2.8「eMMC ブートパーティション構成」に示します。
表2.8 eMMC ブートパーティション構成
ディスクデバイス | サイズ | 説明 |
---|
/dev/mmcblk0boot0
| 4 MiB | A/B アップデートのA面 |
/dev/mmcblk0boot1
| 4 MiB | A/B アップデートのB面 |
Armadillo-900 開発セットのeMMCのGPP(General Purpose Partition)の構成を表2.9「eMMC GPP構成」に示します。
表2.9 eMMC GPP構成
ディスクデバイス | サイズ | 説明 |
---|
/dev/mmcblk0gp0
| 8 MiB | ライセンス情報等の為の予約領域 |
/dev/mmcblk0gp1
| 8 MiB | 動作ログ領域 |
/dev/mmcblk0gp2
| 8 MiB | 動作ログ予備領域[] |
/dev/mmcblk0gp3
| 8 MiB | ユーザー領域 |
Armadillo Base OS に含まれるソフトウェアのライセンスは、 Armadillo にログイン後に特定のコマンドを実行することで参照できます。
手順について、詳細は以下の Howto を参照してください。