製品概要

2.1. 製品の特長

2.1.1. Armadilloとは

「Armadillo(アルマジロ)」は、ARMコアプロセッサ搭載・Linux対応の組み込みプラットフォームのブランドです。 Armadilloブランド製品には以下の特長があります。

  • ARMプロセッサ搭載・省電力設計

    ARMコアプロセッサを搭載しています。1~数ワット程度で動作する省電力設計で、 発熱が少なくファンを必要としません。

  • 小型・手のひらサイズ

    CPUボードは名刺サイズ程度の手のひらサイズが主流です。 名刺の1/3程度の小さなCPUモジュールや無線LANモジュール等、超小型のモジュールもラインアップしています。

  • 標準OSとしてLinuxをプリインストール

    標準OSにLinuxを採用しており、豊富なソフトウェア資産と実績のある安定性を提供します。 ソースコードをオープンソースとして公開しています。

  • 開発環境

    Armadilloの開発環境として、「Atmark Techno Development Environment (ATDE)」を無償で提供しています。 ATDEは、VMwareなど仮想マシン向けのデータイメージです。 このイメージには、Linuxデスクトップ環境をベースにGNUクロス開発ツールやその他の必要なツールが事前にインストールされています。 ATDEを使うことで、開発用PCの用意やツールのインストールなどといった開発環境を整える手間を軽減することができます。

2.1.2. Armadillo-610とは

  • 50mm×50mmの小型モジュール型組み込みプラットフォーム

    Armadillo-610は、Arm Cortex-A7コアのSoC「i.MX6ULL」(NXPセミコンダクターズ製)を搭載した、小型CPUモジュール型の組み込みプラットフォームです。 ユーザー自身が新たに拡張ボードを開発して機器に組み込むことを想定しており、 設計が煩雑になりがちなCPU周りはArmadillo-610をそのまま使い、開発セット用拡張ボードの回路図(購入者向けに無償で提供)を参考にして 設計開発が比較的簡単なインターフェース部分だけを拡張設計することにより、設計時間を節約しつつさまざまな形状の基板を実現することができます。

images/about-a610.svg

図2.1 Armadillo-610とは


  • Armadillo-640と同等の機能を搭載

    Armadillo-610は、シングルボード型の組み込みプラットフォーム「Armadillo-640」の姉妹製品で、 Armadillo-640と同等のインターフェースを拡張することができます。

images/same-a610-a640.svg

図2.2 拡張ボードの例


  • 耐環境性能に配慮・省電力、産業用途向け

    Armadillo-610は動作温度範囲-20℃~+70℃までをカバーする産業用途向けの仕様です。 また、わずか数W程度で動作するので、低消費電力が必須条件となるバッテリ駆動の機器にも適しています。

  • Armadillo Base OS搭載

    「Armadillo Base OS」を搭載しています。 ユーザー自身がボードの機能を自由に設計・開発して書き込むことで、 多様な製品を作ることができます。

  • Device Tree Blob(DTB)作成ツール「at-dtweb」

    使いたいインターフェースをブラウザ上のGUIで選択指定するだけでDevice Tree Blob(DTB)を作成できるツールです。Linuxカーネルのソースコードを手動で変更することなくGUIで選択したインターフェースを利用できます。

2.1.3. Armadillo Base OSとは

Armadillo Base OSは、アットマークテクノが提供する専用ディストリビューションです。 Linux5.10をベースに、コンテナ管理機能、ソフトウェアアップデート機能、ネットワークマネージャーなどに対応。 機能を限定したコンパクトなOSで、安全性の高い運用を実現します。

images/about-armadillo-base-os.png

図2.3 Armadillo Base OSとは


  • OSのコンパクト化

    OS基盤の機能を最小限にしたことで、セキュリティリスクを低減しています。 アットマークテクノが継続的にアップデートを提供するため、 高セキュリティなIoT機器として長期間に渡り運用することができます。

  • コンテナによるアプリケーション運用

    アプリケーションを「コンテナ」単位でOSから分離して管理できるため、コンテナごとのアップデートが可能です。 サンドボックス化されることにより、悪意あるソフトウェアからの攻撃に対する機器全体の保護に有効性を発揮します。

