Armadillo実践開発ガイド

〜組み込みLinuxの導入から製品化まで〜

第1部


目次

1. はじめに
1.1. 対象読者
1.2. 本書の構成
1.3. 表記方法
1.3.1. 使用するフォント
1.3.2. コマンド入力例の表記方法
1.3.3. コラムの表記方法
1.4. サンプルソースコード
1.5. 困った時は
1.6. お問い合わせ先
1.7. 商標
1.8. ライセンス
1.9. 謝辞
2. 組み込みLinuxシステムとは
2.1. Linuxシステムとは
2.2. 組み込みLinuxシステムとは
3. Armadilloを使った組み込みシステム開発
3.1. Armadilloシリーズの概要
3.2. Armadillo-400シリーズ
3.2.1. Armadillo-400 シリーズの基本仕様
3.2.2. Armadillo-400シリーズでできること
3.3. Armadilloの開発環境
3.4. Armadilloを採用した場合の製品開発サイクル
3.4.1. 検討、試作
3.4.2. 設計、開発
3.4.3. 量産
3.4.4. 保守
4. Armadilloの基本操作
4.1. 取り扱い上の注意事項
4.2. Armadilloと作業用PCとの接続
4.2.1. 準備するもの
4.2.2. 接続方法
4.2.3. シリアル通信ソフトウェアの設定
4.3. Armadilloの起動
4.4. ログイン
4.5. プロンプト
4.6. 動作の停止と電源オフ
4.7. ディレクトリとファイルの操作
4.7.1. ディレクトリとファイル
4.7.2. ディレクトリとファイルを操作するコマンド
4.8. ファイルの編集 / viエディタ
4.8.1. viの起動
4.8.2. 文字の入力
4.8.3. カーソルの移動
4.8.4. 文字の削除
4.8.5. 保存と終了
4.9. ネットワークを使う
4.9.1. ネットワークの設定
4.9.2. viエディタを使用したネットワーク設定
4.9.3. ネットワーク設定の反映
4.9.4. PCからArmadilloのWebサーバーにアクセスする
4.10. 変更したArmadilloの設定を保存する
5. Armadilloが動作する仕組み
5.1. ソフトウェア構成
5.1.1. ブートローダー
5.1.2. Linuxカーネル
5.1.3. ユーザーランド
5.2. 起動の仕組み
5.2.1. ブートローダーが行う処理
5.2.2. カーネルの初期化処理
5.2.3. ユーザーランドの初期化処理
5.3. ルートファイルシステムのディレクトリ構成
5.3.1. 実行ファイル
5.3.2. ホームディレクトリ
5.3.3. ライブラリ
5.3.4. デバイスファイル
5.3.5. プロセス、システムの状態
5.3.6. ログ
5.3.7. 設定ファイル
6. 開発環境の構築
6.1. Windows PC上にATDEを構築する
6.1.1. インストールの前に
6.1.2. VMware Playerのインストール
6.1.3. ATDEの起動
6.1.4. ATDEの終了
6.1.5. シリアルポートの設定
6.1.6. 共有フォルダの設定
6.2. Linux上にATDEを構築する
6.2.1. インストールの前に
6.2.2. VMware Playerのインストール
6.2.3. ATDEの起動
6.2.4. ATDEの終了
6.2.5. Linux上でのシリアルポートの設定
6.2.6. 共有フォルダの設定
6.3. ATDEのネットワーク設定
6.3.1. DHCP接続の設定
6.3.2. 固定IPアドレス接続の設定
6.4. 最新の状態にアップデートする
7. 開発の基本的な流れ
7.1. アプリケーションプログラムの作成
7.1.1. Hello World!
7.1.2. ライブラリとヘッダファイル
7.1.3. make
7.2. Atmark Distを使ったルートファイルシステムの作成
7.2.1. ソースコードの取得
7.2.2. 独自プロダクトの追加
7.2.3. 基本的なコンフィギュレーション
7.2.4. ルートファイルシステムのビルドとイメージファイルの作成
7.2.5. イメージファイルの書き込み
7.3. ルートファイルシステムのカスタマイズ
7.3.1. アプリケーションプログラムの追加
7.3.2. ファイルの追加
7.3.3. コンフィギュレーションの変更
7.4. 量産に向けた準備
7.4.1. カスタマイズサービスを利用する
7.4.2. ライセンスに関する注意事項
7.5. 製品出荷後のメンテナンス
7.5.1. ソフトウェアアップデートへの対応
7.5.2. ハードウェアの変更通知

