[Armadillo:03069] Re: Armadillo-500 I2C通信サンプルソフト

g-kihara email@hidden
2008年 6月 27日 (金) 17:07:29 JST


山本 様

木原です。
ご返信ありがとうございます。

> tlv320aic.cのtlv320aic_setreg()の関数コールツリーは
> 以下のようになっているようです。
>
> tlv320aic_setreg()
>  +-i2c_transfer()
>      +-master_xfer()
>>          |sysfs
>>        i2c_armadillo5x0_xfer()
>          +- mxc_i2c_start()
>          +- mxc_i2c_send()
>          +- mxc_i2c_stop()

やはりsysfs経由ですか・・。
これを経由されると、制御の流れがよくみえない
ので、初心者にはきついです(^^;

> 後は、tlv320aic.cの解析をし、真似をしつつ実装すれば、
> I2C制御できるかと思います。

ご親切にどうもありがとうございます。
非常に助かります。

>
>> 私は、単純に、findコマンドをつかって、
>> i2c-armadillo5x0.cにあるmxc_i2c_send()や
>
> findではなく、grepがいいと思います。

あ、すみません。grepの間違いです。

grep -r 'パターン'  探したいフォルダ名

でさがしております。


>
> 調査方法は"i2c"で全linuxソースのgrepをして、
> 関連しそうなソースを片っ端から確認していくしかないと思います。
>  #私がi2cの調査をした時にはそうしましたが、

・・・すごいですね。
「全ソース」ですか。そこまで気合いがはいっておりませんでした。
LED点灯制御のときも苦労しましたが、
sysfsに関する知識を増やさないとデバイスドライバ制御ソフトの解析は
かなり困難なことがわかりました。もっとLinuxデバイスドライバの本を読み込んで
みることにします。
これからtlv320aic.cの解析に取り組みます。

ご多忙の中、ご回答頂きどうもありがとうございました。

以上

>
> よろしくお願い致します。
>
> 以上
>
> On Fri, 27 Jun 2008 15:07:19 +0900
> g-kihara <email@hidden> wrote:
>
>> 木原です。
>> いつもお世話になっています。
>>
>> 私は、armadillo-500ボードのI/Oポートと、
>> 弊社のセンサとをI2Cバス接続し、
>> レジスタへのread,writeをテストしようと
>> 思っています。
>> そこで、デバイスドライバi2c-armadillo5x0.cを利用して
>> "スペシャルデバイスファイルを介して"I2C通信を行う
>> ソフトを作成しようと思ったのです。
>>
>> そこで、
>> http://lists.atmark-techno.com/pipermail/armadillo/2008-January/002579.html
>> http://lists.atmark-techno.com/pipermail/armadillo/2007-September/002043.html
>> を読んだのですが、
>>
>> armadillo500ボードでI2C通信を行う場合には、現在、
>> /home/atmark/linux-2.6.18-at2/.configにて、
>>
>>         # I2C Hardware Bus support
>>         CONFIG_I2C_ARMADILLO5X0=y
>>
>> となっているので、
>> デバイスドライバi2c-armadillo5x0.cを使わなければならない
>>
>> 「現状のi2c-armadillo5x0ドライバですとI2C2のみ対応となっています」
>> ということなので、armadillo-500ボードのI2C2に、弊社のセンサを接続する。
>>
>> という理解でよろしいでしょうか?
>>
>> > drivers/i2c/chips/tlv320aic.c
>> > にソースコードがありますよ。
>>
>> 私は、単純に、findコマンドをつかって、
>> i2c-armadillo5x0.cにあるmxc_i2c_send()や
>> mxc_i2c_start( )を検索すれば、制御ソフトらしきものが
>> ヒットするものだと思っていましたが、まったくヒットしま
>> せんでした。
>>
>> しかし、そうやって検索するのではなく、これは、
>>
>> step1)/home/atmark/linux-2.6.18-at2/.configを開く
>> step2)コメント行に「I2C」が含まれる行を探し、その下の
>>         CONFIG_I2C_XXXXX = y になっている行をみる。
>>
>>         # I2C support
>>         CONFIG_I2C=y
>>         CONFIG_I2C_CHARDEV=y
>>
>>         # I2C Hardware Bus support
>>         CONFIG_I2C_ARMADILLO5X0=y
>>
>>         # Miscellaneous I2C Chip support
>>         CONFIG_SENSORS_TLV320AIC=y
>>
>> 以上より、
>> ハードウェアバスサポートを行っているデバイスドライバ : i2c-armadillo5x0.c
>> そのデバイスドライバを制御しているソフト: tlv320aic.c
>> ということがわかるわけですね?
>>
>> tlv320aic.cを読んでみたのですが、
>>
>> 送信(書き込み)を行いたい場合は、tlv320aic_setreg(u8 reg, u16 val)
>> 受信(読み込み)を行いたい場合は、tlv320aic_getreg(u8 reg)
>>
>> を呼び出せばよいというのはわかりますが、
>>
>> スタートコンディションを発行するための関数
>> が見当たりません。
>> デバイスドライバ : i2c-armadillo5x0.cのmxc_i2c_start()が
>> スタートコンディションを発行する関数だと思うのですが、
>> この関数をtlv320aic.cは呼び出しているのでしょうか?
>> tlv320aic.cは、i2c-armadillo5x0.cの関数をsysfs経由で
>> 呼び出しているのでしょうか?
>>
>> 以上、宜しくお願いします。
>>
>>
>> ----- Original Message ----- 
>> From: "nakai" <email@hidden>
>> To: "Armadillo series general discussion list"
>> <email@hidden>
>> Sent: Friday, June 27, 2008 10:30 AM
>> Subject: [Armadillo:03065] Re: Armadillo-500 I2C通信サンプルソフト
>>
>>
>> > nakaiです。
>> >
>> > i2c-armadillo5x0.c
>> > に限った話しではないですが、I2Cのスレーブデバイス用ドライバは、
>> > I2Cバスドライバを使用します。armadilo500だと.configから見ると
>> > CONFIG_SENSORS_TLV320AIC=y
>> > をしようしているようです。
>> >
>> > drivers/i2c/chips/tlv320aic.c
>> > にソースコードがありますよ。
>> >
>> >
>> > g-kihara さんは書きました:
>> >>  木原です。
>> >> いつもお世話になっております。
>> >>
>> >> i2c-armadillo5x0.cはarmadillo500ボードに
>> >> 限ったデバイスドライバですよね?
>> >> このデバイスドライバを扱ったアプリケーションに
>> >> 関する情報をいただけないでしょうか?
>> >> 開発をすすめることができずに大変困っています。
>> >>
>> >> 以上、宜しくお願いいたします。
>> >>
>> >>
>> >>> /home/atmark/linux-2.6.18-at2/drivers/i2c/busses
>> >>> の下の、i2c-armadillo5x0.c
>> >>> ですが、このドライバを呼び出しているような
>> >>> アプリケーションソフトはないのでしょうか?
>> >>> ありましたらご提供いただけないでしょうか?
>> >>>
>> >>> 以上
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> armadillo mailing list
>> >>> email@hidden
>> >>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>> >> _______________________________________________
>> >> armadillo mailing list
>> >> email@hidden
>> >> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>> > _______________________________________________
>> > armadillo mailing list
>> > email@hidden
>> > http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>
>
> =================================================
> 北都システム株式会社
>  第4ユニット ITソリューショングループ所属
> 山本  慎二郎(Shinjiro Yamamoto)
> TEL: 045-470-2773
> Mail: email@hidden
> =================================================
>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> 




armadillo メーリングリストの案内