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.5. Armadillo Twin とは
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.1.1. 準備するもの
3.1.2. 仮想環境のセットアップ
3.1.3. VSCodeのセットアップ
3.1.4. Armadillo の初期化と ABOS のアップデート
3.1.5. Armadillo に初期設定をインストールする
3.1.6. Python アプリケーションで動作確認する
3.1.7. シリアルコンソールを使用する
3.1.8. ユーザー登録
3.2. アプリケーション開発の流れ
3.3. 開発前に知っておくべき Armadillo Base OS の機能・特徴
3.3.1. 一般的な Linux OS 搭載組み込み機器との違い
3.3.2. Armadillo Base OS 搭載機器のソフトウェア開発手法
3.3.3. アップデート機能について
3.3.4. ファイルの取り扱いについて
3.3.5. インストールディスクについて
3.4. ハードウェアの設計
3.4.1. 信頼性試験データについて
3.4.2. 放射ノイズ
3.4.3. ESD/雷サージ
3.4.4. 放熱
3.4.5. 周辺装置との接続
3.4.6. CON11(拡張インターフェース)
3.4.7. 拡張ボードの設計
3.4.8. 回路設計
3.4.9. 電気的仕様
3.4.10. 形状図
3.4.11. オプション品
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.5. DT overlay によるカスタマイズ
3.6. インターフェースの使用方法とデバイスの接続方法
3.6.1. SDカードを使用する
3.6.2. Ethernet を使用する
3.6.3. USB デバイスを使用する
3.6.4. UART を使用する
3.6.5. HDMI を使用する
3.6.6. 音声出力を行う
3.6.7. MIPI CSI-2 カメラを使用する
3.6.8. GPIO を制御する
3.6.9. I2C デバイスを使用する
3.6.10. SPI デバイスを使用する
3.6.11. CAN デバイスを使用する
3.6.12. PWM を使用する
3.6.13. I2S(SAI) を使用する
3.6.14. PDM マイクを使用する
3.6.15. RTC を使用する
3.6.16. 電源を入力する
3.6.17. 起動デバイスを変更する
3.6.18. ユーザースイッチを使用する
3.6.19. LED を使用する
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.4. ウォッチドッグタイマー
3.7.5. コンテナに Armadillo の情報を渡す方法
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. ABOS Web の設定操作
3.8.6. ログアウト
3.8.7. WWAN設定
3.8.8. WLAN 設定
3.8.9. 各接続設定(各ネットワークインターフェースの設定)
3.8.10. DHCPサーバー設定
3.8.11. NAT設定
3.8.12. VPN設定
3.8.13. 状態一覧
3.9. ABOS Web をカスタマイズする
3.10. Network Time Protocol (NTP, ネットワーク・タイム・プロトコル) の設定
3.11. Armadillo Twin を体験する
3.12. ABOSDEによるアプリケーションの開発
3.12.1. ABOSDEの対応言語
3.12.2. 参照する開発手順の章の選択
3.13. GUI アプリケーションの開発
3.13.1. Flutter とは
3.13.2. Flutter を用いた開発の流れ
3.13.3. ATDE 上でのセットアップ
3.13.4. コンテナのディストリビューション
3.13.5. Armadillo に転送するディレクトリ及びファイル
3.13.6. コンテナ内のファイル一覧表示
3.13.7. Armadillo 上でのセットアップ
3.13.8. アプリケーション開発
3.13.9. 動作確認
3.13.10. アプリケーションをデバッグする
3.13.11. 製品への書き込み
3.13.12. Armadillo 上のコンテナイメージの削除
3.14. CUI アプリケーションの開発
3.14.1. CUI アプリケーション開発の流れ
3.14.2. ATDE 上でのセットアップ
3.14.3. アプリケーション開発
3.14.4. コンテナのディストリビューション
3.14.5. Armadillo に転送するディレクトリ及びファイル
3.14.6. コンテナ内のファイル一覧表示
3.14.7. Armadillo 上でのセットアップ
3.14.8. リリース版のビルド
3.14.9. 製品への書き込み
3.14.10. Armadillo 上のコンテナイメージの削除
3.15. C 言語によるアプリケーションの開発
3.15.1. C 言語によるアプリケーション開発の流れ
3.15.2. ATDE 上でのセットアップ
3.15.3. アプリケーション開発
3.15.4. コンテナのディストリビューション
3.15.5. コンテナ内のファイル一覧表示
3.15.6. Armadillo に転送するディレクトリ及びファイル
3.15.7. Armadillo 上でのセットアップ
3.15.8. リリース版のビルド
3.15.9. 製品への書き込み
3.15.10. Armadillo 上のコンテナイメージの削除
3.16. システムのテストを行う
3.16.1. ランニングテスト
3.16.2. 異常系における挙動のテスト
4. 量産編
4.1. 概略
4.1.1. Armadillo Twin を契約する
4.1.2. リードタイムと在庫
4.1.3. Armadillo 納品後の製造・量産作業
4.2. BTO サービスを使わない場合と使う場合の違い
4.2.1. BTO サービスを利用しない(標準ラインアップ品)
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. VSCode を使用して生成する
4.4.6. インストールディスクの動作確認を行う
4.4.7. コマンドラインから生成する
4.4.8. インストールの実行
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 Twin に Armadillo を登録する
5.1.1. Armadillo の設置前に登録する場合
5.1.2. Armadillo の設置後に登録する場合
5.2. Armadillo を設置する
5.2.1. 設置場所
5.2.2. ケーブルの取り回し
5.2.3. サージ対策
5.2.4. Armadillo の状態を表すインジケータ
5.2.5. 個体識別情報の取得
5.2.6. 電源を切る
5.3. ABOSDE で開発したアプリケーションをアップデートする
5.3.1. アプリケーションのアップデート手順
5.4. Armadillo のソフトウェアをアップデートする
5.4.1. SWUイメージの作成
5.4.2. mkswu の desc ファイルを作成する
5.4.3. desc ファイルから SWU イメージを生成する
5.4.4. イメージのインストール
5.5. Armadillo Twin から複数の Armadillo をアップデートする
5.6. eMMC の寿命を確認する
5.6.1. eMMC について
5.6.2. eMMC 予備領域の確認方法
5.7. Armadillo の部品変更情報を知る
5.8. Armadillo を廃棄する
6. 応用編
6.1. persist_file について
6.2. コンテナ
6.2.1. Podman - コンテナ仮想化ソフトウェアとは
6.2.2. コンテナの基本的な操作
6.2.3. コンテナとコンテナに関連するデータを削除する
6.2.4. コンテナ起動設定ファイルを作成する
6.2.5. アットマークテクノが提供するイメージを使う
6.2.6. alpine のコンテナイメージをインストールする
6.2.7. コンテナのネットワークを扱う
6.2.8. コンテナ内にサーバを構築する
6.2.9. 画面表示を行う
6.2.10. パワーマネジメント機能を使う
6.2.11. コンテナからのpoweroff及びreboot
6.2.12. 異常検知
6.2.13. NPU を扱う
6.3. swupdateを使用してアップデートする
6.3.1. swupdate で可能なアップデート
6.3.2. コンテナのアップデート、ユーザーデータディレクトリや Armadillo Base OS の差分アップデート
6.3.3. Armadillo Base OS の一括アップデート
6.3.4. ブートローダーのアップデート
6.3.5. swupdate がエラーする場合の対処
6.4. mkswu の .desc ファイルを編集する
6.4.1. インストールバージョンを指定する
6.4.2. Armadillo へファイルを転送する
6.4.3. Armadillo 上で任意のコマンドを実行する
6.4.4. Armadillo にファイルを転送し、そのファイルをコマンド内で使用する
6.4.5. 動作中の環境でのコマンドの実行
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.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.8.5. 時刻設定
6.8.6. アプリケーション向けのインターフェース (Rest API)
6.8.7. カスタマイズ
6.9. ABOSDE から ABOS Web の機能を使用する
6.9.1. Armadillo の SWU バージョンを取得する
6.9.2. Armadillo のコンテナの情報を取得する
6.9.3. Armadillo のコンテナを起動・停止する
6.9.4. Armadillo のコンテナのログを取得する
6.9.5. Armadillo に SWU をインストールする
6.10. VPU や NPU を使用する
6.10.1. Armadillo へ書き込むためのライブラリイメージを作成する
6.10.2. Armadillo にライブラリイメージを書き込む
6.10.3. ライブラリイメージのバージョンを確認する
6.10.4. コンテナ内からライブラリを使用するための準備
6.11. マルチメディアデータを扱う
6.11.1. GStreamer - マルチメディアフレームワーク
6.11.2. GStreamer 実行用コンテナを作成する
6.11.3. GStreamer パイプラインの実行例
6.11.4. 動画を再生する
6.11.5. ストリーミングデータを再生する
6.11.6. USB カメラからの映像を表示する
6.11.7. USBカメラからの映像を録画する
6.11.8. Video Processing Unit(VPU)
6.12. デモアプリケーションを実行する
6.12.1. コンテナを作成する
6.12.2. デモアプリケーションランチャを起動する
6.12.3. mediaplayer
6.12.4. video recoder
6.12.5. led switch tester
6.12.6. rtc tester
6.12.7. object detection demo
6.12.8. pose estimation demo
6.12.9. image segmentation demo
6.12.10. super resolution demo
6.12.11. hand estimation demo
6.12.12. screw detection demo
6.13. ssh 経由で Armadillo Base OS にアクセスする
6.14. コマンドラインからネットワーク設定をする
6.14.1. 接続可能なネットワーク
6.14.2. IP アドレスの確認方法
6.14.3. ネットワークの設定方法
6.14.4. nmcli の基本的な使い方
6.14.5. 有線 LAN
6.15. ストレージの操作
6.15.1. ストレージ内にアクセスする
6.15.2. ストレージを安全に取り外す
6.15.3. ストレージのパーティション変更とフォーマット
6.16. ボタンやキーを扱う
6.16.1. SW1 の短押しと長押しの対応
6.16.2. USB キーボードの対応
6.16.3. Armadillo 起動時にのみボタンに反応する方法
6.17. 動作中の Armadillo の温度を測定する
6.17.1. 温度測定の重要性
6.17.2. atmark-thermal-profiler をインストールする
6.17.3. atmark-thermal-profiler を実行・停止する
6.17.4. atmark-thermal-profiler が出力するログファイルを確認する
6.17.5. 温度測定結果の分析
6.17.6. Armadillo Twin から Armadillo の温度を確認する
6.17.7. 温度センサーの仕様
6.18. Armadillo Base OS をアップデートする
6.19. ロールバック状態を確認する
6.20. Armadillo 起動時にコンテナの外でスクリプトを実行する
6.21. u-boot の環境変数の設定
6.21.1. u-boot の環境変数の変更を制限する
6.22. SDブートの活用
6.22.1. ブートディスクの作成
6.22.2. SDブートの実行
6.23. Armadilloのソフトウェアをビルドする
6.23.1. ブートローダーをビルドする
6.23.2. Linux カーネルをビルドする
6.23.3. Alpine Linux ルートファイルシステムをビルドする
6.24. SBOM の提供
6.24.1. SBOM について
6.24.2. SBOM の利点
6.24.3. ビルドしたルートファイルシステムの SBOM を作成する
6.24.4. SWU イメージと同時に SBOM を作成する
6.25. eMMC のデータリテンション
6.25.1. データリテンションの設定
6.25.2. より詳しくデータリテンションの統計情報を確認するには
6.25.3. 実装仕様に関する技術情報
6.26. Linuxカーネルがクラッシュしたときにメモリの状態を保存する
6.26.1. Kdumpを利用する準備
6.26.2. Kdumpの動作確認
6.26.3. vmcoreの確認
6.27. 動作ログ
6.27.1. 動作ログについて
6.27.2. 動作ログを取り出す
6.27.3. ログファイルのフォーマット
6.27.4. ログ用パーティションについて
6.27.5. /var/log/ 配下のログに関して
6.28. viエディタを使用する
6.28.1. viの起動
6.28.2. 文字の入力
6.28.3. カーソルの移動
6.28.4. 文字の削除
6.28.5. 保存と終了
6.29. オプション品
6.29.1. Armadillo-X2 オプションケース(金属製)
6.29.2. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート

図目次

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 Twin とは
2.9. Armadillo-X2の外観
2.10. インターフェースレイアウト (ケース内部)
2.11. ブロック図
3.1. GNOME端末の起動
3.2. GNOME端末のウィンドウ
3.3. ソフトウェアをアップデートする
3.4. VSCode を起動する
3.5. VSCode に開発用エクステンションをインストールする
3.6. Armadillo-X2を初期化する接続
3.7. ジャンパピンの位置
3.8. initial_setup.swu を作成する
3.9. initial_setup.swu 初回生成時の各種設定
3.10. ABOSにアクセスするための接続
3.11. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.12. ABOSDE に表示されている Armadillo を更新する
3.13. ABOSDE を使用して ABOS Web を開く
3.14. パスワード登録画面
3.15. パスワード登録完了画面
3.16. ログイン画面
3.17. トップページ
3.18. SWU インストール
3.19. SWU インストールに成功した画面
3.20. プロジェクトを作成する
3.21. プロジェクト名を入力する
3.22. VSCode で初期設定を行う
3.23. VSCode のターミナル
3.24. SSH 用の鍵を生成する
3.25. VSCode でコンテナイメージの作成を行う
3.26. コンテナイメージの作成完了
3.27. ABOSDE で Armadillo に SWU をインストール
3.28. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.29. ssh_config を編集する
3.30. Armadillo 上でアプリケーションを実行する
3.31. 実行時に表示されるメッセージ
3.32. アプリケーションを終了する
3.33. Armadillo 上のコンテナイメージを削除する
3.34. minicomの設定の起動
3.35. minicomの設定
3.36. minicomのシリアルポートの設定
3.37. 例. シリアルポート接続時のログ
3.38. minicomのシリアルポートのパラメータの設定
3.39. minicomシリアルポートの設定値
3.40. シリアルコンソールを使用する配線例
3.41. COM7が競合している状態
3.42. Bluetoothに割当のCOMを変更した状態
3.43. minicom起動方法
3.44. minicom終了確認
3.45. アプリケーション開発の流れ
3.46. persist_file コマンド実行例
3.47. chattr によって copy-on-write を無効化する例
3.48. Armadillo-X2のIC1とヒートシンク固定穴の位置
3.49. Armadillo-X2の接続例
3.50. Armadillo-X2の拡張インターフェース
3.51. Armadillo-X2の拡張ボード例
3.52. スイッチ、LED、リレー接続例
3.53. DC/DCコンバータ回路(VDD_5V入力、3.3V 1.5A出力)例
3.54. 1.8V ←→ 3.3V 双方向レベル変換回路の例
3.55. 電源回路の構成
3.56. 電源シーケンス
3.57. リセット回路の構成
3.58. リセットシーケンス
3.59. ONOFF回路の構成
3.60. 基板形状図
3.61. at-dtweb の起動開始
3.62. ボード選択画面
3.63. Linux カーネルディレクトリ選択画面
3.64. at-dtweb 起動画面
3.65. UART3(RXD/TXD) のドラッグ
3.66. CON11 8/10 ピンへのドロップ
3.67. 信号名の確認
3.68. プロパティの設定
3.69. プロパティの保存
3.70. 全ての機能の削除
3.71. I2C5(SCL/SDA) の削除
3.72. DTS/DTB の生成
3.73. dtbo/desc の生成完了
3.74. /boot/overlays.txt の変更例
3.75. DT overlay を作成する例
3.76. Armadillo-X2のインターフェース
3.77. CON1 microSDスロット 取り扱い上の注意事項
3.78. CON3 LAN LED配置
3.79. USB シリアルデバイスを扱うためのコンテナ作成例
3.80. setserial コマンドによるUSBシリアルデバイス設定の確認例
3.81. USB カメラを扱うためのコンテナ作成例
3.82. USB メモリをホスト OS 側でマウントする例
3.83. ホスト OS 側でマウント済みの USB メモリを扱うためのコンテナ作成例
3.84. USB メモリに保存されているデータの確認例
3.85. USB メモリをマウントするためのコンテナ作成例
3.86. コンテナ内から USB メモリをマウントする例
3.87. シリアルインターフェースを扱うためのコンテナ作成例
3.88. setserial コマンドによるシリアルインターフェイス設定の確認例
3.89. 音声出力を行うためのコンテナ作成例
3.90. alsa-utils による音声出力を行う例
3.91. CON10 接続可能なフレキシブルフラットケーブルの形状
3.92. GPIO を扱うためのコンテナ作成例
3.93. コンテナ内からコマンドで GPIO を操作する例
3.94. gpiodetect コマンドの実行
3.95. gpioinfo コマンドの実行
3.96. I2C を扱うためのコンテナ作成例
3.97. i2cdetect コマンドによる確認例
3.98. SPI を扱うためのコンテナ作成例
3.99. spi-config コマンドによる確認例
3.100. CAN を扱うためのコンテナ作成例
3.101. CAN の設定例
3.102. PWM を扱うためのコンテナ作成例
3.103. PWM の動作設定例
3.104. RTC を扱うためのコンテナ作成例
3.105. hwclock コマンドによるRTCの時刻表示と設定例
3.106. ACアダプタの極性マーク
3.107. ユーザースイッチのイベントを取得するためのコンテナ作成例
3.108. evtest コマンドによる確認例
3.109. LED を扱うためのコンテナ作成例
3.110. LED の点灯/消灯の実行例
3.111. LED の状態を表示する
3.112. 対応している LED トリガを表示
3.113. LEDのトリガに heartbeat を指定する
3.114. Bluetooth を扱うコンテナの作成例
3.115. Bluetooth を起動する実行例
3.116. bluetoothctl コマンドによるスキャンとペアリングの例
3.117. Wi-SUN デバイスを扱うためのコンテナ作成例
3.118. EnOcean デバイスを扱うためのコンテナ作成例
3.119. 開発者が開発するもの、開発しなくていいもの
3.120. 現在の面の確認方法
3.121. add_args を用いてコンテナに情報を渡すための書き方
3.122. add_args を用いてコンテナに情報を渡す例
3.123. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.124. ABOSDE を使用して ABOS Web を開く
3.125. ABOSDE に表示されている Armadillo を更新する
3.126. パスワード登録画面
3.127. パスワード登録完了画面
3.128. ログイン画面
3.129. トップページ
3.130. ログイン画面
3.131. WWAN設定画面
3.132. WLAN クライアント設定画面
3.133. WLAN アクセスポイント設定画面
3.134. 現在の接続情報画面
3.135. LAN 接続設定で固定 IP アドレスに設定した画面
3.136. eth0 に対する DHCP サーバー設定
3.137. LTE を宛先インターフェースに指定した設定
3.138. LTE からの受信パケットに対するポートフォワーディング設定
3.139. VPN 設定
3.140. ABOS Web のカスタマイズ設定
3.141. メニュー変更画面 (一部)
3.142. chronyd のコンフィグの変更例
3.143. 参照する開発手順の章を選択する流れ
3.144. Flutter アプリケーションの例
3.145. Flutter アプリケーション開発の流れ
3.146. Flutter Demo アプリケーションの画面
3.147. GUI アプリケーションの画面
3.148. Signage アプリケーションの画面
3.149. Factory Signage アプリケーションの画面
3.150. GUI アプリケーションのプロジェクトを作成する
3.151. プロジェクト名を入力する
3.152. 初期設定を行う
3.153. VSCode で初期設定を行う
3.154. VSCode のターミナル
3.155. SSH 用の鍵を生成する
3.156. VSCode でコンテナイメージの作成を行う
3.157. コンテナイメージの作成完了
3.158. コンテナ内のファイル一覧を表示するタブ
3.159. コンテナ内のファイル一覧の例
3.160. resources ディレクトリ
3.161. コンテナ内のファイル一覧を再表示するボタン
3.162. container/resources 下にファイルを追加するボタン
3.163. ファイル名を入力
3.164. 追加されたファイルの表示
3.165. container/resources 下にフォルダーを追加するボタン
3.166. container/resources 下にあるファイルを開くボタン
3.167. container/resources 下にあるファイルを削除するボタン
3.168. コンテナ内のファイルを container/resources 下に保存するボタン
3.169. 編集前のファイルを示すマーク
3.170. 編集後のファイルを示すマーク
3.171. コンテナ内にコピーされないことを示すマーク
3.172. my_project へ移動して VSCode を起動する。
3.173. ATDE 上で Debug モードでビルドしたアプリケーションを実行する
3.174. 起動したサンプルアプリケーション
3.175. ATDE 上で Release モードでビルドしたアプリケーションを実行する
3.176. dart_periphery パッケージをインストールする例
3.177. video_player パッケージをインストールする例
3.178. dart_periphery パッケージをアンインストールする例
3.179. BLE パッケージをインストールする
3.180. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.181. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.182. ABOSDE に表示されている Armadillo を更新する
3.183. ssh_config を編集する
3.184. Armadillo 上で Debug モードでビルドしたアプリケーションを実行する
3.185. 実行時に表示されるメッセージ
3.186. アプリケーションを終了する
3.187. Armadillo 上で Release モードでビルドしたアプリケーションを実行する
3.188. ホットリロード機能を使う
3.189. Flutter エクステンションをインストールする
3.190. Flutter Sdk Paths の設定画面を表示する
3.191. Flutter Sdk Paths を設定する
3.192. デバッグを開始する
3.193. デバッガのアイコン
3.194. SWU イメージを作成する
3.195. CUI アプリケーション開発の流れ
3.196. プロジェクトを作成する
3.197. プロジェクト名を入力する
3.198. VSCode で my_project を起動する
3.199. 初期設定を行う
3.200. VSCode で初期設定を行う
3.201. VSCode のターミナル
3.202. SSH 用の鍵を生成する
3.203. VSCode でコンテナイメージの作成を行う
3.204. コンテナイメージの作成完了
3.205. BLE パッケージをインストールする
3.206. コンテナ内のファイル一覧を表示するタブ
3.207. コンテナ内のファイル一覧の例
3.208. resources ディレクトリ
3.209. コンテナ内のファイル一覧を再表示するボタン
3.210. container/resources 下にファイルを追加するボタン
3.211. ファイル名を入力
3.212. 追加されたファイルの表示
3.213. container/resources 下にフォルダーを追加するボタン
3.214. container/resources 下にあるファイルを開くボタン
3.215. container/resources 下にあるファイルを削除するボタン
3.216. コンテナ内のファイルを container/resources 下に保存するボタン
3.217. 編集前のファイルを示すマーク
3.218. 編集後のファイルを示すマーク
3.219. コンテナ内にコピーされないことを示すマーク
3.220. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.221. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.222. ABOSDE に表示されている Armadillo を更新する
3.223. ssh_config を編集する
3.224. Armadillo 上でアプリケーションを実行する
3.225. 実行時に表示されるメッセージ
3.226. アプリケーションを終了する
3.227. リリース版をビルドする
3.228. C 言語によるアプリケーション開発の流れ
3.229. プロジェクトを作成する
3.230. プロジェクト名を入力する
3.231. VSCode で my_project を起動する
3.232. 初期設定を行う
3.233. VSCode で初期設定を行う
3.234. VSCode のターミナル
3.235. SSH 用の鍵を生成する
3.236. C 言語による開発における packages.txt の書き方
3.237. VSCode でコンテナイメージの作成を行う
3.238. コンテナイメージの作成完了
3.239. コンテナ内のファイル一覧を表示するタブ
3.240. コンテナ内のファイル一覧の例
3.241. resources ディレクトリ
3.242. コンテナ内のファイル一覧を再表示するボタン
3.243. container/resources 下にファイルを追加するボタン
3.244. ファイル名を入力
3.245. 追加されたファイルの表示
3.246. container/resources 下にフォルダーを追加するボタン
3.247. container/resources 下にあるファイルを開くボタン
3.248. container/resources 下にあるファイルを削除するボタン
3.249. コンテナ内のファイルを container/resources 下に保存するボタン
3.250. 編集前のファイルを示すマーク
3.251. 編集後のファイルを示すマーク
3.252. コンテナ内にコピーされないことを示すマーク
3.253. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.254. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.255. ABOSDE に表示されている Armadillo を更新する
3.256. ssh_config を編集する
3.257. Armadillo 上でアプリケーションを実行する
3.258. 実行時に表示されるメッセージ
3.259. アプリケーションを終了する
3.260. リリース版をビルドする
3.261. メモリの空き容量の確認方法
4.1. Armadillo 量産時の概略図
4.2. BTO サービスで対応する範囲
4.3. 任意のファイルパスを/etc/swupdate_preserve_filesに追記する
4.4. Armadillo Base OSをアップデートする
4.5. パスワードを変更する
4.6. make-installer.swu を作成する
4.7. 対象製品を選択する
4.8. make-installer.swu 生成時のログ
4.9. make-installer.swu インストール時のログ
4.10. 開発完了後のシステムをインストールディスクイメージにする
4.11. ip_config.txtの内容
4.12. IPアドレスの確認
4.13. allocated_ips.csvの内容
4.14. インストールログを保存する
4.15. インストールログの中身
4.16. Armadilloに書き込みたいソフトウェアをATDEに配置
4.17. descファイルの記述例
4.18. オプションケース(金属製) 放熱シート貼付
4.19. オプションケース(金属製) ケース(下)ねじ止め
4.20. オプションケース(金属製) ケース(上)ねじ止め
4.21. ケース(上)を閉じる際の注意
5.1. 個体番号の取得方法(device-info)
5.2. device-infoのインストール方法
5.3. 個体番号の取得方法(get-board-info)
5.4. 個体番号の環境変数をconfファイルに追記
5.5. コンテナ上で個体番号を確認する方法
5.6. MAC アドレスの確認方法
5.7. 出荷時のEthernet MAC アドレスの確認方法
5.8. VScode を起動
5.9. desc ファイルから Armadillo へ SWU イメージをインストールする流れ
5.10. コンテナイメージアーカイブ作成例
5.11. sample_container_update.desc の内容
5.12. sample_container_update.desc の内容
5.13. 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. add_armadillo_envで設定した環境変数の確認方法
6.39. 上記の例でエラーを発生させた際の起動ログ
6.40. インストール用のプロジェクトを作成する
6.41. at-debian-image のコンテナイメージをインストールする SWU ファイルを作成する
6.42. Docker ファイルによるイメージのビルドの実行例
6.43. ビルド済みイメージを load する実行例
6.44. alpine のコンテナイメージをインストールする SWU ファイルを作成する
6.45. コンテナの IP アドレス確認例
6.46. ip コマンドを用いたコンテナの IP アドレス確認例
6.47. ユーザ定義のネットワーク作成例
6.48. IP アドレス固定のコンテナ作成例
6.49. コンテナの IP アドレス確認例
6.50. コンテナに Apache をインストールする例
6.51. コンテナに lighttpd をインストールする例
6.52. コンテナに vsftpd をインストールする例
6.53. ユーザを追加する例
6.54. 設定ファイルの編集例
6.55. vsftpd の起動例
6.56. コンテナに samba をインストールする例
6.57. ユーザを追加する例
6.58. samba の起動例
6.59. コンテナに sqlite をインストールする例
6.60. sqlite の実行例
6.61. Wayland を扱うためのコンテナ作成例
6.62. コンテナ内で weston を起動したログの出力とアプリケーションの実行例
6.63. weston.ini
6.64. weston.ini をボリュームで渡す実行例
6.65. X Window System を扱うためのコンテナ起動例
6.66. コンテナ内で X Window System を起動する実行例
6.67. フレームバッファに直接描画するためのコンテナ作成例
6.68. フレームバッファに直接描画する実行例
6.69. タッチパネルを扱うためのコンテナ作成例
6.70. VPU を扱うためのコンテナ作成例
6.71. weston と GStreamer を扱うためのコンテナ作成例
6.72. GStreamer によるデコード実行例
6.73. GStreamer によるエンコード実行例
6.74. パワーマネジメント機能を使うためのコンテナ作成例
6.75. サスペンド状態にする実行例
6.76. サスペンド状態にする実行例、rtcで起こす
6.77. コンテナからshutdownを行う
6.78. ソフトフェアウォッチドッグタイマーを使うためのコンテナ作成例
6.79. コンテナ内からソフトウェアウォッチドッグタイマーを起動する実行例
6.80. ソフトウェアウォッチドッグタイマーをリセットする実行例
6.81. ソフトウェアウォッチドッグタイマーを停止する実行例
6.82. NPU を扱うためのコンテナ作成例
6.83. ONNX Runtime をインストールする例
6.84. python から ONNX Runtime を使う例
6.85. TensorFlow Lite をインストールする例
6.86. python から TensorFlow Lite を使う例
6.87. tflite-runtime のバージョンを確認する
6.88. tflite-runtime のバージョンを下げる
6.89. at-debian-image のバージョンを確認する
6.90. Arm NN をインストールする例
6.91. python から Arm NN を使う例
6.92. Armadillo Base OS を B 面にコピー
6.93. desc ファイルに記述したswudesc_* コマンドを実行
6.94. アップデート完了後の挙動
6.95. B 面への切り替え
6.96. Armadillo Base OS とファイルを B 面にコピー
6.97. desc ファイルに記述したswudesc_* コマンドを実行
6.98. アップデート完了後の挙動
6.99. B 面への切り替え(component=base_os)
6.100. コンテナ管理
6.101. SWU インストール
6.102. SWU 管理対象ソフトウェアコンポーネントの一覧表示
6.103. ネットワークタイムサーバーと同期されている場合の状況確認画面
6.104. ネットワークタイムサーバーと同期されていない場合の状況確認画面
6.105. ネットワークタイムサーバーの設定項目
6.106. タイムゾーンの設定項目
6.107. 設定管理の Rest API トークン一覧表示
6.108. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
6.109. ABOSDE の ABOS Web パスワード入力画面
6.110. ABOSDE で Armadillo の SWU バージョンを取得
6.111. ABOSDE で Armadillo のコンテナ情報を取得
6.112. ABOSDE で Armadillo のコンテナを起動
6.113. ABOSDE で Armadillo のコンテナを停止
6.114. ABOSDE で Armadillo のコンテナのログを取得
6.115. ABOSDE で Armadillo に SWU をインストール
6.116. ビルドツール実行前の準備
6.117. ビルドツールの実行
6.118. ライブラリイメージ作成ツールの実行
6.119. ライブラリイメージ作成ツールの実行 (VPUが不要の場合)
6.120. ライブラリイメージを書き込む
6.121. ライブラリパーティションのマウント
6.122. ライブラリバージョンの確認
6.123. imx-mm へのシンボリックリンクを作成する
6.124. GStreamer を実行するためのコンテナ作成例
6.125. gstreamer のインストール
6.126. weston の起動
6.127. pulseaudio の起動
6.128. GStreamer の実行例
6.129. H.264/AVC 動画の再生(音声あり)
6.130. H.264/AVC 動画の再生(音声なし)
6.131. VP8 動画の再生(音声あり)
6.132. VP8 動画の再生(音声なし)
6.133. VP9 動画の再生(音声あり)
6.134. VP9 動画の再生(音声なし)
6.135. HTTP ストリーミングの再生(音声あり)
6.136. HTTP ストリーミングの再生(音声なし)
6.137. RTSP ストリーミングの再生(音声あり)
6.138. RTSP ストリーミングの再生(音声なし)
6.139. USB カメラからの映像表示(音声あり)
6.140. USB カメラからの映像表示(音声なし)
6.141. USB カメラからの映像をH.264で録画(音声あり)
6.142. USB カメラからの映像をH.264で録画(音声なし)
6.143. USB カメラからの映像を表示しながらH.264で録画(音声あり)
6.144. USB カメラからの映像を表示しながらH.264で録画(音声なし)
6.145. デモアプリケーションを実行するためのコンテナ作成例
6.146. デモアプリケーションランチャの起動
6.147. パッケージのバージョンを確認する
6.148. pulseaudio のインストールと起動
6.149. pillow のインストールと起動
6.150. ビデオデバイスの変更
6.151. ビデオデバイスの変更
6.152. ビデオデバイスの変更
6.153. ビデオデバイスの変更
6.154. ビデオデバイスの変更
6.155. 各種コンフィグの変更
6.156. IP アドレスの確認
6.157. IP アドレス(eth0)の確認
6.158. nmcli のコマンド書式
6.159. コネクションの一覧
6.160. コネクションの有効化
6.161. コネクションの無効化
6.162. コネクションの作成
6.163. コネクションファイルの永続化
6.164. コネクションの削除
6.165. コネクションファイル削除時の永続化
6.166. 固定 IP アドレス設定
6.167. DNS サーバーの指定
6.168. DHCP の設定
6.169. コネクションの修正の反映
6.170. デバイスの一覧
6.171. デバイスの接続
6.172. デバイスの切断
6.173. 有線 LAN の PING 確認
6.174. mount コマンド書式
6.175. ストレージのマウント
6.176. ストレージのアンマウント
6.177. fdiskコマンドによるパーティション変更
6.178. EXT4 ファイルシステムの構築
6.179. buttond で SW1 を扱う
6.180. buttond で USB キーボードのイベントを確認する
6.181. buttond で USB キーボードを扱う
6.182. buttond で SW1 を Armadillo 起動時のみ受け付ける設定例
6.183. atmark-thermal-profiler をインストールする
6.184. atmark-thermal-profiler を実行する
6.185. atmark-thermal-profiler を停止する
6.186. ログファイルの内容例
6.187. サーマルシャットダウン温度の確認(Armadillo-IoT ゲートウェイ G4を例に)
6.188. Armadillo-IoT ゲートウェイ G4で取得した温度のグラフ
6.189. abos-ctrl status の例
6.190. /var/at-log/atlog の内容の例
6.191. local サービスの実行例
6.192. uboot_env.d のコンフィグファイルの例
6.193. 自動マウントされたmicroSDカードのアンマウント
6.194. Linux カーネルを SWU でインストールする方法
6.195. Linux カーネルを build_rootfs でインストールする方法
6.196. descファイルの追加例
6.197. データリテンション開始トリガーの方式
6.198. データリテンションの開始トリガーの動作例
6.199. 動作ログのフォーマット
6.200. viの起動
6.201. 入力モードに移行するコマンドの説明
6.202. 文字を削除するコマンドの説明
6.203. Armadillo-X2 オプションケース(金属製)
6.204. オプションケース(金属製)の加工痕例
6.205. ケース(上)形状図
6.206. ケース(下)形状図
6.207. ケースを固定する際の注意
6.208. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート
6.209. ケースにVESA規格固定用プレートを取り付け
6.210. モニターにVESA規格固定用プレートを取り付け
6.211. 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. CON11 搭載コネクタと対向コネクタ例
3.6. CON11 信号配列
3.7. 各インターフェースへの電流供給例
3.8. 絶対最大定格
3.9. 推奨動作条件
3.10. 電源出力仕様
3.11. 拡張入出力ピンの電気的仕様(OVDD=VDD_3V3, VDD_1V8)
3.12. 拡張入出力ピンの電気的仕様(OVDD=VEXT_3V3)
3.13. オン状態、オフ状態を切り替えする際のLowレベル保持時間
3.14. Armadillo-X2 インターフェース一覧
3.15. CON1 信号配列
3.16. CON3 信号配列 (10BASE-T/100BASE-TX)
3.17. CON3 信号配列 (1000BASE-T)
3.18. CON3 LAN LEDの動作
3.19. CON4 信号配列
3.20. CON4 信号配列
3.21. CON6 信号配列
3.22. CON8 信号配列
3.23. 動作確認済み MIPI CSI-2 カメラデバイス一覧
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. 用意する favicon 画像
3.40. ABOSDEの対応言語
3.41. 組み合わせて使うパッケージ
4.1. インストールディスクとSWUpdateによるソフトウェア書き込みの比較
4.2. インストール中に実行される関数
5.1. EXT_CSD_PRE_EOL_INFO の値の意味
6.1. add_hotplugsオプションに指定できる主要な文字列
6.2. add_armadillo_envで追加される環境変数
6.3. 対応するパワーマネジメント状態
6.4. 対応するパワーマネジメント状態
6.5. ライブラリと tflite-runtime のバージョンと NPU を用いたアプリケーションの動作の関係
6.6. 2.6.0-1 未満の TensorFlow Lite 関連 deb パッケージ
6.7. swudesc_* コマンドの種類
6.8. アップデート完了後の挙動の種類
6.9. swudesc_* コマンドの種類
6.10. アップデート完了後の挙動の種類
6.11. ライブラリイメージ書き込み済みの製品
6.12. H.264/AVC デコーダー仕様
6.13. VP8 デコーダー仕様
6.14. VP9 デコーダー仕様
6.15. H.264/AVC エンコーダー仕様
6.16. デモアプリケーション動作のために必要なバージョン
6.17. ネジ検出デモのパラメータの詳細
6.18. ネットワークとネットワークデバイス
6.19. 固定 IP アドレス設定例
6.20. thermal_profile.csvの各列の説明
6.21. rollback-status の出力と意味
6.22. rollback-status 追加情報の出力と意味
6.23. u-bootの主要な環境変数
6.24. microSDカードのパーティション構成
6.25. build-rootfsのファイル説明
6.26. descファイルの設定項目
6.27. データリテンションの挙動
6.28. Armadillo のデータリテンションの設定
6.29. /var/log/ 配下のログ
6.30. 入力モードに移行するコマンド
6.31. カーソルの移動コマンド
6.32. 文字の削除コマンド
6.33. 保存・終了コマンド
6.34. Armadillo-X2関連のオプション品
6.35. Armadillo-X2 オプションケースセット(金属製)について
6.36. Armadillo-X2 オプションケース(金属製)の仕様
6.37. Armadillo-X2、G4 ケースモデル VESA規格固定用プレートについて
6.38. Armadillo-X2、G4 ケースモデル VESA規格固定用プレートの仕様