images/app-operation-container.png

図2.4 コンテナによるアプリケーションの運用


  • アップデート機能を標準搭載

    ネットワークやUSBメモリ、microSDカード、Armadillo Twinによるアップデート機能を標準搭載しています。 正しく署名されたソフトウェアのみアップデートできる仕組みや、差分アップデート機能も用意されています。 OS・ブートローダー・コンテナ部分は、安全性を担保するため二面化し、リカバリー機能を備えています。 万が一アップデートに失敗した場合でも、作業前の状態にロールバックすることができます。

images/rollback.png

図2.5 ロールバックの仕組み


  • 堅牢性の向上

    安定性の高いファイルシステムで、ストレージへの書込みを減らして消耗を抑制するなど、 高い堅牢性を有します。運用ログの記録機能も標準搭載しています。

  • セキュリティ機能の向上

    コンテナにアクセス権限を設けて管理することができます。 デバイス証明に利用できるセキュアエレメントを搭載するほか、セキュア環境「OP-TEE」を利用 可能な状態で提供しています。

2.1.4. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨

Armadillo Base OSは Armadilo Base OS搭載製品のサポート期限にしたがって、アットマークテクノがセキュリティアップデートの提供、既存機能のバグ修正、今はない便利な機能の追加を継続的に行い、ユーザービリティの向上に努めます。緊急時を除き月末に "製品アップデート" としてこれらをリリースをし、Armadilloサイトから通知、変更内容の公開を行います。ユーザー登録を行うことで通知をメールで受け取ることもできます。

ArmadilloをIoT機器としてネットワークに接続し長期に運用を行う場合、継続的に最新バージョンを使用することを強く推奨いたします。 最新バージョンを使用しない場合の注意点については「ソフトウェア使用に関しての注意事項」の「ソフトウェアのアップデートについて」を参照してください。

2.1.4.1. 後方互換性について

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 の機能・特徴」 を参照してください。

2.1.5. Armadillo Twin とは

Armadillo Twin は、アットマークテクノが提供する Armadillo Base OS 搭載のデバイスをリモートから運用管理することができるクラウドサービスです。 様々なタスクをリモートから実行できるようになり、 OS アップデートもサービス画面からの操作で行えるため、稼働中のデバイスは常に最新の状態を維持することができます。また、バグ修正やセキュリティ対策などのメンテナンスのほか、機能追加や設定変更、アプリケーションのアップデートなども行えるため、デバイスの設置現場に出向くことなく、計画的で効率的なDevOpsを実現することができます。

本書では、開発・量産・運用の各フェーズにおける Armadillo Twin の利用について記載しています。

images/abos-images/armadillo-twin/about-armadillo-twin.png

図2.6 Armadillo Twin とは


2.1.5.1. サービスの特徴

  • ソフトウェアアップデート (OTA)

    遠隔からデバイスのソフトウェアアップデートをすることで、長期的にセキュリティ性の高いシステムを保つと共に、新たな機能を提供することも可能です。本サービスで管理するデバイスに搭載されている Armadillo Base OS は、不正なソフトウェアへのアップデートを行わせない署名検証機能や、アップデートが失敗した際に自動で元の状態に戻るロールバック機能を備えています。そのため、安心してソフトウェアアップデートを利用することができます。

  • 遠隔稼働監視

    登録されたデバイスの死活監視をはじめ、CPU の使用率や温度、メモリの使用量、モバイル回線の電波状況、ストレージの空き容量や寿命を監視することができます。各値にはアラートの設定を行うことができ、異常を検知した場合はアラートメールを管理者に送信します。メールを受けた管理者は本サービスの遠隔操作機能を利用し、即座に対応を行うことができるため、システムの安定運用を行うことができます。 そのほか、本サービスに登録したデバイスは、自由にラベル名を付けたりグループを作成して管理することができるため、どのデバイスをどの場所に設置したか画面上で把握することが容易になります。また、デバイス本体に搭載されているセキュアエレメントを利用した個体認証により、不正なデバイスの登録を防ぎます。

  • 遠隔操作

    画面上で入力した任意のコマンドをデバイス上で実行することができます。本サービスは遠隔操作で一般的に使われる SSH(Secure Shell) のように固定グローバル IP アドレスの設定は不要です。そのため、通信回線の契約料金を安くできるだけではなく、インターネット上からのサイバー攻撃のリスクを抑制する効果も期待できます。 任意のコマンドは単一のデバイスだけではなく、グループ単位、また複数のデバイスを選択して一括して実行したり、時刻を指定するスケジュール実行にも対応しています。

