Armadillo実践開発ガイド

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

第3部


目次

1. はじめに
1.1. 対象読者
1.2. 表記方法
1.2.1. 使用するフォント
1.2.2. コマンド入力例の表記方法
1.2.3. コラムの表記方法
1.3. サンプルソースコード
1.4. 困った時は
1.5. お問い合わせ先
1.6. 商標
1.7. ライセンス
1.8. 謝辞
2. ハードウェア機能をカスタマイズする
2.1. シリアルインターフェース
2.1.1. コンソールとして別のシリアルインターフェースを使用する
2.1.2. コンソールへの出力を止める
2.2. I2C接続A/Dコンバーター
2.2.1. I2C概要
2.2.2. サンプル回路
2.2.3. PCF8591通信プロトコル
2.2.4. i2cdevドライバー
2.2.5. サンプルプログラム
2.3. SPI接続A/Dコンバーター
2.3.1. SPI概要
2.3.2. サンプル回路
2.3.3. MCP3204通信プロトコル
2.3.4. spidevドライバー
2.3.5. カーネルコンフィギュレーション
2.3.6. サンプルプログラム
2.4. 1-Wire接続温度センサ
2.4.1. 1-Wire概要
2.4.2. DS18B20
2.4.3. サンプル回路
2.4.4. 温度センサドライバー
2.4.5. カーネルコンフィギュレーション
2.5. CAN
2.5.1. CAN概要
2.5.2. サンプル回路
2.5.3. CANドライバー
2.5.4. カーネルコンフィギュレーション
2.5.5. CAN通信プログラムの準備
2.5.6. 使用例
2.6. USB無線LANモジュール
2.6.1. USB無線LANドライバーのソースコードアーカイブの取得
2.6.2. USB無線LANドライバーのビルド
2.6.3. USB無線LANの設定
2.7. USB接続Webカメラ
2.7.1. MJPG-streamerを使う
2.7.2. MJPG-streamerを自動起動する
2.8. USB接続モニタ
2.8.1. 基本的な構造
2.8.2. DisplayLink
2.8.3. libdloのビルド
2.8.4. サンプルプログラムの実行
2.9. LCDのカスタマイズ
2.9.1. ハードウェアのカスタマイズ
2.9.2. ソフトウェア対応

図目次

