Armadillo-X2
製品マニュアル


目次

1. はじめに
1.1. 本書について
1.1.1. 本書で扱うこと
1.1.2. 本書で扱わないこと
1.1.3. 本書で必要となる知識と想定する読者
1.1.4. 本書の構成
1.1.5. フォント
1.1.6. コマンド入力例
1.1.7. アイコン
1.1.8. ユーザー限定コンテンツ
1.1.9. 本書および関連ファイルのバージョンについて
1.2. 注意事項
1.2.1. 安全に関する注意事項
1.2.2. 取扱い上の注意事項
1.2.3. 製品の保管について
1.2.4. ソフトウェア使用に関しての注意事項
1.2.5. 電波障害について
1.2.6. 保証について
1.2.7. 輸出について
1.2.8. 商標について
1.3. 謝辞
2. 製品概要
2.1. 製品の特長
2.1.1. Armadilloとは
2.1.2. Armadillo-X2とは
2.1.3. Armadillo Base OSとは
2.1.4. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨
2.1.4.1. 後方互換性について
2.2. 製品ラインアップ
2.2.1. Armadillo-X2 開発セット
2.2.2. Armadillo-X2 量産ボード
2.3. 仕様
2.4. インターフェースレイアウト
2.5. ブロック図
2.6. ストレージデバイスのパーティション構成
2.7. ソフトウェアのライセンス
3. 開発編
3.1. アプリケーション開発の流れ
3.2. 開発前に知っておくべき Armadillo Base OS の機能・特徴
3.2.1. 一般的な Linux OS 搭載組み込み機器との違い
3.2.2. Armadillo Base OS 搭載機器のソフトウェア開発手法
3.2.3. アップデート機能について
3.2.3.1. SWUpdate とは
3.2.3.2. SWU イメージとは
3.2.3.3. A/Bアップデート(アップデートの2面化)
3.2.3.4. ロールバック(リカバリー)
3.2.3.5. SWU イメージのインストール
3.2.4. ファイルの取り扱いについて
3.2.4.1. 電源を切っても保持されるディレクトリ(ユーザーデータディレクトリ)
3.2.5. インストールディスクについて
3.2.5.1. 初期化インストールディスクの作成
3.2.5.2. インストールディスクを使用する
3.3. 開発の準備
3.3.1. 準備するもの
3.3.2. 開発環境のセットアップ
3.3.2.1. VMwareのインストール
3.3.2.2. ATDEのアーカイブを取得
3.3.2.3. ATDEのアーカイブを展開
3.3.2.4. WindowsでATDEのアーカイブ展開する
3.3.2.5. Linuxでtar.xz形式のファイルを展開する
3.3.2.6. ATDEの起動
3.3.2.7. 取り外し可能デバイスの使用
3.3.2.8. コマンドライン端末(GNOME端末)の起動
3.3.2.9. シリアル通信ソフトウェア(minicom)の使用
3.3.3. Armadilloの起動
3.3.3.1. Armadilloと開発用PCを接続
3.3.3.2. ジャンパピンの設定について
3.3.3.3. 起動
3.3.3.4. ログイン
3.3.3.5. 終了方法
3.3.4. VSCodeのセットアップ
3.3.4.1. ソフトウェアのアップデート
3.3.4.2. VSCode に開発用エクステンションをインストールする
3.3.4.3. クロスコンパイル用ライブラリをインストールする
3.3.5. VSCode を使用して Armadillo のセットアップを行う
3.3.5.1. initial_setup.swu の作成
3.3.6. ユーザー登録
3.3.6.1. 購入製品登録
3.4. ハードウェアの設計
3.4.1. 信頼性試験データについて
3.4.2. 放射ノイズ
3.4.3. ESD/雷サージ
3.4.4. 放熱
3.4.5. CON11(拡張インターフェース)
3.4.6. 拡張ボードの設計
3.4.6.1. ピンアサイン
3.4.6.2. 基板形状
3.4.7. 回路設計
3.4.7.1. スイッチ、LED、リレー
3.4.7.2. 電源
3.4.7.3. レベル変換
3.4.8. 電気的仕様
3.4.8.1. 絶対最大定格
3.4.8.2. 推奨動作条件
3.4.8.3. 電源出力仕様
3.4.8.4. 入出力インターフェースの電気的仕様
3.4.8.5. 電源回路の構成
3.4.8.6. 電源シーケンス
3.4.8.7. リセット回路の構成
3.4.8.8. リセットシーケンス
3.4.8.9. 外部からの電源制御
3.4.9. 形状図
3.4.9.1. 基板形状図
3.4.10. オプション品
3.5. Device Treeをカスタマイズする
3.5.1. Linux カーネルソースコードの取得
3.5.2. at-dtweb のインストール
3.5.3. at-dtweb の起動
3.5.4. Device Tree をカスタマイズ
3.5.4.1. 機能の選択
3.5.4.2. 信号名の確認
3.5.4.3. プロパティの設定
3.5.4.4. 機能の削除
3.5.4.5. Device Tree のファイルの生成
3.5.5. DT overlay によるカスタマイズ
3.5.5.1. 提供している DT overlay
3.5.5.2. カスタマイズした DT overlay の作成
3.6. インターフェースの使用方法とデバイスの接続方法
3.6.1. SDカードを使用する
3.6.1.1. ハードウェア仕様
3.6.1.2. 使用方法
3.6.2. Ethernet を使用する
3.6.2.1. ハードウェア仕様
3.6.2.2. ソフトウェア仕様
3.6.2.3. 使用方法
3.6.3. USB デバイスを使用する
3.6.3.1. ハードウェア仕様
3.6.3.2. ソフトウェア仕様
3.6.3.3. 使用方法
3.6.4. UART を使用する
3.6.4.1. ハードウェア仕様
3.6.4.2. ソフトウェア仕様
3.6.4.3. 使用方法
3.6.5. HDMI を使用する
3.6.5.1. ハードウェア仕様
3.6.5.2. ソフトウェア仕様
3.6.5.3. 使用方法
3.6.6. 音声出力を行う
3.6.7. MIPI CSI-2 カメラを使用する
3.6.7.1. ハードウェア仕様
3.6.7.2. ソフトウェア仕様
3.6.7.3. 使用方法
3.6.8. GPIO を制御する
3.6.8.1. ハードウェア仕様
3.6.8.2. ソフトウェア仕様
3.6.8.3. 使用方法
3.6.9. I2C デバイスを使用する
3.6.9.1. ハードウェア仕様
3.6.9.2. ソフトウェア仕様
3.6.9.3. 使用方法
3.6.10. SPI デバイスを使用する
3.6.10.1. ハードウェア仕様
3.6.10.2. 使用方法
3.6.11. CAN デバイスを使用する
3.6.11.1. ハードウェア仕様
3.6.11.2. 使用方法
3.6.12. PWM を使用する
3.6.12.1. ハードウェア仕様
3.6.12.2. 使用方法
3.6.13. I2S(SAI) を使用する
3.6.13.1. ハードウェア仕様
3.6.13.2. 使用方法
3.6.14. PDM マイクを使用する
3.6.14.1. ハードウェア仕様
3.6.14.2. 使用方法
3.6.15. RTC を使用する
3.6.15.1. ハードウェア仕様
3.6.15.2. ソフトウェア仕様
3.6.15.3. 使用方法
3.6.16. 電源を入力する
3.6.16.1. ハードウェア仕様
3.6.17. 起動デバイスを変更する
3.6.17.1. ハードウェア仕様
3.6.18. ユーザースイッチを使用する
3.6.18.1. ハードウェア仕様
3.6.18.2. ソフトウェア仕様
3.6.18.3. 使用方法
3.6.19. LED を使用する
3.6.19.1. ハードウェア仕様
3.6.19.2. ソフトウェア仕様
3.6.19.3. 使用方法
3.6.20. Bluetooth を扱う
3.6.21. Wi-SUN デバイスを扱う
3.6.22. EnOcean デバイスを扱う
3.7. ソフトウェアの設計
3.7.1. 開発者が開発するもの、開発しなくていいもの
3.7.2. ユーザーアプリケーションの設計
3.7.3. ログの設計
3.7.3.1. ログの保存場所
3.7.3.2. 保存すべきログ
3.7.4. ウォッチドッグタイマー
3.8. ネットワーク設定
3.8.1. ABOS Web とは
3.8.2. ABOS Web へのアクセス
3.8.3. ABOS Web のパスワード登録
3.8.4. ABOS Web の設定操作
3.8.5. ログアウト
3.8.6. WWAN設定
3.8.7. WLAN 設定
3.8.7.1. WLAN 設定(クライアントとしての設定)
3.8.7.2. WLAN 設定(アクセスポイントとしての設定)
3.8.8. 各接続設定(各ネットワークインターフェースの設定)
3.8.8.1. LAN 接続設定
3.8.8.2. WWAN 接続設定
3.8.8.3. WLAN 接続設定
3.8.9. DHCPサーバー設定
3.8.10. NAT設定
3.8.10.1. NAT 設定
3.8.10.2. ポートフォワーディング設定
3.8.10.3. VPN設定
3.8.11. 状態一覧
3.9. Network Time Protocol (NTP, ネットワーク・タイム・プロトコル) の設定
3.10. GUI アプリケーションの開発
3.10.1. Flutter とは
3.10.2. Flutter を用いた開発の流れ
3.10.3. ATDE 上でのセットアップ
3.10.3.1. プロジェクトの作成
3.10.3.2. ディレクトリ構成
3.10.3.3. 初期設定
3.10.3.4. アプリケーション実行用コンテナイメージの作成
3.10.4. Armadillo 上でのセットアップ
3.10.4.1. ディスプレイの接続
3.10.4.2. アプリケーション実行用コンテナイメージのインストール
3.10.5. アプリケーション開発
3.10.5.1. アプリケーションのビルドモード
3.10.5.2. サンプルアプリケーションのビルド
3.10.5.3. パッケージをインストールする
3.10.6. 動作確認
3.10.6.1. ssh 接続に使用する IP アドレスの設定
3.10.6.2. アプリケーションの実行
3.10.6.3. ホットリロード
3.10.7. 製品への書き込み
3.10.8. Armadillo 上のコンテナイメージの削除
3.11. CUI アプリケーションの開発
3.11.1. CUI アプリケーション開発の流れ
3.11.2. ATDE 上でのセットアップ
3.11.2.1. プロジェクトの作成
3.11.3. アプリケーション開発
3.11.3.1. VSCode の起動
3.11.3.2. ディレクトリ構成
3.11.3.3. 初期設定
3.11.3.4. アプリケーション実行用コンテナイメージの作成
3.11.4. Armadillo 上でのセットアップ
3.11.4.1. アプリケーション実行用コンテナイメージのインストール
3.11.4.2. ssh 接続に使用する IP アドレスの設定
3.11.4.3. アプリケーションの実行
3.11.5. リリース版のビルド
3.11.6. 製品への書き込み
3.11.7. Armadillo 上のコンテナイメージの削除
3.12. システムのテストを行う
3.12.1. ランニングテスト
3.12.2. 異常系における挙動のテスト
4. 量産編
4.1. 概略
4.1.1. リードタイムと在庫
4.1.2. Armaidllo 納品後の製造・量産作業
4.2. BTO サービスを使わない場合と使う場合の違い
4.2.1. BTO サービスを利用しない(標準ラインアップ品)
4.2.1.1. 標準ラインアップ品に書き込まれているソフトウェア
4.2.2. BTO サービスを利用する
4.3. 量産時のイメージ書き込み手法
4.4. インストールディスクを用いてイメージ書き込みする
4.4.1. /etc/swupdate_preserve_fileへの追記
4.4.2. Armadillo Base OSの更新
4.4.3. パスワードの確認と変更
4.4.4. 開発したシステムをインストールディスクにする
4.4.5. インストール時に任意のシェルスクリプトを実行する
4.4.5.1. 個体ごとに異なる固定IPアドレスを設定する
4.4.5.2. インストール実行時のログを保存する
4.4.6. インストールの実行
4.5. SWUpdate を用いてイメージ書き込みする
4.5.1. SWU イメージの準備
4.5.2. descファイルの記述
4.6. イメージ書き込み後の動作確認
4.7. 量産時の組み立て
4.7.1. 拡張ボードの組み付け
4.7.2. オプションケース(金属製)への組み付け
5. 運用編
5.1. Armadillo を設置する
5.1.1. 設置場所
5.1.2. ケーブルの取り回し
5.1.3. サージ対策
5.1.4. Armadillo の状態を表すインジケータ
5.1.5. 個体識別情報の取得
5.1.5.1. 本体シールから取得
5.1.5.2. コマンドから取得
5.1.6. 電源を切る
5.2. Armadillo のソフトウェアをアップデートする
5.2.1. SWUイメージの作成
5.2.2. mkswu の desc ファイルを作成する
5.2.3. desc ファイルから SWU イメージを生成する
5.2.4. イメージのインストール
5.3. hawkBit サーバーから複数の Armadillo をアップデートする
5.3.1. hawkBitとは
5.3.2. データ構造
5.3.3. hawkBitサーバーから複数のArmadilloに配信する
5.3.3.1. hawkBit のアップデート管理を CLI で行う
5.3.3.2. SWU で hawkBit を登録する
5.4. eMMC の寿命を確認する
5.4.1. eMMC について
5.4.2. eMMC 予備領域の確認方法
5.5. Armadillo の部品変更情報を知る
5.6. Armadillo を廃棄する
6. 応用編
6.1. persist_file について
6.2. コンテナ
6.2.1. Podman - コンテナ仮想化ソフトウェアとは
6.2.2. コンテナの基本的な操作
6.2.2.1. イメージからコンテナを作成する
6.2.2.2. イメージ一覧を表示する
6.2.2.3. コンテナ一覧を表示する
6.2.2.4. コンテナを起動する
6.2.2.5. コンテナを停止する
6.2.2.6. コンテナの変更を保存する
6.2.2.7. コンテナの自動作成やアップデート
6.2.2.8. コンテナを削除する
6.2.2.9. イメージを削除する
6.2.2.10. 実行中のコンテナに接続する
6.2.2.11. コンテナ間で通信をする
6.2.2.12. podでコンテナのネットワークネームスペースを共有する
6.2.2.13. networkの作成
6.2.2.14. コンテナからのコンテナ管理
6.2.2.15. リモートリポジトリにコンテナを送信する
6.2.2.16. イメージを eMMC に保存する
6.2.2.17. イメージを SWUpdate で転送する
6.2.2.18. 開発時に有用な—privilegedオプション
6.2.3. コンテナとコンテナに関連するデータを削除する
6.2.3.1. VSCode から実行する
6.2.3.2. コマンドラインから実行する
6.2.4. コンテナ起動設定ファイルを作成する
6.2.4.1. コンテナイメージの選択
6.2.4.2. ポート転送
6.2.4.3. デバイスファイル作成
6.2.4.4. ボリュームマウント
6.2.4.5. ホットプラグデバイスの追加
6.2.4.6. pod の選択
6.2.4.7. ネットワークの選択
6.2.4.8. IP アドレスの設定
6.2.4.9. 読み取り専用設定
6.2.4.10. イメージの自動ダウンロード設定
6.2.4.11. コンテナのリスタート設定
6.2.4.12. 信号を受信するサービスの無効化
6.2.4.13. 自動起動の無効化
6.2.4.14. 実行コマンドの設定
6.2.4.15. podman run に引数を渡す設定
6.2.5. アットマークテクノが提供するイメージを使う
6.2.5.1. ABOSDE からインストールする
6.2.5.2. Docker ファイルからイメージをビルドする
6.2.5.3. ビルド済みのイメージを使用する
6.2.6. alpine のコンテナイメージをインストールする
6.2.7. コンテナのネットワークを扱う
6.2.7.1. コンテナの IP アドレスを確認する
6.2.7.2. コンテナに固定 IP アドレスを設定する
6.2.8. コンテナ内にサーバを構築する
6.2.8.1. HTTP サーバを構築する
6.2.8.2. FTP サーバを構築する
6.2.8.3. Samba サーバを構築する
6.2.8.4. SQL サーバを構築する
6.2.9. 画面表示を行う
6.2.9.1. Wayland を扱う
6.2.9.2. X Window System を扱う
6.2.9.3. フレームバッファに直接描画する
6.2.9.4. タッチパネルを扱う
6.2.9.5. VPU を扱う
6.2.10. パワーマネジメント機能を使う
6.2.10.1. サスペンド状態にする
6.2.10.2. 起床要因を有効化する
6.2.10.3. パワーマネジメントの仕様
6.2.11. コンテナからのpoweroff及びreboot
6.2.12. 異常検知
6.2.12.1. ソフトウェアウォッチドッグタイマーを扱う
6.2.13. NPU を扱う
6.2.13.1. ONNX Runtime を使う
6.2.13.2. TensorFlow Lite を使う
6.2.13.3. Arm NN を使う
6.3. swupdate がエラーする場合の対処
6.4. mkswu の .desc ファイルを編集する
6.4.1. インストールバージョンを指定する
6.4.2. Armadillo へファイルを転送する
6.4.3. Armadillo 上で任意のコマンドを実行する
6.4.4. Armadillo にファイルを転送し、そのファイルをコマンド内で使用する
6.4.5. 起動中の Armadillo で任意のコマンドを実行する
6.4.6. Armadillo にコンテナイメージを転送する
6.4.7. Armadillo のブートローダーを更新する
6.4.8. SWU イメージの設定関連
6.4.9. Armadillo 上のコンテナイメージと自動起動用confファイルを削除する
6.4.10. SWUpdate 実行中/完了後の挙動を指定する
6.4.11. desc ファイル設定例
6.4.11.1. 例: sshdを有効にする
6.4.11.2. 例: Armadillo Base OSアップデート
6.4.11.3. 例: swupdate_preserve_files で Linux カーネル以外の Armadillo-X2 向けのイメージをインストールする方法
6.5. swupdate_preserve_files について
6.6. SWU イメージの内容の確認
6.7. SWUpdate と暗号化について
6.8. Web UI から Armadillo をセットアップする (ABOS Web)
6.8.1. ABOS Web ではできないこと
6.8.2. ABOS Web の設定機能一覧と設定手順
6.8.3. コンテナ管理
6.8.4. SWUインストール
6.9. VPU や NPU を使用する
6.9.1. Armadillo へ書き込むためのライブラリイメージを作成する
6.9.2. Armadillo にライブラリイメージを書き込む
6.9.3. ライブラリイメージのバージョンを確認する
6.9.4. コンテナ内からライブラリを使用するための準備
6.10. マルチメディアデータを扱う
6.10.1. GStreamer - マルチメディアフレームワーク
6.10.1.1. GStreamer - マルチメディアフレームワークとは
6.10.2. GStreamer 実行用コンテナを作成する
6.10.3. GStreamer パイプラインの実行例
6.10.4. 動画を再生する
6.10.4.1. H.264/AVC 動画を再生する
6.10.4.2. VP8 動画を再生する
6.10.4.3. VP9 動画を再生する
6.10.5. ストリーミングデータを再生する
6.10.5.1. HTTP ストリーミング
6.10.5.2. RTSP ストリーミング
6.10.6. USB カメラからの映像を表示する
6.10.7. USBカメラからの映像を録画する
6.10.7.1. H.264/AVC で録画する
6.10.8. Video Processing Unit(VPU)
6.10.8.1. Video Processing Unit とは
6.10.8.2. VPUの仕様
6.11. デモアプリケーションを実行する
6.11.1. コンテナを作成する
6.11.2. デモアプリケーションランチャを起動する
6.11.3. mediaplayer
6.11.4. video recoder
6.11.5. led switch tester
6.11.6. rtc tester
6.11.7. object detection demo
6.11.8. pose estimation demo
6.11.9. image segmentation demo
6.11.10. super resolution demo
6.11.11. hand estimation demo
6.11.12. screw detection demo
6.12. ssh 経由で Armadillo Base OS にアクセスする
6.13. コマンドラインからネットワーク設定をする
6.13.1. 接続可能なネットワーク
6.13.2. IP アドレスの確認方法
6.13.3. ネットワークの設定方法
6.13.3.1. nmcli について
6.13.4. nmcli の基本的な使い方
6.13.4.1. コネクションの一覧
6.13.4.2. コネクションの有効化・無効化
6.13.4.3. コネクションの作成
6.13.4.4. コネクションの削除
6.13.4.5. 固定IPアドレスに設定する
6.13.4.6. DNS サーバーを指定する
6.13.4.7. DHCP に設定する
6.13.4.8. コネクションの修正を反映する
6.13.4.9. デバイスの一覧
6.13.4.10. デバイスの接続
6.13.4.11. デバイスの切断
6.13.5. 有線 LAN
6.14. ストレージの操作
6.14.1. ストレージ内にアクセスする
6.14.2. ストレージを安全に取り外す
6.14.3. ストレージのパーティション変更とフォーマット
6.15. ボタンやキーを扱う
6.15.1. SW1 の短押しと長押しの対応
6.15.2. USB キーボードの対応
6.15.3. Armadillo 起動時にのみボタンに反応する方法
6.16. 動作中の Armadillo の温度を測定する
6.16.1. 温度測定の重要性
6.16.2. atmark-thermal-profiler をインストールする
6.16.3. atmark-thermal-profiler を実行・停止する
6.16.4. atmark-thermal-profiler が出力するログファイルを確認する
6.16.5. 温度測定結果の分析
6.16.5.1. サーマルシャットダウン温度の確認
6.16.5.2. 温度測定結果のグラフ化
6.16.5.3. CPU使用率の確認
6.16.6. 温度センサーの仕様
6.17. Armadillo Base OS をアップデートする
6.18. ロールバック状態を確認する
6.19. Armadillo 起動時にコンテナの外でスクリプトを実行する
6.20. u-boot の環境変数の設定
6.21. SDブートの活用
6.21.1. ブートディスクの作成
6.21.2. SDブートの実行
6.22. Armadilloのソフトウェアをビルドする
6.22.1. ブートローダーをビルドする
6.22.2. Linux カーネルをビルドする
6.22.3. Alpine Linux ルートファイルシステムをビルドする
6.22.4. ビルドしたルートファイルシステムの SBOM を作成する
6.23. eMMC のデータリテンション
6.23.1. データリテンションの設定
6.23.2. より詳しくデータリテンションの統計情報を確認するには
6.23.3. 実装仕様に関する技術情報
6.24. Linuxカーネルがクラッシュしたときにメモリの状態を保存する
6.24.1. Kdumpを利用する準備
6.24.2. Kdumpの動作確認
6.24.3. vmcoreの確認
6.25. 動作ログ
6.25.1. 動作ログについて
6.25.2. 動作ログを取り出す
6.25.3. ログファイルのフォーマット
6.25.4. ログ用パーティションについて
6.26. viエディタを使用する
6.26.1. viの起動
6.26.2. 文字の入力
6.26.3. カーソルの移動
6.26.4. 文字の削除
6.26.5. 保存と終了
6.27. オプション品
6.27.1. Armadillo-X2 オプションケース(金属製)
6.27.1.1. 概要
6.27.1.2. 組み立て
6.27.1.3. 形状図
6.27.2. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート
6.27.2.1. 概要
6.27.2.2. 組み立て
6.27.2.3. 形状図