2.1.5.2. 提供する機能一覧

Armadillo Twin は、下記の機能を提供します。

遠隔稼働監視

死活監視、アプリケーションコンテナ稼働状況、 CPU使用率・温度/メモリ使用率、ストレージ寿命、モバイル回線電波強度、モバイル回線基地局の位置情報[a]、アラートメール

遠隔操作

ソフトウェアアップデート(OTA)、任意コマンド実行、ソフトウェアバージョン確認、設定変更、グループ一括実行、スケジュール実行[a]

個体管理

デバイス登録(デバイス証明書を利用)、ラベル付け、デバイスグループ化機能

ユーザ管理

ユーザーの追加/削除、ユーザー権限の設定

お知らせ

セキュリティアップデート、システム障害通知

[a] サービス開始時には非対応の機能です。今後のアップデートで対応予定です。

[注記]

Armadillo-610 は シリアルナンバー:00B700430001 以降の個体で Armadillo Twin を利用することができます。

2.2. 製品ラインアップ

Armadillo-610の製品ラインアップは次のとおりです。

表2.1 Armadillo-610ラインアップ

名称 型番

Armadillo-610量産ボード

A6100-U00Z

Armadillo-610開発セット

A6100-D00Z


2.2.1. Armadillo-610開発セット

Armadillo-610開発セット(型番: A6100-D00Z)は、Armadillo-610を使った開発がすぐに開始できるように、USBシリアル変換アダプタやACアダプタなど、開発に必要なものを一式にしています。また、拡張ボードの回路図は製品購入者向けに無償で公開しています。

表2.2 Armadillo-610開発セットのセット内容

Armadillo-610

Armadillo-610拡張ボード

USB(Aオス-miniB)ケーブル

USBシリアル変換アダプタ

スピーカー

ACアダプタ(12V/2.0A)

ジャンパソケット

ねじ

スペーサ


2.2.2. Armadillo-610量産ボード

Armadillo-610量産ボード(型番: A6100-U00Z)は、量産向けのラインアップです。

表2.3 仕様

プロセッサ

NXP Semiconductors i.MX6ULL

ARM Cortex-A7 x 1

・命令/データキャッシュ 32KByte/32KByte

・L2 キャッシュ 128KByte

・内部 SRAM 128KByte

・メディアプロセッシングエンジン(NEON)搭載

・Thumb code(16bit 命令セット)サポート

システムクロック

CPU コアクロック(ARM Cortex-A7): 528MHz

DDR クロック: 396MHz

源発振クロック: 32.768kHz, 24MHz

RAM

DDR3L: 512MByte

バス幅: 16bit

ROM

eMMC: 約3.8GB(約3.6GiB)

SD

microSDスロット x 1 [a]

拡張インターフェース

LANx1、USBx2、UARTx8、SDx1 [a]、LCDx1、I2Sx2、S/PDIFx1、MQSx1、I2Cx2、SPIx4、CANx2、A/Dx7、PWMx8、GPIOx66等 [b]

カレンダー時計

SoC内蔵リアルタイムクロック [c]

LED

黄色(面実装) x 1

セキュアエレメント

NXP Semiconductors SE050 [d]

電源電圧

DC 3.6〜4.5V

消費電力(参考値)

約0.8W(待機時)、約1W(LAN通信時) [e]

使用温度範囲

-20~+70℃(結露なきこと)

外形サイズ

50×50mm

[a] microSDスロットと拡張インターフェース側のSDは排他利用となります。

[b] i.MX6ULLのピンマルチプクレスの設定で、優先的に機能を割り当てた場合に拡張可能な最大数を記載しています。

[c] 電池は付属していません。

[d] シリアルナンバー:00B700430001以降のArmadillo-610に搭載

