Armadillo-640
製品マニュアル

Armadillo Base OS 対応


目次

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.2.9. 商標について
1.2.10. 無線モジュールの安全規制について
1.3. 謝辞
2. 製品概要
2.1. 製品の特長
2.1.1. Armadilloとは
2.1.2. Armadillo-640とは
2.1.3. Armadillo Base OSとは
2.1.4. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨
2.1.5. Armadillo Twin とは
2.2. 製品ラインアップ
2.2.1. Armadillo-640ベーシックモデル開発セット
2.2.2. Armadillo-640量産ボード
2.3. 仕様
2.4. インターフェースレイアウト
2.5. ブロック図
2.6. 使用可能なストレージデバイス
2.7. ストレージデバイスのパーティション構成
2.8. ソフトウェアのライセンス
3. 開発編
3.1. 開発の準備
3.1.1. 準備するもの
3.1.2. 仮想環境のセットアップ
3.1.3. VS Codeのセットアップ
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. 拡張ボードの設計
3.4.7. 電気的仕様
3.4.8. 形状図
3.4.9. オプション品
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. UART を使用する
3.6.4. USB デバイスを使用する
3.6.5. WLAN を使用する
3.6.6. BT デバイスを使用する
3.6.7. Thread デバイスを扱う
3.6.8. 音声出力を行う
3.6.9. GPIO を制御する
3.6.10. I2C デバイスを使用する
3.6.11. SPI デバイスを使用する
3.6.12. CAN デバイスを使用する
3.6.13. PWM を使用する
3.6.14. JTAG デバッガを使用する
3.6.15. LCD を使用する
3.6.16. 電源を入力する
3.6.17. 起動デバイスを変更する
3.6.18. ユーザースイッチを使用する
3.6.19. LED を使用する
3.6.20. RTC を使用する
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.7.6. Armadillo Base OS のデフォルトで開放しているポート
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. CUI アプリケーションの開発
3.13.1. CUI アプリケーション開発の流れ
3.13.2. ATDE 上でのセットアップ
3.13.3. アプリケーション開発
3.13.4. コンテナのディストリビューション
3.13.5. Armadillo に転送するディレクトリ及びファイル
3.13.6. コンテナ内のファイル一覧表示
3.13.7. Armadillo 上でのセットアップ
3.13.8. SBOM 生成に関する設定
3.13.9. リリース版のビルド
3.13.10. 製品への書き込み
3.13.11. Armadillo 上のコンテナイメージの削除
3.14. C 言語によるアプリケーションの開発
3.14.1. C 言語によるアプリケーション開発の流れ
3.14.2. ATDE 上でのセットアップ
3.14.3. アプリケーション開発
3.14.4. コンテナのディストリビューション
3.14.5. コンテナ内のファイル一覧表示
3.14.6. Armadillo に転送するディレクトリ及びファイル
3.14.7. Armadillo 上でのセットアップ
3.14.8. SBOM 生成に関する設定
3.14.9. リリース版のビルド
3.14.10. 製品への書き込み
3.14.11. Armadillo 上のコンテナイメージの削除
3.15. SBOM 生成に関わる設定を行う
3.15.1. SBOM 生成に必要なファイルを確認する
3.16. 生成した SBOM をスキャンする
3.16.1. OSV-Scanner のインストール
3.16.2. OSV-Scanner でソフトウェアの脆弱性を検査する
3.17. システムのテストを行う
3.17.1. ランニングテスト
3.17.2. 異常系における挙動のテスト
3.18. ユーザー設定とユーザーデータを一括削除する
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. VS Code を使用して生成する
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. オプションの組み付け
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.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. SWUpdate の署名鍵と証明書の更新
6.8.1. 署名鍵と証明書の追加
6.8.2. 署名鍵と証明書の削除
6.9. Web UI から Armadillo をセットアップする (ABOS Web)
6.9.1. ABOS Web ではできないこと
6.9.2. ABOS Web の設定機能一覧と設定手順
6.9.3. コンテナ管理
6.9.4. SWUインストール
6.9.5. 時刻設定
6.9.6. アプリケーション向けのインターフェース (Rest API)
6.9.7. カスタマイズ
6.9.8. ユーザー設定とユーザーデータの削除
6.9.9. ABOS Web を停止する
6.9.10. ABOS Web を起動する
6.10. ABOSDE から ABOS Web の機能を使用する
6.10.1. Armadillo の SWU バージョンを取得する
6.10.2. Armadillo のコンテナの情報を取得する
6.10.3. Armadillo のコンテナを起動・停止する
6.10.4. Armadillo のコンテナのログを取得する
6.10.5. Armadillo に SWU をインストールする
6.11. ssh 経由で Armadillo Base OS にアクセスする
6.12. コマンドラインからネットワーク設定をする
6.12.1. 接続可能なネットワーク
6.12.2. IP アドレスの確認方法
6.12.3. ネットワークの設定方法
6.12.4. nmcli の基本的な使い方
6.12.5. 有線 LAN
6.12.6. ファイアウォールの設定方法
6.13. ストレージの操作
6.13.1. ストレージ内にアクセスする
6.13.2. ストレージを安全に取り外す
6.13.3. ストレージのパーティション変更とフォーマット
6.14. ボタンやキーを扱う
6.14.1. SW1 の短押しと長押しの対応
6.14.2. USB キーボードの対応
6.14.3. Armadillo 起動時にのみボタンに反応する方法
6.15. 動作中の Armadillo の温度を測定する
6.15.1. 温度測定の重要性
6.15.2. atmark-thermal-profiler をインストールする
6.15.3. atmark-thermal-profiler を実行・停止する
6.15.4. atmark-thermal-profiler が出力するログファイルを確認する
6.15.5. 温度測定結果の分析
6.15.6. Armadillo Twin から Armadillo の温度を確認する
6.15.7. 温度センサーの仕様
6.16. Armadillo Base OS をアップデートする
6.17. ロールバック状態を確認する
6.18. Armadillo 起動時にコンテナの外でスクリプトを実行する
6.19. u-boot の環境変数の設定
6.19.1. u-boot の環境変数の変更を制限する
6.20. SDブートの活用
6.20.1. ブートディスクの作成
6.20.2. SDブートの実行
6.21. Armadilloのソフトウェアをビルドする
6.21.1. ブートローダーをビルドする
6.21.2. Linux カーネルをビルドする
6.21.3. Alpine Linux ルートファイルシステムをビルドする
6.22. SBOM の提供
6.22.1. SBOM について
6.22.2. SBOM の利点
6.22.3. ビルドしたルートファイルシステムの SBOM を作成する
6.22.4. SWU イメージと同時に SBOM を作成する
6.23. eMMC の GPP(General Purpose Partition) を利用する
6.23.1. squashfs イメージを作成する
6.23.2. squashfs イメージを書き込む
6.23.3. GPP への書き込みを制限する
6.23.4. 起動時に squashfs イメージをマウントされるようにする
6.24. 動作ログ
6.24.1. 動作ログについて
6.24.2. 動作ログを取り出す
6.24.3. ログファイルのフォーマット
6.24.4. ログ用パーティションについて
6.24.5. /var/log/ 配下のログに関して
6.25. シリアル通信ソフトウェア(minicom)のセットアップ
6.26. viエディタを使用する
6.26.1. viの起動
6.26.2. 文字の入力
6.26.3. カーソルの移動
6.26.4. 文字の削除
6.26.5. 保存と終了
6.27. eFuse を変更する
6.27.1. ブートモードとジャンパーピン
6.27.2. eFuse の書き換え
6.27.3. Boot From Fusesモード
6.28. オプション品
6.28.1. USBシリアル変換アダプタ(Armadillo-640用)
6.28.2. Armadillo-600シリーズ オプションケース(樹脂製)
6.28.3. Armadillo-600シリーズ オプションケース(金属製)
6.28.4. LCDオプションセット(7インチタッチパネルWVGA液晶)
6.28.5. Armadillo-600シリーズ RTCオプションモジュール
6.28.6. Armadillo-600シリーズ WLANコンボ、BT/THオプションモジュール
6.28.7. 無線LAN用 外付けアンテナセット 08
6.28.8. 外付けアンテナ固定金具 00

図目次

1.1. 製品化までのロードマップ
1.2. WLAN+BTコンボモジュール:Sterling LWB5+ 認証マーク
1.3. EYSKBNZWB 認証マーク
2.1. Armadillo-640とは
2.2. Armadillo Base OSとは
2.3. コンテナによるアプリケーションの運用
2.4. ロールバックの仕組み
2.5. Armadillo Twin とは
2.6. インターフェースレイアウト
2.7. Armadillo-640ブロック図
3.1. GNOME端末の起動
3.2. GNOME端末のウィンドウ
3.3. ソフトウェアをアップデートする
3.4. ATDE にデバイスを接続する
3.5. 共有フォルダー設定を開く
3.6. 共有フォルダー設定
3.7. 共有フォルダーの追加
3.8. 「ファイル」に表示される共有フォルダー
3.9. VS Code を起動する
3.10. VS Code に開発用エクステンションをインストールする
3.11. Armadillo-640を初期化する接続
3.12. ジャンパピンの位置
3.13. initial_setup.swu を作成する
3.14. initial_setup.swu 初回生成時の各種設定
3.15. ABOSにアクセスするための接続
3.16. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.17. ABOSDE に表示されている Armadillo を更新する
3.18. ABOSDE を使用して ABOS Web を開く
3.19. パスワード登録画面
3.20. パスワード登録完了画面
3.21. ログイン画面
3.22. トップページ
3.23. SWU インストール
3.24. SWU インストールに成功した画面
3.25. プロジェクトを作成する
3.26. プロジェクト名を入力する
3.27. VS Code で初期設定を行う
3.28. VS Code のターミナル
3.29. SSH 用の鍵を生成する
3.30. VS Code でコンテナイメージの作成を行う
3.31. コンテナイメージの作成完了
3.32. ABOSDE で Armadillo に SWU をインストール
3.33. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.34. ssh_config を編集する
3.35. Armadillo 上でアプリケーションを実行する
3.36. 実行時に表示されるメッセージ
3.37. アプリケーションを終了する
3.38. Armadillo 上のコンテナイメージを削除する
3.39. スライドスイッチの設定
3.40. CON9-USBシリアル変換アダプタ接続図
3.41. シリアルコンソールを使用する配線例
3.42. COM7が競合している状態
3.43. Bluetoothに割当のCOMを変更した状態
3.44. minicom起動方法
3.45. minicom終了確認
3.46. アプリケーション開発の流れ
3.47. persist_file コマンド実行例
3.48. chattr によって copy-on-write を無効化する例
3.49. Armadillo-640の接続例
3.50. 電源回路の構成
3.51. 電源シーケンス
3.52. 基板形状および固定穴寸法
3.53. コネクタ中心寸法(A面側)
3.54. コネクタ中心寸法(B面側)
3.55. コネクタ穴寸法
3.56. at-dtweb の起動開始
3.57. ボード選択画面
3.58. Linux カーネルディレクトリ選択画面
3.59. at-dtweb 起動画面
3.60. UART1(RXD/TXD)のドラッグ
3.61. CON9 3/5ピンへのドロップ
3.62. 信号名の確認
3.63. プロパティの設定
3.64. プロパティの保存
3.65. 全ての機能の削除
3.66. UART1(RXD/TXD)の削除
3.67. DTS/DTB の生成
3.68. dtbo/desc の生成完了
3.69. /boot/overlays.txt の変更例
3.70. Armadillo-640のインターフェース
3.71. カバーのロックを解除する
3.72. カバーを開ける
3.73. microSDカードの挿抜
3.74. カードマークの確認
3.75. カバーを閉める
3.76. カバーをロックする
3.77. シリアルインターフェースを扱うためのコンテナ作成例
3.78. setserial コマンドによるシリアルインターフェイス設定の確認例
3.79. USB OTG2の接続先の変更
3.80. USBホストインターフェースの電源制御
3.81. USB シリアルデバイスを扱うためのコンテナ作成例
3.82. setserial コマンドによるUSBシリアルデバイス設定の確認例
3.83. USB カメラを扱うためのコンテナ作成例
3.84. USB メモリをホスト OS 側でマウントする例
3.85. ホスト OS 側でマウント済みの USB メモリを扱うためのコンテナ作成例
3.86. USB メモリに保存されているデータの確認例
3.87. USB メモリをマウントするためのコンテナ作成例
3.88. コンテナ内から USB メモリをマウントする例
3.89. コンソールをCON3に移動(WLAN)
3.90. DT overlayの設定(WLAN)
3.91. コンソールをCON3に移動(BT/TH)
3.92. DT overlayの設定(BT/TH)
3.93. BT/TH オプションモジュールの BT 機能を有効化する
3.94. Sterling LWB5+ のBT機能を無効化する
3.95. Bluetooth を扱うコンテナの作成例
3.96. Bluetooth を起動する実行例
3.97. bluetoothctl コマンドによるスキャンとペアリングの例
3.98. BT/TH オプションモジュールの Thread 機能を有効化する
3.99. Thread デバイスを扱うためのコンテナ作成例
3.100. 音声出力を行うためのコンテナ作成例
3.101. alsa-utils による音声出力を行う例
3.102. GPIO を扱うためのコンテナ作成例
3.103. コンテナ内からコマンドで GPIO を操作する例
3.104. gpiodetect コマンドの実行
3.105. gpioinfo コマンドの実行
3.106. I2C を扱うためのコンテナ作成例
3.107. i2cdetect コマンドによる確認例
3.108. SPI を扱うためのコンテナ作成例
3.109. spi-config コマンドによる確認例
3.110. CAN を扱うためのコンテナ作成例
3.111. CAN の設定例
3.112. PWM を扱うためのコンテナ作成例
3.113. PWM の動作設定例
3.114. リセットシーケンス
3.115. LCDの接続方法
3.116. フレキシブルフラットケーブルの形状
3.117. ACアダプタの極性マーク
3.118. バックアップ電源供給
3.119. ユーザースイッチのイベントを取得するためのコンテナ作成例
3.120. evtest コマンドによる確認例
3.121. LED を扱うためのコンテナ作成例
3.122. LED の点灯/消灯の実行例
3.123. LED の状態を表示する
3.124. 対応している LED トリガを表示
3.125. LEDのトリガに heartbeat を指定する
3.126. RTC を扱うためのコンテナ作成例
3.127. hwclock コマンドによるRTCの時刻表示と設定例
3.128. Wi-SUN デバイスを扱うためのコンテナ作成例
3.129. EnOcean デバイスを扱うためのコンテナ作成例
3.130. 開発者が開発するもの、開発しなくていいもの
3.131. 現在の面の確認方法
3.132. add_args を用いてコンテナに情報を渡すための書き方
3.133. add_args を用いてコンテナに情報を渡す例
3.134. avahi-daemon を停止する
3.135. avahi-daemon を起動する
3.136. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.137. ABOSDE を使用して ABOS Web を開く
3.138. ABOSDE に表示されている Armadillo を更新する
3.139. パスワード登録画面
3.140. パスワード登録完了画面
3.141. ログイン画面
3.142. トップページ
3.143. ログイン画面
3.144. WWAN設定画面
3.145. WLAN クライアント設定画面
3.146. WLAN アクセスポイント設定画面
3.147. 現在の接続情報画面
3.148. LAN 接続設定で固定 IP アドレスに設定した画面
3.149. eth0 に対する DHCP サーバー設定
3.150. LTE を宛先インターフェースに指定した設定
3.151. LTE からの受信パケットに対するポートフォワーディング設定
3.152. VPN 設定
3.153. ABOS Web のカスタマイズ設定
3.154. メニュー変更画面 (一部)
3.155. chronyd のコンフィグの変更例
3.156. 参照する開発手順の章を選択する流れ
3.157. CUI アプリケーション開発の流れ
3.158. プロジェクトを作成する
3.159. プロジェクト名を入力する
3.160. VS Code で my_project を起動する
3.161. 初期設定を行う
3.162. VS Code で初期設定を行う
3.163. VS Code のターミナル
3.164. SSH 用の鍵を生成する
3.165. VS Code でコンテナイメージの作成を行う
3.166. コンテナイメージの作成完了
3.167. BLE パッケージをインストールする
3.168. コンテナ内のファイル一覧を表示するタブ
3.169. コンテナ内のファイル一覧の例
3.170. resources ディレクトリ
3.171. コンテナ内のファイル一覧を再表示するボタン
3.172. container/resources 下にファイルを追加するボタン
3.173. ファイル名を入力
3.174. 追加されたファイルの表示
3.175. container/resources 下にフォルダーを追加するボタン
3.176. container/resources 下にあるファイルを開くボタン
3.177. container/resources 下にあるファイルを削除するボタン
3.178. コンテナ内のファイルを container/resources 下に保存するボタン
3.179. 編集前のファイルを示すマーク
3.180. 編集後のファイルを示すマーク
3.181. コンテナ内にコピーされないことを示すマーク
3.182. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.183. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.184. ABOSDE に表示されている Armadillo を更新する
3.185. ssh_config を編集する
3.186. Armadillo 上でアプリケーションを実行する
3.187. 実行時に表示されるメッセージ
3.188. アプリケーションを終了する
3.189. リリース版をビルドする
3.190. C 言語によるアプリケーション開発の流れ
3.191. プロジェクトを作成する
3.192. プロジェクト名を入力する
3.193. VS Code で my_project を起動する
3.194. 初期設定を行う
3.195. VS Code で初期設定を行う
3.196. VS Code のターミナル
3.197. SSH 用の鍵を生成する
3.198. C 言語による開発における packages.txt の書き方
3.199. VS Code でコンテナイメージの作成を行う
3.200. コンテナイメージの作成完了
3.201. コンテナ内のファイル一覧を表示するタブ
3.202. コンテナ内のファイル一覧の例
3.203. resources ディレクトリ
3.204. コンテナ内のファイル一覧を再表示するボタン
3.205. container/resources 下にファイルを追加するボタン
3.206. ファイル名を入力
3.207. 追加されたファイルの表示
3.208. container/resources 下にフォルダーを追加するボタン
3.209. container/resources 下にあるファイルを開くボタン
3.210. container/resources 下にあるファイルを削除するボタン
3.211. コンテナ内のファイルを container/resources 下に保存するボタン
3.212. 編集前のファイルを示すマーク
3.213. 編集後のファイルを示すマーク
3.214. コンテナ内にコピーされないことを示すマーク
3.215. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.216. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.217. ABOSDE に表示されている Armadillo を更新する
3.218. ssh_config を編集する
3.219. Armadillo 上でアプリケーションを実行する
3.220. 実行時に表示されるメッセージ
3.221. アプリケーションを終了する
3.222. リリース版をビルドする
3.223. mkswu バージョン確認コマンド
3.224. mkswu のインストール・アップデートコマンド
3.225. make_sbom.sh 実行確認コマンド
3.226. python3-make-sbom のインストールコマンド
3.227. OSV-Scanner の実行ファイルをダウンロード
3.228. OSV-Scanner をインストールする
3.229. OSV-Scanner がインストールされたことを確認する
3.230. OSV-Scanner を用いて SBOM をスキャンする
3.231. メモリの空き容量の確認方法
3.232. 削除されるユーザー設定とユーザーデータを確認
3.233. 実際にユーザー設定とユーザーデータを削除する
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. JTAG と SD ブートを無効化する
4.11. JTAG と SD ブートの設定値を確認する
4.12. JTAG と SD ブートの設定値をリセットする
4.13. U-Boot のコマンドプロンプトを無効化する
4.14. U-Boot のコマンドプロンプトの設定値を確認する
4.15. 開発完了後のシステムをインストールディスクイメージにする
4.16. ip_config.txtの内容
4.17. IPアドレスの確認
4.18. allocated_ips.csvの内容
4.19. インストールログを保存する
4.20. インストールログの中身
4.21. Armadilloに書き込みたいソフトウェアをATDEに配置
4.22. descファイルの記述例
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. VS Code を起動
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. X Window System を扱うためのコンテナ起動例
6.62. コンテナ内で X Window System を起動する実行例
6.63. フレームバッファに直接描画するためのコンテナ作成例
6.64. フレームバッファに直接描画する実行例
6.65. タッチパネルを扱うためのコンテナ作成例
6.66. パワーマネジメント機能を使うためのコンテナ作成例
6.67. サスペンド状態にする実行例
6.68. サスペンド状態にする実行例、rtcで起こす
6.69. 180秒後にRTC(NR3225SA)で起床する
6.70. コンテナからshutdownを行う
6.71. ソフトフェアウォッチドッグタイマーを使うためのコンテナ作成例
6.72. コンテナ内からソフトウェアウォッチドッグタイマーを起動する実行例
6.73. ソフトウェアウォッチドッグタイマーをリセットする実行例
6.74. ソフトウェアウォッチドッグタイマーを停止する実行例
6.75. Armadillo Base OS を B 面にコピー
6.76. desc ファイルに記述したswudesc_* コマンドを実行
6.77. アップデート完了後の挙動
6.78. B 面への切り替え
6.79. Armadillo Base OS とファイルを B 面にコピー
6.80. desc ファイルに記述したswudesc_* コマンドを実行
6.81. アップデート完了後の挙動
6.82. B 面への切り替え(component=base_os)
6.83. mkswu --genkey で署名鍵と証明書を追加する
6.84. mkswu --genkey により mkswu.conf に追加された内容
6.85. 新しい証明書が Armadillo に追加されていることを確認する
6.86. 署名鍵と証明書を削除する設定
6.87. 証明書がインストールされていることを確認する
6.88. コンテナ管理
6.89. SWU インストール
6.90. SWU 管理対象ソフトウェアコンポーネントの一覧表示
6.91. ネットワークタイムサーバーと同期されている場合の状況確認画面
6.92. ネットワークタイムサーバーと同期されていない場合の状況確認画面
6.93. ネットワークタイムサーバーの設定項目
6.94. タイムゾーンの設定項目
6.95. 設定管理の Rest API トークン一覧表示
6.96. ユーザ名とパスワード認証の例
6.97. 証明書認証の例
6.98. ABOS Web を停止する
6.99. ABOS Web を起動する
6.100. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
6.101. ABOSDE の ABOS Web パスワード入力画面
6.102. ABOSDE で Armadillo の SWU バージョンを取得
6.103. ABOSDE で Armadillo のコンテナ情報を取得
6.104. ABOSDE で Armadillo のコンテナを起動
6.105. ABOSDE で Armadillo のコンテナを停止
6.106. ABOSDE で Armadillo のコンテナのログを取得
6.107. ABOSDE で Armadillo に SWU をインストール
6.108. IP アドレスの確認
6.109. IP アドレス(eth0)の確認
6.110. nmcli のコマンド書式
6.111. コネクションの一覧
6.112. コネクションの有効化
6.113. コネクションの無効化
6.114. コネクションの作成
6.115. コネクションファイルの永続化
6.116. コネクションの削除
6.117. コネクションファイル削除時の永続化
6.118. 固定 IP アドレス設定
6.119. DNS サーバーの指定
6.120. DHCP の設定
6.121. コネクションの修正の反映
6.122. デバイスの一覧
6.123. デバイスの接続
6.124. デバイスの切断
6.125. 有線 LAN の PING 確認
6.126. 特定のポートに対する IP アドレスのフィルタリング
6.127. 特定のポートに対する IP アドレスのフィルタリングの設定を削除
6.128. mount コマンド書式
6.129. ストレージのマウント
6.130. ストレージのアンマウント
6.131. fdiskコマンドによるパーティション変更
6.132. EXT4 ファイルシステムの構築
6.133. buttond で SW1 を扱う
6.134. buttond で USB キーボードのイベントを確認する
6.135. buttond で USB キーボードを扱う
6.136. buttond で SW1 を Armadillo 起動時のみ受け付ける設定例
6.137. atmark-thermal-profiler をインストールする
6.138. atmark-thermal-profiler を実行する
6.139. atmark-thermal-profiler を停止する
6.140. ログファイルの内容例
6.141. サーマルシャットダウン温度の確認(Armadillo-IoT ゲートウェイ G4を例に)
6.142. Armadillo-IoT ゲートウェイ G4で取得した温度のグラフ
6.143. abos-ctrl status の例
6.144. /var/at-log/atlog の内容の例
6.145. local サービスの実行例
6.146. uboot_env.d のコンフィグファイルの例
6.147. 自動マウントされたmicroSDカードのアンマウント
6.148. デフォルトコンフィギュレーションの適用
6.149. Linux カーネルを SWU でインストールする方法
6.150. Linux カーネルを build_rootfs でインストールする方法
6.151. descファイルの追加例
6.152. squashfs イメージの作成
6.153. mmc-utilsのインストール
6.154. eMMC の GPP に Temporary Write Protection をかける
6.155. 動作ログのフォーマット
6.156. minicomの設定の起動
6.157. minicomの設定
6.158. minicomのシリアルポートの設定
6.159. 例. シリアルポート接続時のログ
6.160. minicomのシリアルポートのパラメータの設定
6.161. minicomシリアルポートの設定値
6.162. viの起動
6.163. 入力モードに移行するコマンドの説明
6.164. 文字を削除するコマンドの説明
6.165. USBシリアル変換アダプタの配線
6.166. Armadillo-640のシリアル信号線
6.167. Armadillo-600シリーズ オプションケース(樹脂製)の組み立て
6.168. 樹脂ケース形状図
6.169. Armadillo-600シリーズ オプションケース(金属製)の組み立て
6.170. 金属ケース(上板)寸法図
6.171. 金属ケース(下板)寸法図
6.172. RTCオプションモジュールのブロック図
6.173. RTCオプションモジュールのインターフェース
6.174. Armadillo-640 CON5上段とRTCオプションモジュール CON3は排他利用
6.175. RTCオプションモジュールの組み立て
6.176. 電池ホルダに電池を取り付ける
6.177. 電池ホルダから電池を取り外す
6.178. RTCオプションモジュール形状
6.179. WLANコンボ、BT/THオプションモジュール接続時にArmadillo-640 CON5上段は使用不可
6.180. WLANコンボ、BT/THオプションモジュールのブロック図
6.181. WLANコンボ、BT/THオプションモジュールのインターフェース
6.182. WLANコンボ、BT/THオプションモジュール形状図
6.183. WLANコンボ、BT/THオプションモジュールの組み立て
6.184. 外付けアンテナの組み立て(OP-MNT-ANT-MET-00使用)
6.185. 外付けアンテナの組み立て(オプションケース対応のアンテナ固定金具使用)
6.186. ケースの組み立て
6.187. オプションモジュールのCON2をシリアルコンソールとして使用する場合の接続例
6.188. CON4をシリアルコンソールとして使用する場合の接続例
6.189. CON3をシリアルコンソールとして使用する場合の接続例
6.190. Sterling LWB5+上のコネクタの位置
6.191. 挿抜治具によるアンテナケーブルコネクタの嵌合
6.192. アンテナケーブルコネクタのセット
6.193. アンテナケーブルコネクタの嵌合
6.194. 挿抜治具によるアンテナケーブルコネクタの抜去
6.195. 無線LAN用 外付けアンテナ08形状図
6.196. 無線LAN用 外付けアンテナケーブル08形状図
6.197. 無線LAN用 外付けアンテナ 取り付け穴寸法
6.198. 外付けアンテナ固定金具 00の外観
6.199. Armadillo-640へのアンテナ固定金具の固定
6.200. Armadillo-640へのアンテナ固定金具の固定
6.201. アンテナ固定金具へのアンテナの固定
6.202. アンテナ固定金具 形状図

