製品概要

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-640とは

Armadillo-600シリーズは、フィールド向けの機器・端末のプラットフォームとして豊富な採用実績を持つ 小型・省電力でLinux採用の組み込みCPUボード「Armadillo-400シリーズ」の思想を継承しつつ、 処理能力と搭載メモリをともに大幅にグレードアップさせた、次世代のLinux組み込みプラットフォームです。 高性能ながら省電力性能を向上、さらに耐環境性を追求するなど、量産時の使いやすさを重視した堅実な設計が特長です。

images/about-a640.svg

図2.1 Armadillo-640とは


  • i.MX6ULL搭載/Armadillo-440と形状互換で性能向上

    Armadillo-640は、従来のArmadillo-440のコネクタ配置を踏襲したシングルボード型モデルです。 CPUコアクロックは528MHzにアップ、メモリはArmadillo-440の約4倍の512MB(DDR3-800)、 オンボードストレージは約4GB(eMMC)を搭載し、microSDカードスロットも備えています。 従来のArmadillo-400シリーズに比べてハードウェア性能が大幅に向上し、アプリケーション開発の自由度が高くなりました。 Armadillo-440向けと同じ形状のオプションケース(樹脂製・金属製)もラインアップしているので、 Armadillo-440から乗り換えるときも筐体を新規設計する必要がありません。

  • 省電力モード搭載・バッテリー駆動の機器にも最適

    省電力モードを搭載し、「アプリケーションからArmadillo-640本体の電源をOFFにする」 「RTC(リアルタイムクロック)のアラームで決まった時間に本体の電源をONにする」 といった細かな電源制御が可能です。 必要な時だけ本体を起動するといった運用が可能なので、バッテリーで稼動させるような機器にも適しています。

  • 使用温度範囲-20℃~+70℃対応

    Armadillo-640は使用温度範囲-20℃~+70℃をカバーしています。

  • シングルボード型ながら拡張性にも十分に配慮

    Armadillo-640は、シングルボード型ながら多くの拡張インターフェースを搭載しており、 USB、LCD、シリアル、GPIO、I2C、I2S、SPIなどの拡張に対応します。 量産向けに、リード部品コネクタを搭載したモデルの他、リード部品非搭載のモデルも提供する予定です。

  • Armadillo Base OS搭載

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

  • セキュアエレメント搭載

    NXP Semiconductors 製のセキュアエレメント「SE050」を標準搭載しています。 これを使用することで、ハードウェアRoot of Trustによる高いセキュリティを実現できます。

2.1.3. Armadillo Base OSとは

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

images/about-armadillo-base-os.png

図2.2 Armadillo Base OSとは


  • OSのコンパクト化

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

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

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

images/app-operation-container.png

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


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

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

images/rollback.png

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


  • 堅牢性の向上

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

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

    コンテナにアクセス権限を設けて管理することができます。

製品開発を開始するにあたり、Armadillo Base OS に関してより詳細な情報が必要な場合は、 「開発前に知っておくべき Armadillo Base OS の機能・特徴」 を参照してください。

2.1.4. Armadillo Twin とは

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

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

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

図2.5 Armadillo Twin とは


2.1.4.1. サービスの特徴

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

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

  • 遠隔稼働監視

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

  • 遠隔操作

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

2.1.4.2. 提供する機能一覧

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

遠隔稼働監視

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

遠隔操作

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

個体管理

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

ユーザ管理

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

お知らせ

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

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

[注記]

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

2.2. 製品ラインアップ

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

表2.1 Armadillo-640ラインアップ

名称 型番

Armadillo-640ベーシックモデル開発セット

A6400-D00Z

Armadillo-640量産ボード

A6400-U00Z

Armadillo-640量産ボード(リード部品未実装・部品付)

A6400-B00Z

Armadillo-640量産ボード(リード部品未実装)

A6400-N00Z


2.2.1. Armadillo-640ベーシックモデル開発セット

Armadillo-640ベーシックモデル開発セット(型番: A6400-D00Z)は、Armadillo-640を使った開発がすぐに開始できるように、開発に必要なものを一式含んだセットです。

  • Armadillo-640
  • Armadillo-600シリーズオプションケース(樹脂製)
  • USB(Aオス-miniB)ケーブル
  • USBシリアル変換アダプタ [4]
  • ACアダプタ(5V/2.0A, EIAJ#2準拠)
  • ジャンパソケット
  • ねじ
  • ゴム足
  • スペーサ

2.2.2. Armadillo-640量産ボード

Armadillo-640量産ボードは、Armadillo-640ベーシックモデル開発セットのセット内容を必要最小限に絞った量産向けのラインアップです。 リード部品実装(A6400-U00Z)、リード部品未実装、部品付(型番: A6400-B00Z)、リード部品未実装(型番: A6400-N00Z)の3種類あります。

2.3. 仕様

Armadillo-640の主な仕様は次のとおりです。

表2.2 仕様

プロセッサ

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)