[e] Armadillo-610拡張ボードとの組み合わせでLAN、シリアルコネクタにケーブルを接続した状態での消費電力です。外部接続機器の消費分は含みません。


2.3. インターフェースレイアウト

Armadillo-610および開発セット付属の拡張ボードインターフェースレイアウトは次のとおりです。 各インターフェースの配置場所等を確認してください。

[警告]

コネクタの挿抜寿命を記載していますが、製品出荷時における目安であり、 実際に挿抜可能な回数を保証するものではありません。 また、無理な挿抜は接触不良や破損の原因となりますので、取り扱いには十分ご注意ください。

2.3.1. Armadillo-610 インターフェースレイアウト

images/a610-layout.svg

図2.7 Armadillo-610 インターフェースレイアウト


表2.4 Armadillo-610 インターフェース内容

部品番号インターフェース名 形状 備考

CON1

SDインターフェース

microSDスロット(ヒンジタイプ)

CON2

拡張インターフェース

基板間コネクタ100ピン(0.4mmピッチ)

挿抜寿命: 20回

CON10

JTAGインターフェース

ピンヘッダ 8ピン(2mmピッチ)

コネクタ非搭載

LED5

ユーザーLED

LED(黄色,面実装)


2.3.2. Armadillo-610 拡張ボード インターフェースレイアウト

images/a610ext-layout.svg

図2.8 Armadillo-610 拡張ボード インターフェースレイアウト


表2.5 Armadillo-610 拡張ボード インターフェース内容

部品番号 インターフェース名 形状 備考

CON1

SDインターフェース

SDスロット

CON2

LANインターフェース

RJ-45コネクタ

CON3

シリアルインターフェース

ピンヘッダ7ピン(1.25mm ピッチ)

挿抜寿命: 40回

CON4

Armadillo-610インターフェース

基板間コネクタ100ピン(0.4mmピッチ)

挿抜寿命: 20回

CON5

USBホストインターフェース

Type-Aコネクタ(2ポートスタック)

CON6

USB OTGインターフェース

Micro-ABコネクタ

CON7

Groveインターフェース

ピンヘッダ 4ピン(2.54mmピッチ)

CON8

ピンヘッダ 4ピン(2.54mmピッチ)

CON9

ピンヘッダ 4ピン(2.54mmピッチ)

CON10

ピンヘッダ 4ピン(2.54mmピッチ)

CON11

LCDインターフェース

FFCコネクタ 50ピン(0.5mmピッチ)

挿抜寿命: 20回

CON12

電源入力インターフェース

DCジャック

対応プラグ: 内径 2.1 外形5.5mm

CON13A

電源出力インターフェース

端子台 2ピン

CON13B

DIDOインターフェース

端子台 7ピン

CON13C

RS-485インターフェース

端子台 3ピン

CON13D

オーディオインターフェース

端子台 2ピン

CON14

電源出力インターフェース

ピンヘッダ 2ピン(2.54mmピッチ)

コネクタ非搭載

CON15

RTCバックアップインターフェース

電池ボックス

対応電池: CR2032

CON16

ピンヘッダ 2ピン(2.54mmピッチ)

コネクタ非搭載

CON17

内蔵RTCバックアップインターフェース

ピンヘッダ 2ピン(2.54mmピッチ)

コネクタ非搭載

CON18

WLANインターフェース

基板間コネクタ34ピン(0.5mmピッチ)

CON19

拡張インターフェース

ピンヘッダ10ピン(2.54mmピッチ)

コネクタ非搭載

CON20

ピンヘッダ40ピン(2.54mmピッチ)

コネクタ非搭載

CON21

ピンヘッダ10ピン(2.54mmピッチ)

コネクタ非搭載

CON22

ピンヘッダ10ピン(2.54mmピッチ)

コネクタ非搭載

CON23

リセットインターフェース

ピンヘッダ 2ピン(2.54mmピッチ)

コネクタ非搭載

CON24

電源入力インターフェース

ピンヘッダ 6ピン(2.54mmピッチ)

コネクタ非搭載

JP1

起動デバイス設定ジャンパ

ピンヘッダ 2ピン(2.54mmピッチ)

SW1

ユーザースイッチ

