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

nakai email@hidden
2008年 6月 27日 (金) 18:32:25 JST


nakaiです。

# ミスって送ってしまいました。。

これもインラインにてコメントを埋め込みます。

g-kihara さんは書きました:
>> キャラクタデバイスとしてドライバを作成すればよいでしょう。
>> opsのreadやwriteに対応する関数を作成し、登録してあげればよいですね。
>> 以前はI2C2のみに対応していましたが、今は、
>> CON16のI2C1を使用可能になっているので、
>> こちらに接続すればよいでしょう。
>> 参考:Armadillo-500-dev_hardware_manual
> 
> この方針で進めていこうと思います。
> 
>> こちらもI2Cコアの構造を理解するとどのようにプローブされて、
>> どのようにアクセスされるかがわかります。
> 
> "I2Cコアの構造を理解する"というのは、
> /home/atmark/linux-2.6.18-at2/drivers/i2c/i2c-core.c
> のソースを解読するということなんでしょうか?

そのファイルと必要に応じてi2c-dev.cですね。

>> 実際には、スレーブアドレスを正しく設定して、
>> i2c_add_driverを行うことで、
>> バスマスタに登録され、
>> i2c_probeやi2c_transferなどの関数が正常に使用可能になります。
> 
> 他のマイコンと同様に、「スレーブアドレスの設定」は
> 弊社側のデバイスで決定できるんですよね?
> 特にLinuxだから特別なことをしないといけないということはないですよね?
> 「Linux組み込みシステム(山口つかさ)」の本(P285)にあるソースをみると、
> コメントに
> ”I2Cドライバではアドレスを2で割る”
> と書いてあるのですが、ネットで検索してもこんなルールはないので
> おそらく誤植と思うのですが・・・。

おそらくR/Wビットを取り除いてということが書かれてるのではないでしょうか?
# 推測なため間違ってるかもしれませんが。




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