LAN(Ethernet)

100BASE-TX/10BASE-T x 1

AUTO-MDIX対応

シリアル(UART)

RS232Cレベル x 1

3.3V CMOSレベル 最大 6 ポート拡張可能 [a]

USB

USB 2.0 Host x 2

SD

microSDスロット x 1

ビデオ

LCDインターフェース 最大1ポート拡張可能 [a]

最大解像度: WXGA (1366 x 768), 18bpp

タッチパネル対応可能

オーディオ

I2S 最大3ポート拡張可能 [a]

S/PDIF 最大1ポート拡張可能 [a]

GPIO

最大 61 bit拡張可能 [a]

I2C

最大 3 ポート拡張可能 [a]

SPI

最大 4 ポート拡張可能 [a]

CAN

最大 2 ポート拡張可能 [a]

PWM

最大 8 ポート拡張可能 [a]

カレンダー時計

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

I2C 拡張可能

スイッチ

ユーザースイッチ x 1

LED

ユーザー LED x 3

セキュアエレメント

NXP Semiconductors SE050 [c]

電源電圧

DC 5V±5%

消費電力(参考値)

約1.1W(待機時)、約1.5W(LAN通信時) [d]

使用温度範囲

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

外形サイズ

75×50mm(突起部を除く)

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

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

[c] シリアルナンバー:009C01490001以降のArmadillo-640に搭載

[d] 外部接続機器の消費分は含みません。

[e] Armadillo-600シリーズ オプションケースセット(樹脂製)を組み合わせた場合の使用温度範囲は-10℃~+50℃です。


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

Armadillo-640のインターフェースレイアウトです。 各インターフェースの配置場所等を確認してください。

images/a640-interface-layout.svg

図2.6 インターフェースレイアウト


表2.3 インターフェース内容

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

CON1

SDインターフェース

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

CON2

LANインターフェース

RJ-45コネクタ

CON3

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

D-Sub9ピン(オス)

CON4

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

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

コネクタ非搭載

CON5

USBインターフェース

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

CON7

LANインターフェース

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

コネクタ非搭載

CON8

拡張インターフェース

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

CON9

拡張インターフェース

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

CON10

JTAGインターフェース

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

コネクタ非搭載

CON11

LCD拡張インターフェース

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

挿抜寿命: 20回 [a]

CON12

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

DCジャック

対応プラグ: EIAJ#2

CON13

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

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

コネクタ非搭載

CON14

拡張インターフェース

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

JP1

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

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

JP2

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

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

LED1

LANスピードLED

LED(緑色,面実装)

LED2

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

LED(黄色,面実装)

LED3

ユーザーLED(赤)

LED(赤色,φ3mm)

LED4

ユーザーLED(緑)

LED(緑色,φ3mm)

LED5

ユーザーLED(黄)

LED(黄色,面実装)

SW1

ユーザースイッチ

タクトスイッチ(h=17mm)

[a] 挿抜寿命は製品出荷時における目安であり、実際の挿抜可能な回数を保証するものではありません。


2.5. ブロック図

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

align="center"

図2.7 Armadillo-640ブロック図


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

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

表2.4 ストレージデバイス

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

オンボード eMMC

/dev/mmcblk0

/dev/mmcblk0p1

オンボード

オンボード eMMC (GPP)

/dev/mmcblk0gp3

なし

オンボード

microSD/microSDHC/microSDXCカード

/dev/mmcblk1

/dev/mmcblk1p1

microSDスロット(CON1)

USBメモリ

/dev/sd* [a]

/dev/sd*1

USB ホストインターフェース (CON5)

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


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

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

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

表2.5 eMMCのGPPの用途

ディスクデバイス 用途

/dev/mmcblk0gp0

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

/dev/mmcblk0gp1

動作ログ領域

/dev/mmcblk0gp2

動作ログ予備領域[a]

/dev/mmcblk0gp3

ユーザー領域

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


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

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

表2.6 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-640のeMMCのブートパーティションの構成を表2.7「eMMC ブートパーティション構成」に示します。

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

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

/dev/mmcblk0boot0

31.5 MiB

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

/dev/mmcblk0boot1

31.5 MiB

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


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

表2.8 eMMC GPP構成

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

/dev/mmcblk0gp0

8 MiB

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

/dev/mmcblk0gp1

8 MiB

動作ログ領域

/dev/mmcblk0gp2

8 MiB

動作ログ予備領域[a]

/dev/mmcblk0gp3

8 MiB

ユーザー領域

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


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

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

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



[4] Armadillo-800シリーズ、Armadillo-IoTシリーズなどで使用していたUSBシリアル変換アダプタ(型番: SA-SCUSB-00)とはコネクタ形状が違いますので、ご注意ください。