図目次

1.1. 製品化までのロードマップ
2.1. Armadillo-X2とは
2.2. Flutterを用いたGUIアプリケーション開発例
2.3. エッジAI処理、機械学習の例
2.4. SoCの発熱をアルミケースに直接放熱
2.5. Armadillo Base OSとは
2.6. コンテナによるアプリケーションの運用
2.7. ロールバックの仕組み
2.8. Armadillo-X2の外観
2.9. インターフェースレイアウト (ケース内部)
2.10. ブロック図
3.1. アプリケーション開発の流れ
3.2. persist_file コマンド実行例
3.3. chattr によって copy-on-write を無効化する例
3.4. GNOME端末の起動
3.5. GNOME端末のウィンドウ
3.6. minicomの設定の起動
3.7. minicomの設定
3.8. minicomのシリアルポートの設定
3.9. 例. シリアル通信用USBケーブル(A-microB)接続時のログ
3.10. minicomのシリアルポートのパラメータの設定
3.11. minicomシリアルポートの設定値
3.12. minicom起動方法
3.13. minicom終了確認
3.14. Armadillo-X2の接続例
3.15. COM7が競合している状態
3.16. Bletoothに割当のCOMを変更した状態
3.17. JP1の位置
3.18. ソフトウェアをアップデートする
3.19. VSCode を起動する
3.20. VSCode に開発用エクステンションをインストールする
3.21. ビルドツール実行前の準備
3.22. ビルドツールの実行
3.23. initial_setup.swu を作成する
3.24. initial_setup.swu 初回生成時の各種設定
3.25. Armadillo-X2のIC1とヒートシンク固定穴の位置
3.26. Armadillo-X2の拡張インターフェース
3.27. Armadillo-X2の拡張ボード例
3.28. スイッチ、LED、リレー接続例
3.29. DC/DCコンバータ回路(VDD_5V入力、3.3V 1.5A出力)例
3.30. 1.8V ←→ 3.3V 双方向レベル変換回路の例
3.31. 電源回路の構成
3.32. 電源シーケンス
3.33. リセット回路の構成
3.34. リセットシーケンス
3.35. ONOFF回路の構成
3.36. 基板形状図
3.37. at-dtweb の起動開始
3.38. ボード選択画面
3.39. Linux カーネルディレクトリ選択画面
3.40. at-dtweb 起動画面
3.41. UART3(RXD/TXD) のドラッグ
3.42. CON11 8/10 ピンへのドロップ
3.43. 信号名の確認
3.44. プロパティの設定
3.45. プロパティの保存
3.46. 全ての機能の削除
3.47. I2C5(SCL/SDA) の削除
3.48. DTS/DTB の生成
3.49. dtbo/desc の生成完了
3.50. /boot/overlays.txt の変更例
3.51. DT overlay を作成する例
3.52. Armadillo-X2のインターフェース
3.53. CON1 microSDスロット 取り扱い上の注意事項
3.54. CON3 LAN LED配置
3.55. USB シリアルデバイスを扱うためのコンテナ作成例
3.56. setserial コマンドによるUSBシリアルデバイス設定の確認例
3.57. USB カメラを扱うためのコンテナ作成例
3.58. USB メモリをホスト OS 側でマウントする例
3.59. ホスト OS 側でマウント済みの USB メモリを扱うためのコンテナ作成例
3.60. USB メモリに保存されているデータの確認例
3.61. USB メモリをマウントするためのコンテナ作成例
3.62. コンテナ内から USB メモリをマウントする例
3.63. シリアルインターフェースを扱うためのコンテナ作成例
3.64. setserial コマンドによるシリアルインターフェイス設定の確認例
3.65. 音声出力を行うためのコンテナ作成例
3.66. alsa-utils による音声出力を行う例
3.67. CON10 接続可能なフレキシブルフラットケーブルの形状
3.68. GPIO を扱うためのコンテナ作成例
3.69. コンテナ内からコマンドで GPIO を操作する例
3.70. gpiodetect コマンドの実行
3.71. gpioinfo コマンドの実行
3.72. I2C を扱うためのコンテナ作成例
3.73. i2cdetect コマンドによる確認例
3.74. SPI を扱うためのコンテナ作成例
3.75. spi-config コマンドによる確認例
3.76. CAN を扱うためのコンテナ作成例
3.77. CAN の設定例
3.78. PWM を扱うためのコンテナ作成例
3.79. PWM の動作設定例
3.80. RTC を扱うためのコンテナ作成例
3.81. hwclock コマンドによるRTCの時刻表示と設定例
3.82. ACアダプタの極性マーク
3.83. ユーザースイッチのイベントを取得するためのコンテナ作成例
3.84. evtest コマンドによる確認例
3.85. LED を扱うためのコンテナ作成例
3.86. LED の点灯/消灯の実行例
3.87. LED の状態を表示する
3.88. 対応している LED トリガを表示
3.89. LEDのトリガに heartbeat を指定する
3.90. Bluetooth を扱うコンテナの作成例
3.91. Bluetooth を起動する実行例
3.92. bluetoothctl コマンドによるスキャンとペアリングの例
3.93. Wi-SUN デバイスを扱うためのコンテナ作成例
3.94. EnOcean デバイスを扱うためのコンテナ作成例
3.95. 開発者が開発するもの、開発しなくていいもの
3.96. 現在の面の確認方法
3.97. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.98. ABOSDE を使用して ABOS Web を開く
3.99. ABOSDE に表示されている Armadillo を更新する
3.100. パスワード登録画面
3.101. パスワード登録完了画面
3.102. ログイン画面
3.103. トップページ
3.104. WWAN設定画面
3.105. WLAN クライアント設定画面
3.106. WLAN アクセスポイント設定画面
3.107. 現在の接続情報画面
3.108. LAN 接続設定で固定 IP アドレスに設定した画面
3.109. eth0 に対する DHCP サーバー設定
3.110. LTE を宛先インターフェースに指定した設定
3.111. LTE からの受信パケットに対するポートフォワーディング設定
3.112. VPN 設定
3.113. chronyd のコンフィグの変更例
3.114. Flutter アプリケーションの例
3.115. Flutter アプリケーション開発の流れ
3.116. Flutter Demo アプリケーションの画面
3.117. GUI アプリケーションの画面
3.118. Signage アプリケーションの画面
3.119. Factory Signage アプリケーションの画面
3.120. GUI アプリケーションのプロジェクトを作成する
3.121. プロジェクト名を入力する
3.122. 初期設定を行う
3.123. VSCode で初期設定を行う
3.124. VSCode のターミナル
3.125. SSH 用の鍵を生成する
3.126. VSCode でコンテナイメージの作成を行う
3.127. コンテナイメージの作成完了
3.128. my_project へ移動して VSCode を起動する。
3.129. ATDE 上で Debug モードでビルドしたアプリケーションを実行する
3.130. 起動したサンプルアプリケーション
3.131. ATDE 上で Release モードでビルドしたアプリケーションを実行する
3.132. dart_periphery パッケージをインストールする例
3.133. video_player パッケージをインストールする例
3.134. dart_periphery パッケージをアンインストールする例
3.135. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.136. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.137. ABOSDE に表示されている Armadillo を更新する
3.138. ssh_config を編集する
3.139. Armadillo 上で Debug モードでビルドしたアプリケーションを実行する
3.140. 実行時に表示されるメッセージ
3.141. アプリケーションを終了する
3.142. Armadillo 上で Release モードでビルドしたアプリケーションを実行する
3.143. ホットリロード機能を使う
3.144. SWU イメージを作成する
3.145. CUI アプリケーション開発の流れ
3.146. プロジェクトを作成する
3.147. プロジェクト名を入力する
3.148. VSCode で my_project を起動する
3.149. 初期設定を行う
3.150. VSCode で初期設定を行う
3.151. VSCode のターミナル
3.152. SSH 用の鍵を生成する
3.153. VSCode でコンテナイメージの作成を行う
3.154. コンテナイメージの作成完了
3.155. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.156. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.157. ABOSDE に表示されている Armadillo を更新する
3.158. ssh_config を編集する
3.159. Armadillo 上でアプリケーションを実行する
3.160. 実行時に表示されるメッセージ
3.161. アプリケーションを終了する
3.162. リリース版をビルドする
3.163. メモリの空き容量の確認方法
4.1. Armadillo 量産時の概略図
4.2. BTO サービスで対応する範囲
4.3. 任意のファイルパスを/etc/swupdate_preserve_filesに追記する
4.4. Armadillo Base OSをアップデートする
4.5. パスワードを変更する
4.6. 開発完了後のシステムをインストールディスクイメージにする
4.7. ip_config.txtの内容
4.8. IPアドレスの確認
4.9. allocated_ips.csvの内容
4.10. インストールログを保存する
4.11. インストールログの中身
4.12. Armadilloに書き込みたいソフトウェアをATDEに配置
4.13. descファイルの記述例
4.14. オプションケース(金属製) 放熱シート貼付
4.15. オプションケース(金属製) ケース(下)ねじ止め
4.16. オプションケース(金属製) ケース(上)ねじ止め
4.17. ケース(上)を閉じる際の注意
5.1. 個体コードの確認方法
5.2. 個体コードの環境変数をconfファイルに追記
5.3. コンテナ上で個体コードを確認する方法
5.4. MAC アドレスの確認方法
5.5. desc ファイルから Armadillo へ SWU イメージをインストールする流れ
5.6. コンテナイメージアーカイブ作成例
5.7. sample_container_update.desc の内容
5.8. sample_container_update.desc の内容
5.9. hawkBitが扱うソフトウェアのデータ構造
5.10. hawkBit コンテナのTLSなしの場合(テスト用)の実行例
5.11. hawkBit コンテナのTLSありの場合の実行例
5.12. eMMC の予備領域使用率を確認する
6.1. persist_file のヘルプ
6.2. persist_file 保存・削除手順例
6.3. persist_file ソフトウェアアップデート後も変更を維持する手順例
6.4. persist_file 変更ファイルの一覧表示例
6.5. persist_file でのパッケージインストール手順例
6.6. コンテナを作成する実行例
6.7. イメージ一覧の表示実行例
6.8. podman images --help の実行例
6.9. コンテナ一覧の表示実行例
6.10. podman ps --help の実行例
6.11. コンテナを起動する実行例
6.12. コンテナを起動する実行例(a オプション付与)
6.13. podman start --help 実行例
6.14. コンテナを停止する実行例
6.15. podman stop --help 実行例
6.16. my_containerを保存する例
6.17. podman buildの実行例
6.18. podman buildでのアップデートの実行例
6.19. コンテナを削除する実行例
6.20. イメージを削除する実行例
6.21. podman rmi --help 実行例
6.22. Read-Onlyのイメージを削除する実行例
6.23. コンテナ内部のシェルを起動する実行例
6.24. コンテナ内部のシェルから抜ける実行例
6.25. podman exec --help 実行例
6.26. コンテナを作成する実行例
6.27. コンテナの IP アドレスを確認する実行例
6.28. ping コマンドによるコンテナ間の疎通確認実行例
6.29. podを使うコンテナを自動起動するための設定例
6.30. networkを使うコンテナを自動起動するための設定例
6.31. abos-ctrl podman-rw の実行例
6.32. abos-ctrl podman-storage のイメージコピー例
6.33. Armadillo 上のコンテナイメージを削除する
6.34. abos-ctrl container-clear 実行例
6.35. コンテナを自動起動するための設定例
6.36. ボリュームを shared でサブマウントを共有する例
6.37. /proc/devicesの内容例
6.38. at-debian-image のコンテナイメージをインストールする SWU ファイルを作成する
6.39. Docker ファイルによるイメージのビルドの実行例
6.40. ビルド済みイメージを load する実行例
6.41. alpine のコンテナイメージをインストールする SWU ファイルを作成する
6.42. コンテナの IP アドレス確認例
6.43. ip コマンドを用いたコンテナの IP アドレス確認例
6.44. ユーザ定義のネットワーク作成例
6.45. IP アドレス固定のコンテナ作成例
6.46. コンテナの IP アドレス確認例
6.47. コンテナに Apache をインストールする例
6.48. コンテナに lighttpd をインストールする例
6.49. コンテナに vsftpd をインストールする例
6.50. ユーザを追加する例
6.51. 設定ファイルの編集例
6.52. vsftpd の起動例
6.53. コンテナに samba をインストールする例
6.54. ユーザを追加する例
6.55. samba の起動例
6.56. コンテナに sqlite をインストールする例
6.57. sqlite の実行例
6.58. Wayland を扱うためのコンテナ作成例
6.59. コンテナ内で weston を起動したログの出力とアプリケーションの実行例
6.60. weston.ini
6.61. weston.ini をボリュームで渡す実行例
6.62. X Window System を扱うためのコンテナ起動例
6.63. コンテナ内で X Window System を起動する実行例
6.64. フレームバッファに直接描画するためのコンテナ作成例
6.65. フレームバッファに直接描画する実行例
6.66. タッチパネルを扱うためのコンテナ作成例
6.67. VPU を扱うためのコンテナ作成例
6.68. weston と GStreamer を扱うためのコンテナ作成例
6.69. GStreamer によるデコード実行例
6.70. GStreamer によるエンコード実行例
6.71. パワーマネジメント機能を使うためのコンテナ作成例
6.72. サスペンド状態にする実行例
6.73. サスペンド状態にする実行例、rtcで起こす
6.74. コンテナからshutdownを行う
6.75. ソフトフェアウォッチドッグタイマーを使うためのコンテナ作成例
6.76. コンテナ内からソフトウェアウォッチドッグタイマーを起動する実行例
6.77. ソフトウェアウォッチドッグタイマーをリセットする実行例
6.78. ソフトウェアウォッチドッグタイマーを停止する実行例
6.79. NPU を扱うためのコンテナ作成例
6.80. ONNX Runtime をインストールする例
6.81. python から ONNX Runtime を使う例
6.82. TensorFlow Lite をインストールする例
6.83. python から TensorFlow Lite を使う例
6.84. tflite-runtime のバージョンを確認する
6.85. tflite-runtime のバージョンを下げる
6.86. at-debian-image のバージョンを確認する
6.87. Arm NN をインストールする例
6.88. python から Arm NN を使う例
6.89. コンテナ管理
6.90. SWU インストール
6.91. SWU 管理対象ソフトウェアコンポーネントの一覧表示
6.92. ライブラリイメージ作成ツールの実行
6.93. ライブラリイメージ作成ツールの実行 (VPUが不要の場合)
6.94. ライブラリイメージを書き込む
6.95. ライブラリパーティションのマウント
6.96. ライブラリバージョンの確認
6.97. imx-mm へのシンボリックリンクを作成する
6.98. GStreamer を実行するためのコンテナ作成例
6.99. gstreamer のインストール
6.100. weston の起動
6.101. pulseaudio の起動
6.102. GStreamer の実行例
6.103. H.264/AVC 動画の再生(音声あり)
6.104. H.264/AVC 動画の再生(音声なし)
6.105. VP8 動画の再生(音声あり)
6.106. VP8 動画の再生(音声なし)
6.107. VP9 動画の再生(音声あり)
6.108. VP9 動画の再生(音声なし)
6.109. HTTP ストリーミングの再生(音声あり)
6.110. HTTP ストリーミングの再生(音声なし)
6.111. RTSP ストリーミングの再生(音声あり)
6.112. RTSP ストリーミングの再生(音声なし)
6.113. USB カメラからの映像表示(音声あり)
6.114. USB カメラからの映像表示(音声なし)
6.115. USB カメラからの映像をH.264で録画(音声あり)
6.116. USB カメラからの映像をH.264で録画(音声なし)
6.117. USB カメラからの映像を表示しながらH.264で録画(音声あり)
6.118. USB カメラからの映像を表示しながらH.264で録画(音声なし)
6.119. デモアプリケーションを実行するためのコンテナ作成例
6.120. デモアプリケーションランチャの起動
6.121. パッケージのバージョンを確認する
6.122. pulseaudio のインストールと起動
6.123. pillow のインストールと起動
6.124. ビデオデバイスの変更
6.125. ビデオデバイスの変更
6.126. ビデオデバイスの変更
6.127. ビデオデバイスの変更
6.128. ビデオデバイスの変更
6.129. 各種コンフィグの変更
6.130. IP アドレスの確認
6.131. IP アドレス(eth0)の確認
6.132. nmcli のコマンド書式
6.133. コネクションの一覧
6.134. コネクションの有効化
6.135. コネクションの無効化
6.136. コネクションの作成
6.137. コネクションファイルの永続化
6.138. コネクションの削除
6.139. コネクションファイル削除時の永続化
6.140. 固定 IP アドレス設定
6.141. DNS サーバーの指定
6.142. DHCP の設定
6.143. コネクションの修正の反映
6.144. デバイスの一覧
6.145. デバイスの接続
6.146. デバイスの切断
6.147. 有線 LAN の PING 確認
6.148. mount コマンド書式
6.149. ストレージのマウント
6.150. ストレージのアンマウント
6.151. fdiskコマンドによるパーティション変更
6.152. EXT4 ファイルシステムの構築
6.153. buttond で SW1 を扱う
6.154. buttond で USB キーボードのイベントを確認する
6.155. buttond で USB キーボードを扱う
6.156. buttond で SW1 を Armadillo 起動時のみ受け付ける設定例
6.157. atmark-thermal-profiler をインストールする
6.158. atmark-thermal-profiler を実行する
6.159. atmark-thermal-profiler を停止する
6.160. ログファイルの内容例
6.161. サーマルシャットダウン温度の確認(Armadillo-IoT ゲートウェイ G4を例に)
6.162. Armadillo-IoT ゲートウェイ G4で取得した温度のグラフ
6.163. /var/at-log/atlog の内容の例
6.164. local サービスの実行例
6.165. uboot_env.d のコンフィグファイルの例
6.166. 自動マウントされたmicroSDカードのアンマウント
6.167. Linux カーネルを SWU でインストールする方法
6.168. Linux カーネルを build_rootfs でインストールする方法
6.169. データリテンション開始トリガーの方式
6.170. データリテンションの開始トリガーの動作例
6.171. 動作ログのフォーマット
6.172. viの起動
6.173. 入力モードに移行するコマンドの説明
6.174. 文字を削除するコマンドの説明
6.175. Armadillo-X2 オプションケース(金属製)
6.176. オプションケース(金属製)の加工痕例
6.177. ケース(上)形状図
6.178. ケース(下)形状図
6.179. ケースを固定する際の注意
6.180. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート
6.181. ケースにVESA規格固定用プレートを取り付け
6.182. モニターにVESA規格固定用プレートを取り付け
6.183. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート形状図