1.1. コマンド入力表記例(Linuxシステム)
1.2. コマンド入力表記例(保守モード)
1.3. クリエイティブコモンズライセンス
2.1. コンソールをシリアルインターフェース2に変更する
2.2. カーネルパラメータの確認
2.3. ログインプロンプトの表示
2.4. 標準のinittab
2.5. 標準のsecuretty
2.6. ログインプロンプトをシリアルインターフェース2にしたinittab
2.7. シリアルインターフェース2からのrootログインを許可したsecuretty
2.8. Armadillo-400シリーズ用Debian GNU/Linuxのinittab(抜粋)
2.9. Armadillo-400シリーズ用Debian GNU/Linuxのsecuretty(抜粋)
2.10. コンソールへの出力を止める
2.11. ログインプロンプトを表示しない(標準のinittab)
2.12. ログインプロンプトを表示しない(Armadillo-400シリーズ用Debian GNU/Linuxのinittab)
2.13. I2Cプロトコル
2.14. I2C接続A/Dコンバーター回路図
2.15. PCF8591通信フォーマット(コントロールバイト書き込み)
2.16. PCF8591通信フォーマット(アドレスバイト)
2.17. PCF8591通信フォーマット(コントロールバイト)
2.18. PCF8591通信フォーマット(データバイト読み出し)
2.19. PCF8591通信フォーマット(データバイト)
2.20. I2Cデバイスファイルのオープン
2.21. I2Cスレーブデバイスのアドレス指定
2.22. PCF8591を使用したA/D変換プログラム
2.23. adc_pcf8591.c
2.24. pcf8591.h
2.25. pcf8591.c
2.26. adc_pcf8591をビルドするmakefile
2.27. adc_pcf8591のビルド
2.28. adc_pcf8591コマンドの実行
2.29. SPIプロトコル
2.30. SPI接続A/Dコンバーター回路図
2.31. MCP3204通信フォーマット
2.32. SPIデバイスファイルのオープン
2.33. Linuxカーネルの取得と展開
2.34. LinuxカーネルにArmadillo-400シリーズ標準コンフィギュレーションを適用する
2.35. SPIドライバーを有効にする
2.36. SPIに使用するピンを指定する
2.37. CSPI3、SS0をspidevで使用する修正
2.38. Linuxカーネルをビルドする
2.39. MCP3204を使用したA/D変換プログラム
2.40. adc_mcp3204.c
2.41. mcp3204.h
2.42. mcp3204.c
2.43. adc_mcp3204をビルドするmakefile
2.44. adc_mcp3204のビルド
2.45. adc_mcp3204コマンドの実行
2.46. 1-Wireプロトコル(ビット転送)
2.47. 1-Wireプロトコル
2.48. DS18B20 Temperature Registerフォーマット
2.49. 1-Wire接続温度センサ回路図
2.50. 1-Wire接続温度センサドライバーの使用例
2.51. Linuxカーネルの取得と展開
2.52. LinuxカーネルにArmadillo-400シリーズ標準コンフィギュレーションを適用する
2.53. 1-Wireドライバーを有効にする
2.54. Linuxカーネルをビルドする
2.55. CANプロトコル(データフレーム)
2.56. CANプロトコル(リモートフレーム)
2.57. CAN接続回路図
2.58. CANバスを介したArmadillo同士の接続
2.59. CANソケットのオープン
2.60. Linuxカーネルの取得と展開
2.61. LinuxカーネルにArmadillo-400シリーズ標準コンフィギュレーションを適用する
2.62. CANドライバーを有効にする
2.63. CANに使用するピンを指定する
2.64. Linuxカーネルをビルドする
2.65. can-utilsrを選択する
2.66. CAN通信速度の計算式
2.67. CANインターフェースの有効化
2.68. CANメッセージの受信
2.69. CANメッセージの送信
2.70. CANメッセージの受信
2.71. 連続したCANメッセージの送信
2.72. 連続したCANメッセージの受信
2.73. USB無線LANドライバーのソースコードアーカイブを展開する
2.74. USB無線LANドライバーへのパッチの適用
2.75. USB無線LANドライバーへのパッチ
2.76. USB無線LANドライバーのビルド
2.77. USB無線LANドライバーを含んだルートファイルシステムの作成
2.78. RT2870STA.dat設定例
2.79. USB無線LANモジュールを接続したときに表示されるカーネルメッセージ
2.80. USB無線LANドライバーのカーネルモジュールのロード
2.81. ネットワークインターフェースの有効化
2.82. Webカメラを接続したときに表示されるカーネルメッセージ
2.83. mjpg_streamerコマンドの実行
2.84. MJPG-Streamer Demo Pages画面
2.85. mjpg_streamerコマンドのヘルプを調べる
2.86. Webカメラが接続/取り外しされた時にスクリプトを実行するudevルール
2.87. mjpg_streamerを実行するシェルスクリプト
2.88. USBディスプレイアダプタの接続
2.89. libdloをビルドするために必要なパッケージのインストール
2.90. libdloリポジトリのクローン
2.91. libdloのビルド
2.92. libdloライブラリのシンボリックリンクを作成
2.93. テストプログラムの実行
2.94. タッチパネルディスプレイ接続例
2.95. カスタムインターフェイス基板イメージ
2.96. 表示インターフェースの接続図
2.97. DC-ACインバータ接続図
2.98. タッチスクリーン接続図
2.99. ボタン接続図
2.100. LCDパネルタイミング情報の計算式
2.101. struct fb_videomodeの定義(linux-2.6.26-at13/include/linux/fb.h)
2.102. struct mxcfb_mode_dispの定義(linux-2.6.26-at13/include/asm-arm/arch-mxc/mxcfb.h)
2.103. FG100410DNCWBGT1用の設定を使用する
2.104. バックライトに関連する設定
2.105. ADCに関連する設定
2.106. GPIOキーボードに関連する設定
2.107. struct gpio_keys_buttonの定義(linux-2.6.26-at13/include/linux/gpio_keys.h)