タクトスイッチ

SW2

リセットスイッチ

タクトスイッチ

SW3

ONOFFスイッチ

タクトスイッチ

LED1

LANスピードLED

LED(緑色,面実装)

LED2

LANリンクアクティビティLED

LED(黄色,面実装)

LED3

ユーザーLED

LED(緑色,面実装)

TH7

Armadillo-610用スタッド

スペーサー M3 (L=3mm)

TH8

スペーサー M3 (L=3mm)

TH13

WLAN用スタッド

スペーサー M2 (L=1.5mm)

TH14

スペーサー M2 (L=1.5mm)


2.4. ブロック図

Armadillo-610のブロック図は次のとおりです。

images/block.svg

図2.9 Armadillo-610ブロック図


2.5. 使用可能なストレージデバイス

Armadillo-610 でストレージとして使用可能なデバイスを次に示します。

表2.6 ストレージデバイス

デバイス種類 ディスクデバイス先頭パーティションインターフェース

オンボード eMMC

/dev/mmcblk0

/dev/mmcblk0p1

オンボード

オンボード eMMC (GPP)

/dev/mmcblk0gp3

なし

オンボード

SD/SDHC/SDXCカード

/dev/mmcblk1

/dev/mmcblk1p1

SDインターフェース(Armadillo-610: CON1) [a]

SDインターフェース(Armadillo-610 拡張ボード: CON1) [a]

USBメモリ

/dev/sd* [b]

/dev/sd*1

USB ホストインターフェース (Armadillo-610 拡張ボード: CON5)

[a] Armadillo-610: CON1 とArmadillo-610 拡張ボード: CON1 は排他利用となります。

[b] USBハブを利用して複数のUSBメモリを接続した場合は、認識された順に sdasdbsdc … となります。


[ティップ]GPP(General Purpose Partition)について

GPP は、eMMC の通常の記憶領域を割譲して eMMC 内部に作られた記憶領域です。 eMMC の通常の記憶領域とはアドレス空間が異なるため、/dev/mmcblk0 および /dev/mmcblk0p* に対してどのような書き込みを行っても /dev/mmcblk0gp* のデータが書き換わることはありません。

Armadillo-610 では、8 MiB の GPP を4つ作成しています。各領域の用途を表2.7「eMMCのGPPの用途」に示します。

表2.7 eMMCのGPPの用途

ディスクデバイス 用途

/dev/mmcblk0gp0

ライセンス情報等の為の予約領域

/dev/mmcblk0gp1

動作ログ領域

/dev/mmcblk0gp2

動作ログ予備領域[a]

/dev/mmcblk0gp3

ユーザー領域

[a] 詳細は「ログ用パーティションについて」を参照ください。


2.6. ストレージデバイスのパーティション構成

Armadillo-610のeMMCのパーティション構成を 表2.8「eMMCメモリマップ」に示します。

表2.8 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

200MiB

firm

ファームウェア用パーティション

5

2.7GiB

app

アプリケーション用パーティション


Armadillo-610のeMMCのブートパーティションの構成を表2.9「eMMC ブートパーティション構成」に示します。

表2.9 eMMC ブートパーティション構成

ディスクデバイス サイズ 説明

/dev/mmcblk0boot0

31.5 MiB

A/B アップデートのA面

/dev/mmcblk0boot1

31.5 MiB

A/B アップデートのB面


Armadillo-610のeMMCのGPP(General Purpose Partition)の構成を表2.10「eMMC GPP構成」に示します。

表2.10 eMMC GPP構成

ディスクデバイス サイズ 説明

/dev/mmcblk0gp0

8 MiB

ライセンス情報等の為の予約領域

/dev/mmcblk0gp1

8 MiB

動作ログ領域

/dev/mmcblk0gp2

8 MiB

動作ログ予備領域[a]

/dev/mmcblk0gp3

8 MiB

ユーザー領域

[a] 詳細は「ログ用パーティションについて」を参照ください。


2.7. ソフトウェアのライセンス

Armadillo Base OS に含まれるソフトウェアのライセンスは、 Armadillo にログイン後に特定のコマンドを実行することで参照できます。

手順について、詳細は以下の Howto を参照してください。