*[[u8g2を利用したOLEDのアクセス>CentOSからIIC(I2C)デバイスへのドライバー経由のアクセス]] [#q95a4f4d]
**はじめに [#e879c6d6]
>
>Raspberry Pi 3のCentOS7から、IIC(I2C)デバイスへのドライバ経由のアクセス方法を改めてまとめました。
<
**ドライバー経由のアクセスの準備 [#y2861f0e]
***ドライバーのロード [#p28f320e]
>
>インストールデフォルトでは、ドライバーがイネーブルにならないようで /boot/config.txt にドライバを読み込む設定が必要です。~
以下の2行を追加します。
 # mkdir -p /opt/u8g2
 # cd /opt/u8g2/
 # git clone https://github.com/wuhanstudio/u8g2-arm-linux.git
 Cloning into 'u8g2-arm-linux'...
 remote: Enumerating objects: 263, done.
 remote: Total 263 (delta 0), reused 0 (delta 0), pack-reused 263
 Receiving objects: 100% (263/263), 13.04 MiB | 2.88 MiB/s, done.
 Resolving deltas: 100% (127/127), done.
 Checking out files: 100% (116/116), done.
 # ll
 合計 4
 drwxr-xr-x 8 root root 4096  8月 12 13:50 u8g2-arm-linux
 # cd u8g2-arm-linux/
 # ll
 合計 32
 -rw-r--r-- 1 root root 4040  8月 12 13:50 LICENSE
 -rw-r--r-- 1 root root  381  8月 12 13:50 Makefile
 -rw-r--r-- 1 root root 3863  8月 12 13:50 README.md
 drwxr-xr-x 2 root root 4096  8月 12 13:50 drivers
 drwxr-xr-x 4 root root 4096  8月 12 13:50 examples
 drwxr-xr-x 2 root root 4096  8月 12 13:50 img
 drwxr-xr-x 2 root root 4096  8月 12 13:50 port
 drwxr-xr-x 2 root root 4096  8月 12 13:50 u8g2src
 #
 
<
>
>これにより、起動時にドライバーを読み込んでくれるようになります。
 # cd /example
 # ll
 合計 12
 -rw-r--r-- 1 root root  376  8月 12 13:50 Makefile
 drwxr-xr-x 2 root root 4096  8月 12 13:59 u8g2_4wire_hw_spi
 drwxr-xr-x 2 root root 4096  8月 12 14:01 u8g2_hw_i2c
 #
 
<
>
>
<
>
>各 u8g2_4wire_hw_spi、 u8g2_hw_i2c のMakefileの CC を
 #CC=arm-linux-gnueabi-gcc
 CC=gcc
 
>のように書き換えます。
>
>
>
>
<
***i2c-tools [#sff8de67]
>
>i2cドライバー経由でアクセスするツール(i2c-tools)をインストールします。~
このパッケージには以下が含まれます。
|~ファイル|~概要|
|/usr/bin/decode-dimms|メモリモジュールのSPDEEPROMの内容をデコード、表示するツール|
|/usr/bin/decode-vaio|VAIO用のEEPROM情報の読み出し&デコードするツール|
|/usr/sbin/i2c-stub-from-dump|IICデバイスの応答をエミュレートさせるツール|
|/usr/sbin/i2cdetect|IICバス上のIICデバイスを検出するツール|
|/usr/sbin/i2cdump|IICバス上の特定のアドレスに0x00から0xffまで、Read命令を連続的に送出するツール|
|/usr/sbin/i2cget|IICデバイスのレジスタから読み込みをするツール|
|/usr/sbin/i2cset|IICデバイスのレジスタへの書き込みをするツール|

<
>
>>
-インストール
<<
>>
 # yum install i2c-tools
 読み込んだプラグイン:fastestmirror, langpacks
 Loading mirror speeds from cached hostfile
  * base: ftp.yz.yamagata-u.ac.jp
  * centos-kernel: ftp.yz.yamagata-u.ac.jp
  * extras: ftp.yz.yamagata-u.ac.jp
  * updates: ftp.yz.yamagata-u.ac.jp
 base                                                                                                          | 3.6 kB  00:00:00
 centos-kernel                                                                                                 | 2.9 kB  00:00:00
 extras                                                                                                        | 2.9 kB  00:00:00
 updates                                                                                                       | 2.9 kB  00:00:00
 依存性の解決をしています
 --> トランザクションの確認を実行しています。
 ---> パッケージ i2c-tools.armv7hl 0:3.1.0-13.el7 を インストール
 --> 依存性解決を終了しました。
 依存性を解決しました
 =====================================================================================================================================
  Package                         アーキテクチャー              バージョン                           リポジトリー                容量
 =====================================================================================================================================
 インストール中:
  i2c-tools                       armv7hl                       3.1.0-13.el7                         base                        69 k
 トランザクションの要約
 =====================================================================================================================================
 インストール  1 パッケージ
 総ダウンロード容量: 69 k
 インストール容量: 182 k
 Is this ok [y/d/N]: y
 Downloading packages:
 i2c-tools-3.1.0-13.el7.armv7hl.rpm                                                                            |  69 kB  00:00:00
 Running transaction check
 Running transaction test
 Transaction test succeeded
 Running transaction
 警告: RPMDB は yum 以外で変更されました。
 ** Found 7 pre-existing rpmdb problem(s), 'yum check' output follows:
 gettext-common-devel-0.19.8.1-2.el7.noarch は gettext-common-devel-0.18.2.1-4.el7.noarch の複製です
 hunspell-en-0.20121024-6.el7.noarch は hunspell-en-0.20121024-5.el7.noarch の複製です
 hunspell-en-GB-0.20121024-6.el7.noarch は hunspell-en-GB-0.20121024-5.el7.noarch の複製です
 hunspell-en-US-0.20121024-6.el7.noarch は hunspell-en-US-0.20121024-5.el7.noarch の複製です
 ncurses-base-5.9-14.20130511.el7.noarch は ncurses-base-5.9-13.20130511.el7.noarch の複製です
 raspberrypi2-firmware-4.9.50-v7.1.el7.armv7hl は raspberrypi2-firmware-4.9.13-v7.1.el7.armv7hl の複製です
 raspberrypi2-kernel-firmware-4.9.50-v7.1.el7.armv7hl は raspberrypi2-kernel-firmware-4.9.13-v7.1.el7.armv7hl の複製です
   インストール中          : i2c-tools-3.1.0-13.el7.armv7hl                                                                       1/1
   検証中                  : i2c-tools-3.1.0-13.el7.armv7hl                                                                       1/1
 インストール:
   i2c-tools.armv7hl 0:3.1.0-13.el7
 完了しました!
 #
 
<<
-試しにコマンドを実行
<
>
 # i2cdetect -y 1
      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 00:          -- -- -- -- -- -- -- -- -- -- -- -- --
 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 70: -- -- -- -- -- -- -- --
 #
 
<

お疲れ様でした。



トップ   編集 編集(GUI) 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS