Armadillo-810
製品マニュアル


目次

1. はじめに
1.1. 本書および関連ファイルのバージョンについて
1.2. 本書の構成
1.3. 表記について
1.3.1. フォント
1.3.2. コマンド入力例
1.3.3. アイコン
1.4. 謝辞
2. 注意事項
2.1. 製品本体開封についてのご注意
2.2. 安全に関する注意事項
2.3. 取扱い上の注意事項
2.4. ソフトウェア使用に関しての注意事項
2.5. 書込み禁止領域について
2.6. 電波障害について
2.7. 保証について
2.8. 輸出について
2.9. 商標について
3. システム概要
3.1. 製品の特長
3.1.1. Armadilloとは
3.1.2. Armadillo-810とは
3.2. ボード概要
3.3. ブロック図
3.4. ソフトウェア構成
4. 作業の前に
4.1. 準備するもの
4.2. 開発/動作確認環境の構築
4.2.1. ATDE5セットアップ
4.2.1.1. VMwareのインストール
4.2.1.2. ATDE5の取得
4.2.1.3. ATDE5の起動
4.2.2. 取り外し可能デバイスの使用
4.2.3. コマンドライン端末(GNOME端末)の起動
4.2.4. シリアル通信ソフトウェア(minicom)の使用
4.3. インターフェースレイアウト
4.3.1. Armadillo-810 インターフェースレイアウト
4.3.2. Armadillo-810 拡張ボード01 (Aコネクタ用) インターフェースレイアウト
4.3.3. Armadillo-810 カメラモジュール01 (Bコネクタ用) インターフェースレイアウト
4.4. 組み立て
4.4.1. Armadillo-810 カメラモデルの組み立て
4.4.2. レンズの交換方法
4.5. 接続方法
4.6. ジャンパピンの設定について
4.7. スライドスイッチの設定について
4.8. viエディタの使用方法
4.8.1. viの起動
4.8.2. 文字の入力
4.8.3. カーソルの移動
4.8.4. 文字の削除
4.8.5. 保存と終了
5. 起動と終了
5.1. 起動
5.2. ログイン
5.3. 終了方法
6. 動作確認方法
6.1. 動作確認を行う前に
6.2. USBガジェット
6.2.1. UVCガジェット
6.2.1.1. 起動方法
6.2.1.2. カメラ設定
6.2.2. シリアルガジェット
6.2.3. イーサネットガジェット
6.3. ネットワーク
6.3.1. ネットワーク設定の変更方法
6.3.1.1. ネットワークの無効化
6.3.1.2. ネットワーク設定を変更する
6.3.1.3. 接続を確認する
6.3.2. ファイアーウォール
6.3.3. ネットワークアプリケーション
6.3.3.1. TELNET
6.3.3.2. FTP
6.3.3.3. HTTPサーバー
6.4. シリアル
6.4.1. シリアルコンソールとして使用する
6.5. ストレージ
6.5.1. ストレージの使用方法
6.5.2. ストレージのパーティション変更とフォーマット
6.6. AVコーデックミドルウェア
6.7. LED
6.7.1. LEDを点灯/消灯する
6.7.2. トリガを使用する
6.8. GPIO
6.8.1. 入出力方向を変更する
6.8.2. 入力レベルを取得する
6.8.3. 出力レベルを設定する
6.9. RTC
6.9.1. RTCに時刻を設定する
7. コンフィグ領域 − 設定ファイルの保存領域
7.1. コンフィグ領域の読出し
7.2. コンフィグ領域の保存
7.3. コンフィグ領域の初期化
8. Linuxカーネル仕様
8.1. デフォルトコンフィグレーション
8.2. デフォルト起動オプション
8.3. Linuxドライバ一覧
9. ユーザーランド仕様
9.1. 起動処理
9.1.1. inittab
9.1.2. /etc/init.d/rc
9.1.3. /etc/rc.d/Sスクリプト(初期化スクリプト)
9.1.4. /etc/config/rc.local
9.2. プリインストールアプリケーション
10. ブートローダー仕様
10.1. ブートローダーイメージの選択
10.2. ブートローダー起動モード
10.3. ブートローダーの機能
10.3.1. コンソールの指定方法
10.3.2. Linuxカーネルイメージの指定方法
10.3.3. Linuxカーネルの起動オプション
11. ビルド手順
11.1. Linuxカーネル/ユーザーランドをビルドする
11.1.1. ツールチェーンを変更するには
11.2. ブートローダーをビルドする
11.2.1. ツールチェーンを変更するには
12. フラッシュメモリの書き換え方法
12.1. フラッシュメモリのパーティションについて
12.2. netflashを使用してフラッシュメモリを書き換える
12.2.1. Webサーバー上のイメージファイルを書き込む
12.2.2. ストレージ上のイメージファイルを書き込む
12.3. ダウンローダーを使用してフラッシュメモリを書き換える
12.4. ブートローダーが起動しなくなった場合の復旧作業
13. 開発の基本的な流れ
13.1. ユーザーオリジナルアプリケーションを作成する
13.2. Atmark Distにユーザーオリジナルアプリケーションを組み込む
13.3. システムの最適化を行う
13.4. オリジナルプロダクトのコンフィグレーションを更新する
14. プログラミングガイド
14.1. アプリケーションでカメラデバイスを扱う方法
14.1.1. カメラデバイスを制御するシステムコール
14.1.1.1. openシステムコール
14.1.1.2. ioctlシステムコール
14.1.1.3. mmapシステムコール
14.1.1.4. selectシステムコール
14.1.2. V4L2実装例の解説
14.1.2.1. 初期化処理
14.1.2.2. 画像データを取得するには
14.1.2.3. キャプチャー開始と停止
14.1.2.4. 取得した画像データのその後
14.1.3. サンプルコードをArmadilloで動かしてみる
14.1.3.1. サンプルコードをビルドする
14.1.3.2. v4l2-sampleをArmadillo-810上で実行させる
15. AVコーデックミドルウェア
15.1. AVコーデックミドルウェアとは
15.2. AVコーデックミドルウェアの仕様
15.2.1. AACデコーダー
15.2.2. H.264/AVCデコーダー
15.2.3. AACエンコーダー
15.2.4. H.264/AVCエンコーダー
15.3. GStreamer - マルチメディアフレームワーク
15.3.1. GStreamer - マルチメディアフレームワークとは
15.3.2. GStreamerのパイプラインの画像を生成する
15.4. 有効化/無効化
15.5. エンコード
15.5.1. コンテナの扱い
15.5.2. ビデオのエンコード
15.5.2.1. 入力ソースを指定する
15.5.2.2. フレームレートを指定する
15.5.2.3. エンコード品質を指定する
15.5.2.4. 入力画像サイズの制限とオフセットの指定
15.5.3. オーディオのエンコード
15.5.3.1. 入力ソースを指定する
15.5.3.2. エンコード品質を指定する
15.5.4. JPEGのエンコード
15.5.4.1. JPEGをファイルに保存する
15.5.4.2. エンコード品質を指定する
15.5.4.3. 入出力画像サイズの制限とオフセットの指定
16. SDブートの活用
16.1. ブートディスクの作成
16.2. ルートファイルシステムの構築
16.2.1. Atmark Distを構築する
16.2.2. Debian GNU/Linuxを構築する
16.3. Linuxカーネルイメージの配置
16.4. SDブートの実行
17. JTAG ICEを利用する
17.1. 準備
17.1.1. JTAGケーブルの接続
17.1.2. ジャンパの設定
17.2. 接続確認
17.3. 各種デバッガへの対応について
18. 顔認識ミドルウェア「FSE」
19. ハードウェア仕様
19.1. インターフェースレイアウト
19.2. インターフェース仕様
19.2.1. CON1 拡張インターフェース2 (Bコネクタ)
19.2.1.1. Camera
19.2.1.2. UART
19.2.1.3. PWM
19.2.1.4. GPIO
19.2.2. CON2 シリアルインターフェース1
19.2.3. CON3 シリアルインターフェース2
19.2.4. CON4 USBインターフェース
19.2.5. CON5 拡張インターフェース1 (Aコネクタ)
19.2.5.1. USB
19.2.5.2. SD
19.2.5.3. UART
19.2.5.4. I2S
19.2.5.5. SSI(SPI)
19.2.5.6. MMC
19.2.5.7. GPIO
19.2.5.8. PWM
19.2.5.9. IrDA
19.2.5.10. 外部リセット
19.2.6. LED1~LED4 ユーザーLED
19.3. 電気的仕様
19.3.1. 絶対最大定格
19.3.2. 推奨動作条件
19.3.3. 入出力インターフェースの電気的仕様
19.4. 電源回路の構成
20. 基板形状図
21. 拡張ボード/オプションモジュール
21.1. Armadillo-810 拡張ボード01 (Aコネクタ用)
21.1.1. 概要
21.1.2. インターフェースレイアウト
21.1.3. インターフェース仕様
21.1.3.1. CON1 Armadillo-810接続インターフェース
21.1.3.2. CON2 拡張インターフェース
21.1.3.3. CON3 電源入力1
21.1.3.4. CON4 電源入力2
21.1.3.5. CON5 SDインターフェース
21.1.3.6. CON6 USBインターフェース(Reserved)
21.1.3.7. CON7 JTAGインターフェース
21.1.3.8. CON8 RTC外部バックアップインターフェース
21.1.3.9. CON9 USBインターフェース
21.1.3.10. JP1~JP3 設定ジャンパ
21.1.3.11. SW1 リセットスイッチ
21.1.3.12. 電源回路の構成
21.1.4. 基板形状図
21.2. Armadillo-810 カメラモジュールセット01 (Bコネクタ用)
21.2.1. 概要
21.2.2. 基板形状図
21.3. 開発用USBシリアル変換アダプタ
21.4. D-Sub9/8ピン シリアル変換ケーブル
21.5. Armadillo-800シリーズ 60ピン/100ピンコネクタピッチ変換基板
21.5.1. 概要
21.5.2. インターフェースレイアウト
21.5.3. 組み立て
21.5.4. 基板形状図
21.6. Armadillo-800シリーズ 60ピンコネクタ延長ケーブル(B/Dコネクタ用)
21.6.1. 概要
21.6.2. インターフェースレイアウト
21.6.3. 組み立て
21.6.4. ケーブル形状図
22. ユーザー登録
22.1. 購入製品登録
22.1.1. 正規認証ファイルを取り出す手順(作業用PCのOSがLinux)
22.1.2. 正規認証ファイルを取り出す手順(作業用PCのOSがWindows)