表目次

1.1. 使用しているフォント
1.2. 表示プロンプトと実行環境の関係
1.3. コマンド入力例での省略表記
1.4. 推奨温湿度環境について
2.1. Armadillo-X2ラインアップ
2.2. 仕様
2.3. インターフェース内容
2.4. eMMCメモリマップ
2.5. eMMC ブートパーティション構成
2.6. eMMC GPP構成
3.1. 電源を切っても保持されるディレクトリ(ユーザーデータディレクトリ)
3.2. ユーザー名とパスワード
3.3. 動作確認に使用する取り外し可能デバイス
3.4. シリアル通信設定
3.5. ジャンパの状態と起動デバイス
3.6. CON11 搭載コネクタと対向コネクタ例
3.7. CON11 信号配列
3.8. 各インターフェースへの電流供給例
3.9. 絶対最大定格
3.10. 推奨動作条件
3.11. 電源出力仕様
3.12. 拡張入出力ピンの電気的仕様(OVDD=VDD_3V3, VDD_1V8)
3.13. 拡張入出力ピンの電気的仕様(OVDD=VEXT_3V3)
3.14. オン状態、オフ状態を切り替えする際のLowレベル保持時間
3.15. Armadillo-X2 インターフェース一覧
3.16. CON1 信号配列
3.17. CON3 信号配列 (10BASE-T/100BASE-TX)
3.18. CON3 信号配列 (1000BASE-T)
3.19. CON3 LAN LEDの動作
3.20. CON4 信号配列
3.21. CON4 信号配列
3.22. CON6 信号配列
3.23. CON8 信号配列
3.24. CON10 搭載コネクタとフレキシブルフラットケーブル例
3.25. CON10 信号配列
3.26. MIPI CSI-2 カメラ用の DT overlay
3.27. I2C デバイス
3.28. CON13 信号配列
3.29. CON15 搭載コネクタと対向コネクタ例
3.30. CON15 信号配列
3.31. ジャンパの状態と起動デバイス
3.32. JP1 信号配列
3.33. SW1 信号配列
3.34. キーコード
3.35. LED3の状態
3.36. LED4の状態
3.37. LED クラスディレクトリと LED の対応
3.38. LEDトリガの種類
3.39. 組み合わせて使うパッケージ
4.1. インストールディスクとSWUpdateによるソフトウェア書き込みの比較
4.2. インストール中に実行される関数
5.1. EXT_CSD_PRE_EOL_INFO の値の意味
6.1. add_hotplugsオプションに指定できる主要な文字列
6.2. 対応するパワーマネジメント状態
6.3. 対応するパワーマネジメント状態
6.4. ライブラリと tflite-runtime のバージョンと NPU を用いたアプリケーションの動作の関係
6.5. 2.6.0-1 未満の TensorFlow Lite 関連 deb パッケージ
6.6. ライブラリイメージ書き込み済みの製品
6.7. H.264/AVC デコーダー仕様
6.8. VP8 デコーダー仕様
6.9. VP9 デコーダー仕様
6.10. H.264/AVC エンコーダー仕様
6.11. デモアプリケーション動作のために必要なバージョン
6.12. ネジ検出デモのパラメータの詳細
6.13. ネットワークとネットワークデバイス
6.14. 固定 IP アドレス設定例
6.15. thermal_profile.csvの各列の説明
6.16. u-bootの主要な環境変数
6.17. microSDカードのパーティション構成
6.18. build-rootfsのファイル説明
6.19. データリテンションの挙動
6.20. Armadillo のデータリテンションの設定
6.21. 入力モードに移行するコマンド
6.22. カーソルの移動コマンド
6.23. 文字の削除コマンド
6.24. 保存・終了コマンド
6.25. Armadillo-X2関連のオプション品
6.26. Armadillo-X2 オプションケースセット(金属製)について
6.27. Armadillo-X2 オプションケース(金属製)の仕様
6.28. Armadillo-X2、G4 ケースモデル VESA規格固定用プレートについて
6.29. Armadillo-X2、G4 ケースモデル VESA規格固定用プレートの仕様