表目次

1.1. 使用しているフォント
1.2. 表示プロンプトと実行環境の関係
1.3. コマンド入力例での省略表記
1.4. 推奨温湿度環境について
1.5. WLAN+BTコンボモジュール:Sterling LWB5+ 適合証明情報
1.6. EYSKBNZWB 適合証明情報
2.1. Armadillo-640ラインアップ
2.2. 仕様
2.3. インターフェース内容
2.4. ストレージデバイス
2.5. eMMCのGPPの用途
2.6. eMMCメモリマップ
2.7. eMMC ブートパーティション構成
2.8. eMMC GPP構成
3.1. ユーザー名とパスワード
3.2. 動作確認に使用する取り外し可能デバイス
3.3. 電源を切っても保持されるディレクトリ(ユーザーデータディレクトリ)
3.4. CON8 信号配列
3.5. CON9 信号配列
3.6. CON14 信号配列
3.7. 絶対最大定格
3.8. 推奨動作条件
3.9. 入出力インターフェース(電源)の電気的仕様
3.10. 入出力インターフェースの電気的仕様(OVDD = VCC_3.3V)
3.11. Armadillo-640 インターフェース一覧
3.12. CON1 信号配列
3.13. CON2 信号配列
3.14. CON7 信号配列
3.15. LAN LEDの動作
3.16. CON3 信号配列
3.17. CON4 信号配列
3.18. CON5 信号配列
3.19. CON9 ピンとGPIOの対応
3.20. I2C デバイス
3.21. CON10 信号配列
3.22. CON11 信号配列
3.23. CON13 信号配列
3.24. ジャンパの設定と起動デバイス
3.25. JP1 信号配列
3.26. JP2 信号配列
3.27. SW1 信号配列
3.28. キーコード
3.29. LED3、LED4、LED5
3.30. LEDトリガの種類
3.31. Armadillo Base OS のデフォルトで開放しているポート
3.32. 用意する favicon 画像
3.33. ABOSDEの対応言語
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. swudesc_* コマンドの種類
6.5. アップデート完了後の挙動の種類
6.6. swudesc_* コマンドの種類
6.7. アップデート完了後の挙動の種類
6.8. ネットワークとネットワークデバイス
6.9. 固定 IP アドレス設定例
6.10. thermal_profile.csvの各列の説明
6.11. rollback-status の出力と意味
6.12. rollback-status 追加情報の出力と意味
6.13. u-bootの主要な環境変数
6.14. microSDカードのパーティション構成
6.15. build-rootfsのファイル説明
6.16. descファイルの設定項目
6.17. /var/log/ 配下のログ
6.18. シリアル通信設定
6.19. 入力モードに移行するコマンド
6.20. カーソルの移動コマンド
6.21. 文字の削除コマンド
6.22. 保存・終了コマンド
6.23. GPIO override と eFuse
6.24. ブートデバイスと eFuse
6.25. オンボード eMMC のスペック
6.26. Armadillo-640関連のオプション品
6.27. 各ピンに対応するUARTコントローラ
6.28. USBシリアル変換アダプタのスライドスイッチによる起動モードの設定
6.29. Armadillo-600シリーズ オプションケース(樹脂製)について
6.30. Armadillo-600シリーズ オプションケース(樹脂製)の仕様
6.31. Armadillo-600シリーズ オプションケース(金属製)について
6.32. LCDオプションセット(7インチタッチパネルWVGA液晶)について
6.33. LCDの仕様
6.34. Armadillo-600シリーズ RTCオプションモジュールについて
6.35. RTCオプションモジュールの仕様
6.36. RTCオプションモジュール インターフェース一覧
6.37. CON1 信号配列
6.38. CON3 信号配列
6.39. 対応バッテリ例
6.40. CON4、CON5、CON6 信号配列
6.41. Armadillo-640 WLANコンボ、BT/THオプションモジュールの搭載デバイス
6.42. WLANコンボ、BT/THオプションモジュールの同梱物
6.43. 推奨外付けアンテナ
6.44. WLANコンボ、BT/THオプションモジュールの仕様
6.45. WLANコンボ、BT/THオプションモジュール インターフェース一覧
6.46. CON1 信号配列
6.47. CON2 信号配列
6.48. CON2 搭載コネクタ例
6.49. 無線LAN用 外付けアンテナセット 08について
6.50. 外付けアンテナ固定金具 00について
6.51. 外付けアンテナ固定金具 00の仕様