図目次

3.1. Armadillo-810
3.2. Armadillo-810の特長
3.3. Armadillo-810のブロック図
4.1. GNOME端末の起動
4.2. GNOME端末のウィンドウ
4.3. minicom設定方法
4.4. minicom起動方法
4.5. minicom終了確認
4.6. Armadillo-810のインターフェースレイアウト図
4.7. Armadillo-810 拡張ボード01 (Aコネクタ用)のインターフェースレイアウト図
4.8. Armadillo-810 カメラモジュール01 (Bコネクタ用)のインターフェースレイアウト図
4.9. Armadillo-810 カメラモデルの組み立て
4.10. コネクタ嵌合時の取扱い上の注意1
4.11. コネクタ嵌合時の取扱い上の注意2
4.12. コネクタ嵌合時の取扱い上の注意3
4.13. コネクタ抜去時の取扱い上の注意1
4.14. コネクタ抜去時の取扱い上の注意2
4.15. コネクタ抜去時の取扱い上の注意3
4.16. ねじ締め時の注意事項1
4.17. ねじ締め時の注意事項2
4.18. カメラレンズの交換
4.19. 接続図
4.20. スライドスイッチの設定
4.21. viの起動
4.22. 入力モードに移行するコマンドの説明
4.23. 文字を削除するコマンドの説明
5.1. 起動ログ
5.2. 終了方法
6.1. guvcviewを起動
6.2. guvcviewのビデオウィンドウ
6.3. guvcviewのコントロールウィンドウ
6.4. camctrlコマンド書式
6.5. camctrlコマンドの使用例
6.6. /dev/ttyACM0を指定してシリアルターミナルを起動
6.7. /dev/ttyGS0上でシリアルコンソールを起動
6.8. イーサネットガジェット認識時のifconfigの出力例
6.9. イーサネットガジェットの通信確認
6.10. ネットワークインターフェースの無効化
6.11. デフォルト状態の/etc/config/interfaces
6.12. 固定IPアドレス設定
6.13. DHCP設定
6.14. DNSサーバーの設定
6.15. 設定を反映させる
6.16. PING確認
6.17. iptables
6.18. telnetでリモートログイン
6.19. ftpでファイル転送
6.20. Armadillo上でアップロードされたファイルを確認
6.21. Armadilloトップページ
6.22. mountコマンド書式
6.23. ストレージのマウント
6.24. ストレージのアンマウント
6.25. fdiskコマンドによるパーティション変更
6.26. EXT3ファイルシステムの構築
6.27. uvc-gadgetの停止
6.28. H.264/AVC動画のエンコード
6.29. LEDを点灯させる
6.30. LEDを消灯させる
6.31. LEDの状態を表示する
6.32. LEDのトリガにtimerを指定する
6.33. LEDのトリガを表示する
6.34. GPIOの入出力方向を設定する(INPUTに設定)
6.35. GPIOの入出力方向を設定する(OUTPUTに設定)
6.36. GPIOの入力レベルを取得する
6.37. GPIOの出力レベルを設定する
6.38. システムクロックを設定
6.39. ハードウェアクロックを設定
7.1. コンフィグ領域の読出し方法
7.2. コンフィグ領域の保存方法
7.3. コンフィグ領域の初期化方法
9.1. デフォルト状態の/etc/inittab
9.2. inittabの書式
9.3. デフォルト状態の/etc/config/rc.local
10.1. hermitコマンドのヘルプを表示
12.1. 書き込み制限を外す
12.2. 書き込みを制限する
12.3. netflashコマンドのヘルプ
12.4. hermitコマンドのヘルプ
13.1. ディレクトリを作成後、テキストエディタ(gedit)を起動
13.2. 「Hello World!」のソース例(main.c)
13.3. ATDE上で動作するようにmain.cをコンパイルし実行
13.4. Armadillo-810上で動作するようにmain.cをクロスコンパイル
13.5. ArmadilloにFTPでhelloを転送
13.6. Armadillo上でhelloを実行
13.7. hello用のMakefile
13.8. helloをmake
13.9. cleanターゲット指定した例
13.10. オリジナルプロダクトを作成しhelloディレクトリをコピー
13.11. オリジナルプロダクト(my-product)にhelloを登録
13.12. romfsターゲットの追加
13.13. helloが組み込まれたユーザーランドイメージ
13.14. distclean ターゲットの変更例
14.1. openシステムコールの書式
14.2. closeシステムコールの書式
14.3. open()とclose()のサンプル
14.4. ioctlシステムコールの書式
14.5. mmapシステムコールの書式
14.6. munmapシステムコールの書式
14.7. selectシステムコールの書式
14.8. 【camera2ppm.c】カメラデバイスをオープン
14.9. 【camera2ppm.c】画像データフォーマットを設定
14.10. 【camera2ppm.c】画像データバッファを要求
14.11. 【camera2ppm.c】画像データバッファの取得とユーザー空間へのマッピング
14.12. 【camera2ppm.c】ビデオストリームにバッファをエンキュー
14.13. 【camera2ppm.c】ビデオストリームからバッファをデキュー
14.14. 【camera2ppm.c】画像データの取得
14.15. 【camera2ppm.c】キャプチャー開始
14.16. 【camera2ppm.c】キャプチャー停止
14.17. 【camera2ppm.c】画像データをYUYVフォーマットからRGB24フォーマットに変換
14.18. 【camera2ppm.c】画像データ(RGB24)をPPMファイルとして保存
14.19. サンプルコードをビルド
14.20. FTPでv4l2-sampleをArmadillo-810に転送
14.21. uvc-gadgetを停止
14.22. v4l2-sampleを実行
14.23. ATDEでPPMファイルを表示
15.1. AV コーデックミドルウェア使用時の内蔵コアの対応
15.2. AV コーデックミドルウェア使用時のメモリマップ
15.3. GStreamer ロゴ
15.4. GStreamerの実行例
15.5. GStreamerのパイプライン例
15.6. エレメント一覧の取得
15.7. エレメント情報の取得
15.8. AVコーデックミドルウェアの有効化(エンコーダー)
15.9. AVコーデックミドルウェアの有効化(デコーダー)
15.10. AVコーデックミドルウェアの無効化
15.11. AVコーデックミドルウェアの状態確認(エンコーダーが有効化されている場合)
15.12. AVコーデックミドルウェアの状態確認(デコーダーが有効化されている場合)
15.13. AVコーデックミドルウェアの状態確認(無効化されている場合)
15.14. ビデオをエンコードしてコンテナに格納する
15.15. オーディオをエンコードしてコンテナに格納する
15.16. ビデオとオーディオをエンコードしてコンテナに格納する
15.17. ビデオとオーディオをエンコードしてコンテナに格納する(パッド名の省略)
15.18. カメラモジュールからの入力画像をエンコードする
15.19. どのデバイスファイルがどのカメラに対応しているか確認する
15.20. USBカメラからの入力画像をエンコードする
15.21. フレームレートを指定する
15.22. オフセットを指定する
15.23. マイク入力インターフェースからの入力音声をエンコードする
15.24. ALSA入力デバイスの一覧表示
15.25. カメラモジュールからの入力画像をエンコードする
15.26. Motion JPEGとしてファイルに保存する
15.27. オフセットを指定する
16.1. 自動マウントされたSDカードのアンマウント
16.2. SDブート時の起動メッセージ
16.3. ルートファイルシステムの起動設定
16.4. Linuxカーネルの起動設定
19.1. Armadillo-810のインターフェースレイアウト図
19.2. Armadillo-810の電源回路の構成
20.1. 基板形状および固定穴寸法
20.2. スタッキング高さ例(Armadillo-810 カメラモデル)
21.1. Armadillo-810 拡張ボード01 (Aコネクタ用)のブロック図
21.2. Armadillo-810 拡張ボード01 (Aコネクタ用)のインターフェースレイアウト図
21.3. ACアダプターの極性マーク
21.4. Armadillo-810とArmadillo-810 拡張ボード01 (Aコネクタ用)接続時の電源回路の構成
21.5. 基板形状および固定穴寸法
21.6. Armadillo-810 カメラモジュール01 (Bコネクタ用)のブロック図
21.7. 基板形状および固定穴寸法
21.8. 開発用USBシリアル変換アダプタの配線
21.9. スライドスイッチについて
21.10. D-Sub9/8ピン シリアル変換ケーブルの配線
21.11. 60ピン/100ピンコネクタピッチ変換基板のセット内容
21.12. 60ピン/100ピンコネクタピッチ変換基板 インターフェースレイアウト図
21.13. Armadillo-810と60ピン/100ピンコネクタピッチ変換基板の組み立て
21.14. 60ピン/100ピンコネクタ ピッチ変換基板 形状図
21.15. 60ピンコネクタ延長ケーブル インターフェースレイアウト図
21.16. Armadillo-810に60ピンコネクタ延長ケーブルを接続
21.17. 60ピンコネクタ延長ケーブル形状図
22.1. ディレクトリ変更の選択
22.2. 格納先の指定
22.3. ZMODEMの選択
22.4. 正規認証ファイルの確認