図目次

1.1. コマンド入力表記例
1.2. クリエイティブコモンズライセンス
2.1. Linuxシステムアーキテクチャ
3.1. Armadillo ロゴ
3.2. Armadillo シリーズ
3.3. Armadillo-400 シリーズブロック図
3.4. Armadillo-420ベーシックモデル見取り図
3.5. Armadillo-440液晶モデル見取り図
3.6. Armadillo-400シリーズでできること
3.7. Armadilloを採用した場合の開発の流れ
4.1. Armadillo-440液晶モデル接続例
4.2. Armadillo-420ベーシックモデル接続例
4.3. Tera Term: 新しい接続画面
4.4. Tera Term画面
4.5. Tera Term: シリアルポート設定画面
4.6. デバイスマネージャー画面
4.7. Tera Term画面
4.8. minicomの設定の起動
4.9. minicomの設定
4.10. minicomのシリアルポートの設定
4.11. 例. USB to シリアル変換ケーブル接続時のログ
4.12. minicomのシリアルポートのパラメータの設定
4.13. minicomシリアルポートの設定値
4.14. 起動ログ
4.15. ユーザー名とパスワードを入力してログインする
4.16. Armadillo-440でのプロンプト表示例
4.17. コマンドの書式
4.18. echoコマンドの書式
4.19. echoコマンドの実行例
4.20. 入力モードに移行するコマンドの説明
4.21. 文字を削除するコマンドの説明
4.22. ネットワーク構成例
4.23. 設定変更後のinterfacesファイル
4.24. interfacesファイルを開く
4.25. 標準イメージのinterfacesファイル
4.26. interfacesネットワーク設定
4.27. ネットワークの設定を反映させる
4.28. Webサーバーのトップページ
5.1. Hermit-At保守モード時の表示
5.2. ブートローダーのコピー
5.3. カーネルとユーザーランドをコピー
5.4. カーネルの起動
5.5. Hermit-Atオートブートモード時の表示
5.6. Armadillo-420カーネルブートログ
5.7. inittabの書式
5.8. Armadillo-420のinittab
6.1. VMware Playerインストール画面1
6.2. VMware Playerインストール画面2
6.3. VMware Playerインストール画面3
6.4. VMware Playerインストール画面4
6.5. VMware Playerインストール画面5
6.6. VMware Playerインストール画面6
6.7. VMware Playerインストール画面7
6.8. ライセンスの確認
6.9. VMware Player画面
6.10. 仮想マシンを開く画面
6.11. VMware Player画面
6.12. ログイン画面
6.13. シャットダウンを選択する
6.14. 「このシステムをシャットダウンしますか?」画面
6.15. System haltedの表示
6.16. パワーオフを選択する
6.17. 仮想マシンの設定を選択する
6.18. 仮想マシン設定画面
6.19. VMware Player画面
6.20. 仮想マシン設定画面
6.21. 共有フォルダのプロパティ画面
6.22. 端末の起動
6.23. 共有フォルダをマウントするディレクトリを作成
6.24. 共有フォルダをマウントする
6.25. zipファイルの展開
6.26. インストーラーの起動
6.27. VMware Playerインストール画面1
6.28. VMware Playerインストール画面2
6.29. VMware Playerインストール画面3
6.30. VMware Playerインストール画面4
6.31. VMware Playerを起動
6.32. ライセンスの確認
6.33. VMware Player画面
6.34. Open Virtual Machine画面
6.35. VMware Player画面
6.36. ログイン画面
6.37. シャットダウンを選択する
6.38. 「このシステムをシャットダウンしますか?」画面
6.39. System haltedの表示
6.40. Power Offを選択する
6.41. Settingsを選択する
6.42. Virtual Machine Settings画面
6.43. VMware Player画面
6.44. Virtual Machine Settings画面
6.45. Shared Folder Properties画面
6.46. 端末の起動
6.47. 共有フォルダをマウントするディレクトリを作成
6.48. 共有フォルダをマウントする
6.49. ATDEのネットワーク構成
6.50. ネットワーク設定ファイルを開く
6.51. DHCP接続のinterfacesファイル設定例
6.52. ネットワーク設定を反映させる
6.53. ネットワーク設定ファイルを開く
6.54. 固定IPアドレス接続のinterfacesファイル設定例
6.55. ネットワーク設定ファイルを開く
6.56. DNSサーバー設定例
6.57. ネットワーク設定を反映させる
7.1. hello.c
7.2. hello.cをコンパイルするコマンド
7.3. helloの実行結果
7.4. hello.cをクロスコンパイルするコマンド
7.5. クロスコンパイルしたhelloの実行結果(ATDE上)
7.6. lftpをインストールするコマンド
7.7. Armadilloへのファイル転送
7.8. クロスコンパイルしたhelloの実行結果(Armadillo上、実行権限なし)
7.9. クロスコンパイルしたhelloの実行結果(Armadillo上、実行権限あり)
7.10. sin関数のプロトタイプ
7.11. sin.c
7.12. sin.cをコンパイルするコマンド
7.13. sin.cをコンパイルするコマンド(-lmオプション付き)
7.14. sinの実行結果
7.15. sin.cをクロスコンパイルするコマンド
7.16. sinの実行結果(Armadillo上)
7.17. makefileのルール
7.18. sin.cをビルドするMakefile
7.19. makeコマンドの実行結果
7.20. makeコマンドの再実行結果
7.21. make cleanの実行結果
7.22. sin.cをビルドするMakefile(クロスコンパイル対応版)
7.23. ソースアーカイブの取得
7.24. ソースアーカイブの展開
7.25. atmark-distディレクトリのシンボリックリンクの作成
7.26. atmark-distディレクトリのシンボリックリンクの作成
7.27. 独自プロダクトの追加
7.28. make menuconfigの実行
7.29. menuconfig: Main Menu 画面
7.30. menuconfig: Vendor/Product Selection 画面
7.31. menuconfig: Vendor 画面
7.32. menuconfig: Vendor/Product Selection 画面
7.33. menuconfig: AtmarkTechno Products 画面
7.34. menuconfig: Do you wish to save your new kernel configuration?
7.35. ルートファイルシステムのビルドとイメージファイルの作成の開始
7.36. 作成されたイメージファイル
7.37. イメージファイルのコピー
7.38. Hermit-Atのプロンプト
7.39. tftpdlコマンド
7.40. アプリケーションプログラム用ディレクトリの作成
7.41. Atmark Distでsin.cをビルドするMakefile
7.42. 追加したディレクトリをビルド対象に含めるためのMakefileの修正箇所