表目次

1.1. 使用しているフォント
1.2. 表示プロンプトと実行環境の関係
1.3. コマンド入力例での省略表記
3.1. Armadillo-810仕様
3.2. Armadillo-810で利用可能なソフトウェア
3.3. フラッシュメモリ メモリマップ(製品型番が A810 ではじまる場合)
3.4. フラッシュメモリ メモリマップ(製品型番が A811 ではじまる場合)
4.1. ATDE5の種類
4.2. ユーザー名とパスワード
4.3. 動作確認に使用する取り外し可能デバイス
4.4. シリアル通信設定
4.5. Armadillo-810のインターフェース内容
4.6. Armadillo-810 拡張ボード01 (Aコネクタ用)のインターフェース内容
4.7. Armadillo-810 カメラモジュール01 (Bコネクタ用)のインターフェース内容
4.8. ジャンパの機能
4.9. 入力モードに移行するコマンド
4.10. カーソルの移動コマンド
4.11. 文字の削除コマンド
4.12. 保存・終了コマンド
5.1. シリアルコンソールログイン時のユーザ名とパスワード
6.1. camctrlのアプリケーションオプション
6.2. camctrlのSetオプション
6.3. camctrlのGetオプション
6.4. camctrlのヘルプオプション
6.5. mDNSで設定されるホスト名
6.6. 固定IPアドレス設定例
6.7. TELNETでログイン可能なユーザ
6.8. ftpでログイン可能なユーザ
6.9. シリアルデバイス
6.10. ストレージデバイス
6.11. LEDクラスディレクトリとLEDの対応
6.12. triggerの種類
6.13. Armadillo-810 拡張ボード01 (Aコネクタ用)のCON2のGPIOディレクトリ
6.14. directionの設定
6.15. 時刻フォーマットのフィールド
8.1. Linuxカーネル主要設定
8.2. Linuxカーネルのデフォルト起動オプション
9.1. inittabのactionフィールドに設定可能な値
9.2. /etc/rc.dディレクトリに登録された初期化スクリプト
10.1. SDBOOT_ENピンとブートローダーイメージの対応
10.2. 拡張ボード01 (Aコネクタ用)のJP3によるブートローダーイメージの選択
10.3. ブートローダー起動モード
10.4. ブートローダー起動モードスイッチ
10.5. 保守モードコマンド一覧
10.6. コンソール指定子とログ出力先
10.7. Linuxカーネルイメージ指定子
10.8. Linuxカーネルの起動オプションの一例
12.1. フラッシュメモリの書き換え方法
12.2. パーティションのデフォルト状態での書き込み制限の有無と対応するイメージファイル名
12.3. パーティションとMTDクラスディレクトリの対応
12.4. フラッシュメモリのパーティションとデバイスファイル
13.1. デフォルトコンフィグファイル
14.1. 画像キャプチャーで利用する代表的なV4L2リクエストコード
14.2. Armadillo-810 カメラモジュール01 (Bコネクタ用)で対応可能なPixelFormat
15.1. AACデコーダー仕様
15.2. H.264/AVCデコーダー仕様
15.3. AACエンコーダー仕様
15.4. H.264/AVC エンコーダー仕様
15.5. エンコード品質に影響するacmh264encエレメントのプロパティ
15.6. エンコード品質に影響するacmaacencエレメントのプロパティ
16.1. ブートディスクの作成に使用するファイル
16.2. ブートディスクの制約
16.3. ブートディスクの構成例
16.4. ルートファイルシステムの構築に使用するファイル
16.5. ブートディスクの作成に使用するファイル
16.6. ブートローダーがLinuxカーネルを検出可能な条件
19.1. Armadillo-810のインターフェース内容
19.2. CON1 信号配列
19.3. CON1 拡張入出力ピンのマルチプレクス
19.4. CON1 拡張入出力ピンの信号状態
19.5. CON2 信号配列
19.6. CON3 信号配列
19.7. CON4 信号配列
19.8. CON5 信号配列
19.9. CON5 拡張入出力ピンのマルチプレクス
19.10. CON5 拡張入出力ピンの信号状態
19.11. ユーザーLEDの機能
19.12. 絶対最大定格
19.13. 推奨動作条件
19.14. 入出力インターフェースの電気的仕様
21.1. Armadillo-810関連のオプション品
21.2. Armadillo-810 拡張ボード01 (Aコネクタ用)の仕様
21.3. Armadillo-810 拡張ボード01 (Aコネクタ用)のインターフェース内容
21.4. CON1 信号配列
21.5. CON2 信号配列
21.6. CON2 拡張入出力ピンのマルチプレクス
21.7. CON4 信号配列
21.8. CON5 信号配列
21.9. CON6 信号配列
21.10. CON7 信号配列
21.11. リアルタイムクロック仕様
21.12. CON9 信号配列
21.13. JP1 信号配列
21.14. JP2 信号配列
21.15. JP3 信号配列
21.16. ジャンパの機能
21.17. SW1 信号配列
21.18. Armadillo-810 カメラモジュール01 (Bコネクタ用)の仕様
21.19. レンズの仕様
21.20. 60ピン/100ピンコネクタピッチ変換基板のセット内容一覧
21.21. インターフェース内容
21.22. インターフェース内容