表目次

1.1. 使用するフォント
1.2. コマンドの実行環境と対応する表記
1.3. ユーザーの種類と対応する表記
3.1. Armadilloシリーズの発表時期とCPU
3.2. Armadillo-400 シリーズ基本仕様
3.3. Armadillo-400シリーズ拡張インターフェース
3.4. Armadillo-420ベーシックモデル フラッシュメモリ メモリマップ
3.5. Armadillo-440液晶モデル フラッシュメモリ メモリマップ
3.6. Armadillo-400シリーズで使用可能なインターフェース
3.7. Armadillo-400 シリーズで実現可能なソフトウェア機能一覧
3.8. Armadillo-400シリーズで使用可能なソフトウェア製品
4.1. 必要な機材
4.2. シリアル通信設定
4.3. シリアル通信設定
4.4. シリアルコンソールログイン時のユーザー名とパスワード
4.5. ディレクトリとファイル操作に関するコマンド
4.6. 入力モードに移行するコマンド
4.7. カーソルの移動コマンド
4.8. 削除コマンド
4.9. 保存・終了コマンド
4.10. 固定IPアドレス設定例
4.11. flatfsdの主な引数
5.1. ジャンパ設定
5.2. initのactionに指定可能な値
5.3. ディレクトリ構成
6.1. ATDE3のユーザ名とパスワード
6.2. デフォルトのユーザ名とパスワード
6.3. 固定IPアドレス設定例
7.1. Atmark DistとLinuxカーネルソースコードのダウンロードURL
7.2. 使用するAtmark DistとLinuxカーネルソースコードのバージョン
7.3. menuconfigの操作方法
7.4. カスタマイズサービスの種類